Submind YouTube summaries
Thumbnail for GIMP 3 0 and beyond by GIMP team

GIMP 3 0 and beyond by GIMP team

Watch on YouTube

Video summary

The GIMP team is currently finalizing the release of GIMP 3, marking a significant transition from the long-stable GIMP 2.10 series to a new version built on GTK3. This shift addresses several critical limitations of the previous architecture, most notably improving support for graphics tablets by enabling hot-plugging and restoring pressure sensitivity without requiring users to plug in devices before launching the application. Additionally, GIMP 3 brings enhanced touch screen capabilities, better handling of high pixel density displays such as 4K monitors, and improved native integration with Linux color management systems like Wayland, which was previously difficult to support effectively. A major focus of this update is the implementation of non-destructive editing through a new layer effects system, allowing users to apply filters and adjustments that can be toggled on or off and edited in real-time without permanently altering the original image data. This capability relies heavily on the GIMPgle library, which has evolved over decades to provide accurate color handling using floating-point computations rather than limited 8-bit integers. The team has also streamlined plugin development by adopting GObject Introspection, a technology that allows plugins written in languages like Python, Lua, JavaScript, and Rust to interact seamlessly with GIMP's core functionality while significantly reducing the amount of code required for common tasks. Beyond technical upgrades, the project is undergoing substantial organizational and community-driven changes, including a new flat-design logo and a more active development cycle that releases micro-uploads every few months rather than waiting years between versions. The team is leveraging modern continuous integration infrastructure to automate packaging for various operating systems and is actively expanding its documentation and translation efforts with daily updates. Looking toward the future, the GIMP team aims to foster deeper interoperability with other free software projects, envisioning a service-oriented architecture where applications can dynamically call upon specialized tools—such as vector editors or animation software—to process specific tasks before returning results to the main application.
Read the full video transcript
hello everybody um so I'm I'm kind of alone here but actually it's a gim team I represent gim team and so I like please gim team say hello yeah so and if if any of you want to say something at some point just tell me and grab the mic so yeah basically okay we we hoping at some point that we release gim 3 for GM but didn't happen uh so it's it's it's not is there it's very close we still have bugs and crushes and stuff like we are really on the last last uh stroke to um game three so well so just one slide for the game 210 which is our current stable release so basically right now we are in a state where we even said stop backporting features like it we just reled like what last week uh do 10 two 2 10 38 which might be our last actually in the 210 maybe we'll do a 21040 if we find some annoying bugs that uh we want to fix because some people always like have stong on on series uh especially on Linux because it's stable uh distribution concept especially TS so sometimes some people may stay on 210 for a few more years I don't know so that's the stable release Branch so now the interesting part is uh gim three uh that's what we are working on so like the main thing on I mean not the main thing one of the main thing in game 3 was uh moving to gtk3 uh so that's also why uh three is gtk3 and gtk2 was schemed to Al 210 210 28 26 and everything I mean I don't know if you know what the origin of gtk of course what the g means in gtk it means and tool kit so that originally comes from our project from a Time long before I so like gtk3 by itself um even though we had to add some work above it but brings us a bunch of like better Graphics Tablet support especially like it's kind of same but hot plug for instance it's uh in game two all the two there annoying steps that you had to have your tablet plugged before starting if you started if you plug after starting it will work as a mouse but you won't have pressure sensitivity this kind of stuff so like uh I work with she does like classes University with and it's always kind kind of a bit like embarrassing when the the pressure doesn't work like a did did you uh did you plug the tablet before after starting G you know like it's kind like you know so that's a kind of little detail which actually not so much little details um well we'll have touch support we kind of have in a few places but we don't have like fancy tou support yet it won't be for game three the fancy uh like you know like moving or we have rotation but not with fingers you still rotate with with like control and middle click and like this kind of convers rotational Zoom but we don't have yet but eventually we can since with gtk3 uh well better High pixel density uh spot uh you know displays uh especially for Icon and everything people have very small uh uh icons on the huse 4K monitors uh like with gim stre it's uh much less a problem even though there still a few issues like fractional scaling and everything so they still it's still not perfect but it's a lot better well on support uh for people who use Linux even though it still doesn't have color colorimetry so that's for actually we don't use W on a day-to-day basis for production but uh uh but well eventually it will go there and with gtk stre it's a native well on support and uh and caros around yeah here also BR so it's still it's related to wellan but in in Linux we have the concept of tablet pad interaction which uh like basically um you know like what people used to do is like uh so you have like a shortcut to configure shortcut like control uh control a select everything okay so what you used to do is like you you you configure like this button on your tablet pad to make a control a but now with this it's only on one on uh you can configure the button to do the action so not not needing to map a shortcut basically so which is uh much nicer it's kind of more semantic you it's the button does this action not the button does a shortcut which does a okay so yeah that's this kind of stuff um so space invasion is our project for like color correctness so we have a in uh we have this uh the giggle project and babble project which are two libraries which were born out of the game project I'm like uh well they were Bor like I think now the start because if you look at the git log it's like all like 20 something years ago for the first comit uh but with it started to be really integrated like 15 years ago with two 28 a bit 210 a bit more three even more and like and it's basically what it means is that we have more and more uh correct colors uh because of more much better support uh for uh uh like virus formats and uh and like also like um it's also it makes c a lot more maintainable because colors now semantic in our code before this we had like to move bites and like try to keep uh like the um meaning somewhere in comments or something or just know that when we only move this in this color space or whatever now the color is like a color it brings its own semantic and it's it's a lot much nicer Cod I think pipin wrote me something that I yeah like the uh the float um uh so everything internally is doing mostly in float competition and uh pipin is which is the mainten of gagle unfortunately could not come in today um he did a lot of work on optimization and he does a lot of work actually on small embedded devices and everything so he really cares about optimization so it's very it's fast stuff and like we have very fast we have as you was saying that a lot of uh type of uh stuff which are actually faster with flat implementations and when we do is uh u8 in integ 8 bit Integra computation like with with gigle so a lot of stuff are like very very good very fast and we have some LM implementation but it's like for export stuff uh eventually what we want is have CK back end um which means like your image can be like stored in cmk with cmk semantic and everything that's also some some big walk which was brought also into gagal and then into and um yeah so that's it we have ux improvements like the multi-layer selection so I know that sometime I say this sometimes some people say that's basic stuff but for it was a huge thing because basically the world Cod base was assuming that they there can be only one layer selected at one time at one point in time so basically I worked on this for like six months or something like that just like to to have uh like all code uh be able to expect that it's possible there are several layers selected what what happens then uh that's kind of stuff and uh the floting selection was like a concept which actually is powerful in some cases but in a lot of cases some people don't understand and it's just like one step additional so people who use maybe you know what the floting section is you know when you do a control a copy paste uh and then we have like this intermediary thing which is a floting selection instead of having directly a paste into a new layer or something like that and um any yeah soft proofing also there was some improvement we have now have a small welcome dialogue after an update uh of which can also there's a checkbox you can keep it at every start because it's also has this part where you can just create new image from here open previous images this kind of stuff so uh okay I don't remember what demo I wanted to do for this so so this is uh wait what demo yeah it's okay nondestructive editing uh like so okay that's something we at some point we we were like this well okay 3 is like this and 32 will have NRI layer effects but in the end someone just implemented this in studio I mean the all backend was has already been there or like built by like dozen of other developers uh for years and years uh including Mitch was my comment now also could not make it unfortunately today did a lot of work so it was just like the last part was the UI basically and which is not finished but like we thought it was good enough for games because it's just so huge so yeah and we have more nondestructive editing in the future but like that's already one huge stuff on this like this is a demo [Music] uh so basically here it's a okay it's it's a text with L world and uh where's Mouse okay so oh okay well okay un like oh sorry I don't know why so the text is I can yeah okay so I just edited live because it's actually okay I don't see where is my mouse it's actually a layer effects there that I add did in advance so like one is whatever it's called and so like it's just text it's just sorry just simple text okay Simple Text layers with effects above it so it means you can just uh switch them on off and uh you can type stuff it's it's it's all well it's layer effects you know this from other softwar but like for it's huge because we until now people you had like to to B make the effect so a lot of people what they used to do is most people most professional what they used to do is like make a copy before the effect in case they want to change Stu but here now you can like I mean in fact you can also like of course I didn't show this but you can edit edit the effect okay I have no idea where the mouse is okay here so I just do random stuff but like you know like okay stuff happens so of course you can uh just you know just so it's yeah non destructive stuff so you can edit the effect and everything yeah okay okay uh okay that's right now you saw there was a little like small popup what we want eventually is more like having the effect like a small tree above so layer which has the effect so you could also have several effects and of course I didn't show this but uh effects have mask uh uh like for instance here in this example we see the mask thumbnail here and so here the is only a part of the screen uh same as layer mask and everything uh this The Mask already exists except that right now you cannot edit it eventually we want to be able to edit the mask so of course like just like you edit your mask so that's the spec uh what we want to do eventually um yeah so lot of stuff like we worked a lot on the updated uh uh API which is uh so well all plugins will break uh like the two gim two something plugins because we we mve to like a major version so we thought okay that's a time where we want to break uh API if if anytime because we are like we are very conservative so we don't actually break API often like the normally the wall of the two series uh so like 20 years your plugin may have deprecation warnings but they won't they should still work if you rebuild them uh and that should be the same for gim 3 but between gim 2 and gim 3 plugins will be updated so uh uh so and some of the stuff we worked is like a lot of G generation stuff so actually like there plugins where we removed the uh hundreds of lines and replace by like five line and it's the same UI because it's generated from properties of the plugin like kind of stuff now we have bendings so it's G object introspection um for people in community it's like this technology which uh introspect uh from C libraries from C API into like so we we can have a lot more but that's the one basically where which we tested and know we work and we even have a demo a demo plugin for Python 3 Lua JavaScript vaa I think someone even like worked on a rust bending but it didn't uh commit it yet and uh script to is special this is the only thing which is legacy and improved a lot but doesn't use the object introspection and gigle operation uh know like G operation like very much first class citizens they can like G operation the filters so basically it's layer effects so there something very big which I don't say about the lay effects which is like you don't have like a small stupid list of 10 effects okay so any gigle operation is an effect so it means like anyone can make the effects I and just like I don't know how many uh uh effects we have by default in giggle but you have like doz of them like and and like people uh actually the one which I just showed before was uh like the gigle style stuff is like someone who was making a lot of effects who still makes a lot of effects and this one was in the end like cleaned up and included as as gig but was like so but before this it was external so yeah so that's that's actually a very big stuff and you don't even also you can even put them in menus now we have some metad data so in your gig effect you you have some metad data where you say why you want it to in G Manus so you can put it and you can search for it and yeah so that's important stuff uh yeah sure was that's that's yeah sure yeah yeah yeah because when you used to okay like the old style it was even before to10 right um people used to have like ggle plugins and so if you have a UI dialog and you put settings and you say okay and then it's it's yeah or sometime you have like really small PR like on on the dialogue like something like is it good you say okay and then you wait for 5 minutes and then you get the result and say ah it's not good control Z like undo and retry everything so okay so giggle operation is as you saw here it's like first is fast if you well if you do good code because it's still code so uh it can be fast and giggle by itself is very good giggle is like you can even work on image fast bigger than memory because it's it's handles the all step for us so it has back end and everything if it's bigger than memory it just goes uh to a a dis back end basically uh but you don't we don't even have to handle this kind of stuff but that means that you can work on very huge images and Liam is an example of such thing because uh is like uh is scanning documents in like huge huge stuff which are like bigger than the memory that probably all of you have on your computers um so but the on that's the kind of stuff which are not a problem at all it become slow slower of course but it's just doesn't crash and it just works so yeah as I say like yeah GLE is really really fine uh fine uh software okay so demo I'm not sure what uh so uh well what's H oh it's it's more in future I mean even though it's present also um so basically a lot most stuff Games 3 is like a huge huge walk field so I only put some of the like most like fancy stuff and uh and so basically what right now we end up face well I do a lot of BG fixing and like some of last user interaction like stuff like we say we're not really completely fine with this to to have something clean and like neat and API stabilization so the API still changes right now because there are some stuff as I say we care very much about uh um uh backward compatibility so we are breaking now kind of widely the API right now but after this we care that we won't break it so that's why that's one of the big issue right now the big stuff is that we want to have like uh good enough API that after this we we don't feel like we made a mistake uh uh so uh so that's one of the big stuff that still has to is happening right now uh yeah and we have also a few space Invasion fixes even though this can also go later because that's just long-term project the space Invasion project started like 10 more than 10 years ago so I think in 2012 started uh yeah around because it's not only called is like a big community so so one of the thing you may have noticed is that we uh uh change the logo so that's a project mostly led by Arium here and uh but was a team project because it's very important for us that stuff we was made as a team and during meetings and uh exchanging stuff on IC and everything so so the IDE was so that's the old logo uh and that's the new one okay so it's flat design like you know new trends and everything uh we have to go flat and everything so so this and the brush is also a lot smaller because they were like a few design issue is the old one for instance the long brush made that uh if you do a square like this actually and you put it on the other logos of the same square uh logo you seemed very small that was like a kind of design book like and some people were like we had reports about this like people make screenshot Zogo in in Windows for instance where you have like squares like this of all software of the same size but like it looked like you have like a very small logo actually the fight was the same size but because the brush was too big they were like space white on on right and so it looked small and well and um yeah but we it was very important stuff that it had to stay so to be something simple very few colors but also keep the same uh like recognizability we didn't want to go to like something uh completely different uh that was uh and also a lot of people in the community like the logo like Wilbur it's called is called Wilbur or she we don't know um it's non she she is they are nonbinary so uh yeah so versioning uh we had this thing where kind of semantic like versioning where we um M so it's three numbers right uh so for the next one will be 3 Z so the micro version the last one will be only bu fixes the minor version will could be have new features and so micro version basically it's my gtk update um so we uh we kind of broke this into 10 on purpose because people were like oh I are no new updates in six years or eight years like for instance 280 was in 2012 and uh 210 Z was into uh uh 19 18 18 so six years there were actually a lot of updates every uh every two three months we have updates but this bu fixes so people kind of like when it's a bug fix people think it's it's not work so uh so they consider that development was dead so we s okay like for 210 we started to do like we also bring new features even in micro so every few months we had new features so now for 30 we getting back to uh the same logic as we used to have except that now basically we are targeting the minorities so we direct Target 32 we may have like micro releas with B fixes only and uh uh yeah and one of the thing which also makes it possible is uh the infrastructure we have a much nicer infrastructure nowadays with continuous integration and like packages in uh Linux windows and everything and uh and like when we make a release it was like all made by hand with like we have long list checklist uh like this no uh no we have the infrastructure which makes windows packages and uh table for sources and I have script to to text directly from cons integration and and send them on the on the download server and everything it's it's which makes which allows us to do much faster releases yes so yeah um much uh nicer also like mirror infrastructure now which uh with GOP with it's my mirror bits which is a program by uh by the VLC team which you may know I guess everybody knows VLC and uh so yeah and we have big committee or someone like recently updated our books page on the website which was kind of dead until now so I made some script and um we kind of organizing in Gan stuff like with generation of the HTML so it's easy to count the number of good books and we had like 349 books which were reported to us so probably a lot more uh in like a dozen of countries uh and just for 210 apparently at least 44 books at least 44 books were reported to us published of about on to 10 so yeah we also want to try to do more SP screen like we used to only do them uh on the Min verions uh well we could KN might every every few months but like before this means spash only change every six years or something like that so now we want to like feature more different kind of artworks illustrators photographers these designers and try to to uh find and change more on the splash screen so yeah okay that's the fing is uh we try to organize ourself um I wanted to announce stuff but it's not ready yet so I'm not going to just is work in progress and we hope that we' be able to do something uh uh nicer to like kind of uh grow but uh kind of we are something which is like is very much a community project so we're not company something like and we don't want to be so that's something which was the harder part trying to protect this by allowing us to grow and maybe someday we'll talk more about this part so we getting uh we in the last few years some contributors kind of walked a bit away even though they still around but uh but we also have new contributors coming in lately uh so um uh like Bruno Lopez is doing a lot of stuff on packaging like like Microsoft store and even made app image but also lot even just con integration stuff and well next is main jaob main of the gim documentation which got a lot of love lately it used to be kind of not in such a good State except for translators we always since we r on Gom infrastructure we always have translators but the script and the contents text part was not SE Scrat shape but jaob really took this over this and it's getting a lot nicer now we like daily daily updates on the documentation on docs. g.org is daily updated and everything and and uh yeah and the where is Alex SI is like one of a Google Su of code uh from two years ago he made two Google some of code as a contributor student and know he is here as mentor and uh basically lately is after me a biggest second contributor and uh yeah so we kind of get a nice team uh so the future uh well we have now on this on the website we have developed a website now we have actually I broke the road map in small Ro map because so say is a community F and what it means that we don't have like a hard road map where there's not someone who decide for the others where really it's like road map is more like the other around people are interesting stuff looks something will happen so we say then we put it in the rad map to to say that to show people but it's in this way around so in the rad map I kind of have this small part which are basically interest of current contributors so like uh more n destructivity like like uh we I worked stuff on link layers and everything and which basically are are layers which link other files and uh uh well space Invasion will always continue better tort we have like uh another Google some of uh contributor who is Al is doing now his second year and we did a lot of nice stuff with textle like uh Liam already talked about him a bit in this uh talk yesterday so uh and he's doing again and that's his area of interest and so it's very hopeful that uh text tools uh and text rep in general because font and everything is where like a lot of stuff were bugged in our in our dependencies uh some part are not that maintained anymore in the dependency like and we kind of walk around this now with custom go code basically so they are fonts what which went uh uh loaded now are loaded and in a bunch of other free software they rely on same dependency and yeah and but for us it works for others no uh yeah so ux Improvement that's something we really care about so we are really working on like and uh actually it's a lot with ar since it's will be the next talk we'll show a bit what we do and uh so since I I work with someone who actually use a software every day every hours a day uh well uh I get all the complaint possible so so yeah so that's something we we like just try to improve the software to make it usable so yeah extensions that's something which we want to make even an extension platform eventually where people can like Firefox you know you can install extension in single click and install update and search extension that's something we want to have in game to yeah lot lot of stuff uh animation of course you will see in the next talk animation game oh yeah oh that was an very old video I had like it was like from 20 220 I but uh uh basically link layers I so like you can have you can link to another image and then you can update it but okay so the first part is just is just a PNG so it's not interesting but just after this well but okay I save it and then okay and then I get it it's updated here okay but that's that's annoying part but most interesting part is uh like you can also like load for instance uh Vector images which I do and uh and so like after this I will open inscape I can modify the image in inscape and uh and it automatically updates in my layer here live uh that's all Liv that's not not trick right and uh of course it means also like the layer I can scale it it will always be nicely scaled because always scale from the from the uh original vector image so uh that's kind of uh so this part never went into uh because I never refinished all the little details and I went to like more important stuff but that's the kind of stuff that after three game three is probably it will be in game two three 32 I hope uh this kind of stuff and um we'll also have probably a vector layers which is like a Google some of C like like more than 10 years ago was started and it kind of bited in the branch but like um well Alex I think or maybe someone else uh one of the comp recently tried to took over the branch and and made it work again so that's the vector layers also yeah here I shows that yeah so that was very old video but uh it's in still in a branch and yes it's um okay and um as CX is like so pipin uh beel and uh gigle m is what name is it okay uh pipin uh Bon giggle Manna is also like his last baby right noise called CTX it's basically a vector Rend Library well probably won't be happy if I just say it does lot more more stuff it does a lot of stuff but uh like yeah Vector end basically for us and um and I will show you [Music] something okay so okay so I just show you this basically he sent me this script okay and uh yeah just show okay few can I zoom in in a text file I have no idea Control Plus Control Plus but just a script control no it doesn't it's non text I don't know how much Fe there is uh okay zo text so text I not I don't remember what size it told me let's say full HD bit okay so so there is uh okay so there is this uh setx script uh so it's a gigger operation which itself uh uh calls setx as a back back end so so G operation means a filter right so you have this uh it does some stuff because there's a default script in there and uh uh so he prints s CTX logo where is ah sorry okay where am I okay T contrl C if I can find my mouse I have no idea it's here control D okay and this and like so it it print this stuff and like this is a play button okay so so this is like random live uh uh by just part of oh yeah sorry so so I will just write uh read what people said while you watch it it's time to teast the de demo Gods uh unless hasn't been live live demoing before it's already information dance um okay sorry maybe this is not interesting uh so it says yeah currently CTX as currently B bundled with gagle doesn't take advantage of of sim which processors uh how do you call Sim Sim simd simd yeah yeah a acceleration so so it could be even much uh nicer uh it doesn't have like the micro C flag set so it can be a l better like so what's is demoing that is doing a lot of animation and everything with text and the vector it's basically all Vector renders like live live demo in this script here so um as I say like it cares also a lot of about optimization like he he does most of his programming small microcontroller cards uh which have uh like just no memory and no no processors I mean very small memor so like that's why giggle bubble CTIC and everything is very well optimized so yeah that's a that's part of the future of this kind of project uh because we really consider that all the giggle bubble CTIC are part of the game project right I think it's finished right okay oh yeah because I'm on the okay let's go back but that's basically fin oh yeah in future that's something which is which uh which are very important to us is uh I would like eventually that's also why I loved uh the workshop we had yesterday with organized by Liam is that uh I we do believe that uh like the free softwares Graphics free softwares all non Graphics sofware should work a lot better integrating uh with each other uh like uh well Alam used to work for for 10 years with appri software like a famous very very famous Suite that doesn't need to be name I guess and uh so one of the things which she really miss is uh uh well the well integrated part you can like have files and like bring them elsewhere and it does the right thing or and uh and that's really something at some point uh right now we don't have a lot of time which is why I didn't uh Focus too much on this in my development the last few years but that's at some point when I get to free some of my for this that's something I really want to work with other projects so really like like basically what I showed before is like oh I'm working on inscape and keep in the same time and this kind of stuff is a something I want to do but even more like maybe like a service where like a software could call another one we do have something like that with duct table for duct table and Ro therapy for instance for ra development right now when you open uh raow image in it actually calls duct table Road therapy you do your Ro development in there you close and Road therapy send it back to so right now it's all done like by because we all friends so they make special um um flag for us so that uh we can they know we can call them and they bring us back the image but like we love to have something like more generic like a service you could like a software could like CR maybe will say oh I'm able to process uh r images and incap say I'm process Vector images and kind of stuff and like cool like any software could like call and say I want this uh R IM to be processed and brought back to me after this and then you say oh what what do I have in stock for you or which one do you want to open this kind of stuff that's really that's the kind of stuff we really an animation too like G pass some animation we use a lot blender too like sending uh and like editing in but video part editing blender real time no no silly exports and everything and uh uh which waste a lot of time like this kind of stuff which is from for us something which really want at some point in the future yep and that's it