 Hello. Welcome everyone. Oh, it's down. It's on. Jack, actually you're going to be the one starving, so please. Hello, welcome to our presentation about the geometry notes development process. So you probably all know that we started with the project like two years ago, and since then we have seen lots of adoption in the industry and from individual artists all around the world. One of the recent highlights was the use of geometry notes in the RRR movie, which is actually the biggest Indian production sofa movie production. And they used geometry notes extensively for distributing assets all around the scene. But first a bit about our team. Here on the left side we have Dalai who is joining me today. He's our product manager. He's mainly responsible for making sure that our priorities are in line with what the studio needs and what the stakeholders have in mind, like mostly Tom. Then there are Sans and me. We are the developers, mainly responsible for actually implementing what we have designed, making things work inside of Blender. And on the right side there's Simon who is an artist working for the Blender Studio as well. Usually he's the first person who tests our patches and gives us valuable feedback on what problems he runs into when he uses geometry notes in production. Here I had a classroom earlier today. You can watch it online if you haven't seen it already. But then today we want to talk about how we got there because it wasn't a straightforward process. Like now we have a team and everything, but just like two years ago it wasn't the case and we want to tell the story of how we got from the time before geometry notes and there was a long time that I will tell today and into the future like how the process changed, how we managed to get like geometry notes that is today and relatively little time. So where does it begin? It's actually quite hard to define where the overall project began. Like the idea of everything notes is kind of old already. Like the earliest mention of it that I found was from 2012 and even on the Blender conference in 2012 there was a talk about particle notes already. So yeah that didn't lead anywhere. Then few years later I started working on the animation notes add-on which like brought proceduralism in many more hands of Blender users and there was some new hope for the everything notes project when I was hired by Blender in 2018. But actually for the first few months I was mostly helping out with the Blender 2.8 project doing bug fixing and everything until 2019 when I was able to dedicate some time to the everything notes project but at that time we didn't even have an idea of what we actually wanted to do. So I was mostly tackling on my own some like more generic topics like what could the future of the modifier stack be or what kind of mesh data structure would we need to allow procedural workflows. But then a few months into that we wanted to start an actual project and we mainly wanted to decide between like particle and new particle system or procedural modeling and now in hindsight we kind of know that it would have been better to start out with procedural modeling but back then we had to decide and there was like on the one hand procedural modeling which would have been nice but the Blender Studio they didn't have an immediate use case for it whereas for the particle system for years they were struggling with the old particle system running into all kinds of limitations and then even other developers really wanted to get rid of the old particle system so much so that in the development of Blender 2.8 the entire particle system was removed at some point and then brought back a few days or weeks later because there wouldn't be any feasible replacement in time so that's why I started out working on particle nodes so the project went on it was mostly just me working on a design then writing a wiki post about it asking for feedback and on dev talk gathering some community feedback and then updating the design, bidding a prototype and so on and so forth a few months into the project I actually presented the current state of the prototype to the team I had like a 90 minute session with all the artists working at the Blender Studio where they were trying the system and generally it was like kind of fun to use they were able to create effects that they couldn't create before and so everything was well, it was good at that time I was staying in Amsterdam for one year and after that I was moving back to Billions working remotely and so I just continued working on the system improving it over time just a few months later I came back to Amsterdam and we made a plan for how do we want to get particle nodes into Blender into the actual master version not just as a separate branch so we had meetings with Dalai and Brecht and some others probably where we made a to-do list and then for the next couple of months I started working on that and we actually had particle nodes in Blender as you could enable it as an experimental feature and then when it was about the time to decide to actually enable it when I was back in Amsterdam we kind of couldn't agree on the high-level design anymore or there was not really a high-level designer for everything fits together okay, we have a particle system but how does it integrate with other simulations or with future procedure modeling and all of that so since we didn't have that design we didn't want to enable the system anymore and the project was set on hold and now we're in a kind of difficult situation because we wanted to do this Everything Nodes project but we were kind of back at the beginning at the design phase and we had to decide how to continue we also noticed that other projects that were planned had similar issues like this is the big planning sheet for 2020 and there's like one row for the entire particles project that I mostly work on and then there's for example a row for the hair project and it was all planned out none of that really happened in the end and you can also see that for every one of these projects there was essentially one developer assigned to it and that turned out to be one of the issues in the end because if you assign one developer especially if the developer is working remotely it's kind of an isolation and it's hard to find the right balance between getting feedback in thinking about the entire design when you're working on your own extension you're responsible for the entire project so as mentioned it would like looking back now we now know that it was probably not a good idea to start with the Particle Nodes project or to develop it that far without having the entire picture in mind and now we're at a first big pivot point where we had to decide do we want to continue the design of the Particle Nodes project or do we just forget about that for now and start something completely else and that was kind of a tough decision to make and then in the end we decided to go back and re-evaluate our initial assumption about that it would be better to start with Particle Nodes and decide okay let's do geometry nodes instead and then Dalai also talked to Andy about it like what needs that they actually have in the past of movie projects and then figured out that when Andy was talking about the Particle Nodes that he really needed a new Particle Nodes system he was mostly thinking about scattering things whereas when I was thinking about Particle Nodes it was mostly about points moving around reacting to events and everything that was kind of a fairly big misalignment that would have been solved by having a better shared mental model of how things should work so we tried to address that and that's when we started building a team and then Dalai would take over and talk about how we tried to improve the process from there with everything we have learned so far Putting together a team wasn't about just adding more people to the problem one of the problems that was highlighted on this 2020 planning that we had too many projects running at the same time for people working by themselves and that doesn't scale and doesn't make sure that everyone has a full autonomy to build everything they need to build so when thinking about the team here at first I got together with Irun Irun is one of the developers at the Blender Institute and he has an experience in working with Scrum in the past and I said let's try this Scrum thing I keep hearing about there was some buzz through some of the HR consulting we had at Blender at the time and what would it take for us to try this new methodology first we did a team that it's not only about the amount of people but about the different skill sets they bring to the table so sure, Jack was a naturally deleted developer we needed more hands on board Hans was someone who was already involved in the user interface part of Blender so you just invited him over at the time we tried other developers there was more rotating seats we had Sebaz, Sebaz and Paarbor then we had Pablo Baskas helping with UI and overall design testing and we have which for me is the most important role in the team which was the designer the feature designer was the role played by Zimon, Zimon Thoms you might know him from the overpacked jump to notes training session we had earlier today and it was a must for the team having him on board and made sure that every step of the way what we were doing was validated in production was literally production ready because you just take that and use it right away I was at the time playing the role as a PO, product owner is a name within Scrum but as Jack said is also a product journey for myself I was like learning on the way and we were all just trying to bang our heads together try to build something better and then a few weeks later in the early October 2020 we officially started one thing that you know we know what happened in 2020 not only there was COVID there was a tone getting his leukemia diagnosed, he's super fine but the year itself was very erratic so a lot of the planning that didn't work before was also because it could have worked if everything went according to the plans but guess what we cannot predict everything that's going to happen and then we tried something different let's work in those very small incremental intervals is the Scrum methodology let's get together everyday for a daily this was also important because Hans is in America Jacques is in Germany the rest of us have been based here in Amsterdam so we had to build a sense of communication shared context we had sprints of one to two weeks so we will do some planning but not a plan for three months down the line let's try to do something and let's see how people react to that and we started from the right beginning to try to work with the studio for their upcoming project at the time was a sprite fright to see what we could build that they would love to use this was a bit of a mental shift because the Blender animation the Blender studio has to use Blender for everything they do not that they have a lot of say on hey I don't feel like using this tool today but this is a bit this is not the best way to build a good relationship with the people that need what you're building let's leave the existing particle system there we're not forcing anyone to switch out of it but what if we build something that's so compelling and so designed to address the needs they have that they'll just have no choice but to switch to that this was early October eight weeks later we basically finished the jump in those projects so to say so one of the problems we had in Blender before with planning that we also had those projects that were going on forever Jacques mentioned the simulation of the particle project was already going on for almost two years we had the asset project in a similar situation and so on on so we said you know what Tom we're gonna work in a team don't worry we're gonna finish the project in two months and we did but there's only so much you can do in two months a lot of this of course was already very impressive we already had pebbles scattering working at the time we had basically different system interacting with each other and a lot of this was possible because of the work previously done by the particle simulation project so just we're building on top of that we also a knowledge that this is finished this is much already I think we are already master at the time of the gas so so people download Blender could already use this sure it can only do five things but those things are supported and they're supposed to work nice and at the time you also wanted to build the trust from the leadership from the stakeholders it's a path to be walked together now we want the autonomy but we need to kind of show that they can have the tranquility to trust the autonomy to the team so we're discussing at the time it's easy if you'll just watch this later on YouTube we can see the text but basically we're like should we go for procedural modeling should we go for hair what not or can we continue with what we wanted which is to wrap up the main use case for sprite fright and address some usability issues it's kind of what we went with shortly after so this was two weeks after that email so I read in the second big sprint we had and they officially started to use jumped notes for the sprite fright project which was a big thing for anyone that you have been using Blender for long enough no what it meant with the old system you had to rotate things in strange axes being the origin if you were to change anything in a corner of the world it would affect the distribution of everywhere else so for it was a big victory we mentioned that this is a project that's been going on for two years but throughout the way we kind of tried to celebrate those little wins and in the course of one year so when we started in Amsterdam so late October when officially started the jumped note projects and when sprite fright was released we managed to officially have the debut of jumped notes shaping up to what we have it today we had the first Blender release in 292 we have the splash screen with the arc of Irondale finally see you here it's probably an alert the file doesn't work anymore because we changed things drastically afterwards and we have the celebration of sprite fright using that in the production and sure now we have a feature films using it but still at that time this was mind blown a lot of this is not by chance right from the beginning we had the schedule of this sprite fright project the production and we had access to this every step of the way so this is 2020 and you can see we knew when set layout, set design was going to finish so we say ok so anything we want to do regarding set dressing should be done by that time oh we know they're going to do some character some VFX oh if they want to use the jumped notes for VFX then we have to do our advantage so it's not a set on stone planning but those are moving targets we realized would be beneficial for us and for the project and then of course for Blender at large to pursue for anyone that hasn't seen sprite fright go watch it, it's on YouTube and originally we tried to be at the same time cautious but ambitious like looking at the story board production of the project what could have been done with jumped notes there was not even such a name at the time but what could be done procedurally what could be done with better set dressing tools the obvious case is for indeed set layout we thought maybe we have a lot of spider webs there's some bird with one of the characters there's some very ambitious VFX like the hairspray some crawling snails that's like let's not go that far but let's consider what if in the end everything but the hero assets so the bird and ass and the spider web in the end they wanted full control so it's so called hero props but everything else was used to jump to notes you can find a lot of those files online and as part of the sprite fright production this was for me one of the first surprising uses of jump to notes for me it looks like people working with metaballs but in like on Easter Royce pretty much and then Simon was already a very accomplished know the artist I don't know if that's a name he's a great of shaders and everything else and then he started to get the hang of the system and so you know what I can do that jump to notes what's his talk name and then he was already doing the VFX for that in the end we didn't have a crowd simulation but they have a crawling simulation in the film and even though it was a close up shot they end up using jump to notes for the snails to individually interact with the body of forgot his name Rex and to top it all off top it all out Simon even used jump to notes to help with the noising at the time Cycles X wasn't merged into Blender so some of the shots using the old cycles were suffering a lot from noise given the render time we were allowed and basically he had he did this used jump to notes for some things we even even considered before I see some people know what they're gonna talk about here as I mentioned already when I mentioned the splash screen I mean not everything is you know just a walk in the park or not everything is perfect right and of course we're telling a story here which more highlights the good moments but it's also important to be grounded and remember that a lot of things didn't go so well or rather a lot of things had a had an impact and had some friction throughout the way one of them is the attributes and the fields right in the beginning the Blender jump to notes design was very simple we have a jump in, a jump out and everything else is a black box we had this mental model of a spreadsheet of vertices and attributes that's called UVs, position rotation and it was beautiful, it's very elegant this comes from Tom a lot of days however when artists and this was also very data flow oriented you know data in, data out data in, data out but when artists started to use this for their production files you know to really be constrained to a pure data flow pipeline for notes first gonna lead to this very very horizontal spring of information also means that any data that you need to create in the beginning of the node tree you need to find a way to parse it all the way to the end of the node tree leading to a lot of cluttering and loss of readability in the node tree so we said okay we already have people using this for production like all the entire of SpriteFright was already built on top of those assumptions but what it take to rethink this now because we are knowing something for the next 10 years at least and this is being like this was 6 months in like 1 year in the time we can afford to use to our advantage we even consider to be backward compatible so to say so we could convert the old files we had a little poll in the dev talk in the one of the development forum channels and people said you know what it's fine you don't need to worry about that because this was working for the blender 2.93 which is an LTS so we knew that if you have a production file that was using the old pipeline it's okay it's going to be supported for 2 years and for anything new we start let me tell you how you're going to do it from now on and we tried like we really tried different ways to persist on the data flow these are some of the examples at the time we are sharing a lot of those in dev talk again we have some prototypes and this is one of my favorite ones have the expandable socket that you could just get the data there I still like it we ended up landing on what we have today is the so called field design I won't go over it specifically you can read all about this on the blog it's also what we have in blender and let me be like come out in the public and say that for so many times I will say like I hate fields I said that so many times to Jack and Thomas I hate it because I know it can work but also know that it's mind boggling and it's going to be like poor people but it's it's always a trade off so it allows people to do more and if they know what they're doing it's even more intuitive it just has a mental model which is more abstract than data in data out which we see everyday now we talked about pivoting here we're going to be mentioning two more pivots at least in the course of this talk I think for all of them and that's something that is important throughout the way which is about checking the assumptions check what exactly and this talk I had with Andy that helped us with pivoting with like Andy when you're thinking about the new particle system what does make you excited about it what is it and then like it was just that dressing that simple because in every one of the open movies there is one massive VFX simulation scene and you know what he made he's already made his terms with those problems it's always going to be a pain to ask one day we have a better simulation system in Blender but what goes everyday right from the pre-production all the way to the end is this set dressing so checking the assumptions and an important knowledge that having not only jumped the pre-jumped nodes so the simulation particle in Blender helped us to move fast but also to decide to do something integrated with Blender right from the beginning so we didn't have a new stack of effects to run in objects we didn't have a new system we just have a new modifier and that's why with only a handful of nodes people could use every other modifier they were already using it and already doing very powerful like three generation right from the beginning so it was very important throughout the whole process and the communication with the stakeholders I still believe the field changed so when you had this big rollback in terms of design could have been not avoided approached early on into the project a lot of this was still a mismatch between the stakeholders vision and a little bit what we're building and it's also our mission maybe this was part of my work to know when to really bring everyone that has a say in the process to really look at what we're doing so they can sign off for the better but no no come over I'm trying to think of a good segue but sprite fry was finished and Blender is an open source project that needs this reason to exist is a community so how do you transition from having this closed interaction between these people working every day together to be more approachable and more accessible for the module maintenance in the long run for that hunts please so Blender already has this module system there's modules like the animation module or the user interface module and they're each working on their own area of Blender and they have autonomy to some extent to decide what happens so the natural owner for the geometry nodes project is the nodes and physics module because it's sort of taking modifiers and making them more general and integrating them with nodes so that's where we took geometry nodes project and it's sort of like how do we continue the geometry nodes project even though it's done I mean that sounds weird but really the sort of core implementation of geometry nodes as a new concept was finished it existed but there's still so many more things that it needs to do even to this day I mean geometry nodes isn't finished but the core implementation of nodes dealing with geometry is done so that's where the community comes in because you know two people can't do everything by themselves obviously so right from the beginning we had people committing smaller nodes or smaller changes to existing nodes or changing the UI to make it more friendly and everyone out there can see things that we couldn't see so part of what we needed to do was make our decision process more available to everyone else and that's sort of what you can see with the work board on the left so there's all of our bugs and all of our tasks and on the left is really important because that's the community tasks so that's tasks that we have sort of talked about and decided that okay we sort of agree on the basic idea here anyone can take it from here anyone who can well write C++ but and then in the middle there's our module meetings so every two weeks we or maybe it was one week at the time but every so often we'll meet and then get more people involved be noticed we did the dailies but someone who's working on Blender as a hobby can't join at you know seven in the morning or three in the afternoon every single day so that every meeting every two weeks makes it possible for people who don't have as much time to still be involved in the project so these are some of the patches I think in like maybe early 2021 there were already people contributing and some of those people are still around contributing to geometry nodes today we owe so much to them and the different perspectives that different contributors have because like I said we can't think of everything and one great example is the curve tools so this is sort of so hmm okay I came to Blender obviously a continent away with a different perspective because I hadn't really been to the Blender studio so I had my own interests and one of them was curves and turns out curves are really useful in a procedural pipeline because they're like wires, paths, pipes they're all curves and you need those so much when you're doing anything with geometry so combine that passion with contributors who can add plenty of these nodes and we had support for a new object type in geometry nodes so we already had the mesh object support we already had point clouds which was sort of a prototype from two years ago that we could use in a modifier stack but we have this existing curve object in Blender and we have edit mode so we should just be able to use that with geometry nodes so we made a curve system because the existing curve data type in Blender is sort of limited it doesn't support attributes which means yes you can set the tilt and you can set the radius and you can set the soft body weight for every single control point but it didn't have this idea that was essential for geometry nodes where you can add any data you want so we added a new curve system and it turns out that the curve draw tool and the curve pen tool are so much more powerful and use so much more than we ever imagined this is one example a city medieval city generator by Ellen Wyatt where you just draw a line and it creates a medieval road and then you draw another line and it finds oh where do they intersect let's put a plaza there and it's just magical all of these things are just two strokes drawn by users and that's sort of that's where the power of a node system comes in because with every new node you're not just adding the one feature in the new node you're multiplying that feature with every other thing that was already possible and that's why you can make a city from scratch and you know we could keep showing this sort of thing there's this river generator that was going around on Twitter recently and then there's more stuff using this curve draw tool you can make chili peppers you can make roads with lampposts spawning on the sides you can make paths for cars and so on so to recap we can't imagine everything people want to do that's why there are 100 people in this room and sometimes you get lucky sometimes the curve draw tool is so much more important than you ever would have thought and when you use existing features and you don't make a new node system that can't interact with modifiers but instead just make a new modifier things can be useful much earlier on and turns out that communication with the community as part of the core process is really important and also nodes they're very atomic so you can have 10 people working on different nodes at the same time and they're not necessarily editing the same files so the node system lends itself well to the open source development process okay so I mentioned geometry nodes was done as a project so we needed a new project and we keep coming back to this particle system which is a little bit awkward and limited and not quite flexible enough but also the sprite fright project sorry not sprite fright project heist had this idea of a main character Anar who has this scruffy beard and wouldn't that be a great thing to do with a new hair system so it turns out we've been working on curves for a while and what is hair but just lots and lots and lots of curves so you know the geometry node system could support hundreds, thousands of curves but once it started getting to hundreds of thousands or millions then it just slowed to a crawl it was way too slow but it turns out Brecht years earlier had made a prototype for a hair object and that's just a really efficient way to store lots of curves but if I went back a few slides you could see all those curve nodes and they weren't using the new hair type so we went through all of the existing nodes and converted them to the new hair type so that's sort of one of the pivots that I mentioned where we really have to go back to thousands of lines of code and make it more efficient you know 10, 100 times faster and that's when you can start to edit 100,000 curves and use the existing geometry nodes pipeline with them so this is the main character Anar and you can see all the different curves, objects and there's the s there rather than curve which is the existing object so that's a distinction we're going to try to remove as the old curve object gets phased out and is replaced with curves because what is it the existing curve object can already fit multiple curves so that's the idea and then along with the geometry node support we needed a way to just interact with this new system directly because yes one place we could have started was let's add geometry nodes modifier that you just add to an object and it creates a hairstyle and it's automatic and it's all procedural and magic but that doesn't really work when you're in a production and you want to move this one hair out of the way you need a sculpt mode to interact with it directly so the new curves object support sculpt mode and then there's a bunch of new tools that we implemented and then we were working so at this time I had went to Amsterdam for the first time for a couple months and we worked really closely with Jacques and the Bunder studio and actually Andy who was sculpting character and Simon who was making these procedural tools with geometry nodes and when we made a sculpt tool and you would say well it's not quite strong enough or I think the smoothing should work this way and that's how we made something that I think is useful for what it does and you know it's finished the curve sculpt system is finished obviously this is where the sub-module comes in again and takes these features and you know rounds out the corners and makes it possible to do to sort of fulfill all these other ideas but at the time Jacques and I had been working on this for a while you know iterating on these sculpt brushes and it was good but we were missing something and that was sort of the idea of making tools to make tools so when we iterated on a sculpt brush we made the sculpt brush better but we didn't make like many new things possible and that's what happens when you add nodes and when you add an asset system to bring node systems to more people so we had a retrospective going back to this scrum agile methodology we were like okay what is actually what are we passionate about what do we want to do and we thought that maybe it's actually we want to focus again on nodes and so nodes should come to curves sculpt mode you should be able to build a sculpt brush with a node system we should be able to implement curves edit mode with nodes so that just takes us back to building tools to make tools and it makes us much more flexible in what we can implement and so to wrap up the curve system the hair project use geometry nodes we weren't building something entirely new the communication with the studio was essential to make something that's actually useful for real people and we can be happy and implementing stuff that people like but we can be even happier if we're expanding what Blender can do in a fundamental level so from here July we'll talk about what's next the final part of the presentation I just want to add something about the happy can be happier that's something I learned from Ed Katmow has a fantastic book called creative ink and he mentioned that during story story 1 everything was fine and a lot of the team decided to leave afterwards part of the production team I thought everyone was happy we were building something fantastic groundbreaking we can endure a lot of shitty conditions in the process of doing so so oh my God and this for him is one of his blind spots he didn't see that coming and for me the same I was super excited Hans came over for a few months to build the new hair system which is something which was a long long way coming and then suddenly I could see that I think it was particularly Jacques Jacques was more like less motivated I could see that let's get together, what is it how come you're not so excited and as it turned out he wouldn't complain he's still doing something fantastic and doing a lot of sub-automated working conditions but what if you can make the best of both worlds really really is good for the community and for the people working on it and what happens next how can we go from this it's a successful project in terms of adoption but it's kind of a bumpy road can we use these to other parts of Blender can we continue to innovate interesting enough one word I have here is the cross-pollination this I got from Bees but also from Spotify Spotify has a very famous video called the Spotify engineering culture it's a master class on scrum on how to actually work in a company at that size one of the key getaways from that lesson is about teams and how the teams get to interact with each other how each team has its own autonomy but they naturally cross-pollinate and adopt the good practices from the other teams so the moment we had to switch from a more scrum-like development to the module kind of development we say ok we need more well structured meetings how do we do that the animation module is already doing this for once or two years let's just copy that format there were also other projects which throughout those years were also trying to start working with a team and we know they were also then using a lot of the things we are promoting and trying ourselves the other thing is what I call steam rolling so I think it's a natural process we have a team working together people see how this is received and the colleagues start to I don't think they get jealous they also get contaminated it spreads out to the whole team like oh I want also to do something exciting I want to help building Blander as a whole but it's important to remember that we are not building one part of Blander in the end of the day our mission is to make Blander as a whole better so we are making Blander better and that is something that spreads to the rest of the team and then we managed to take the needs of drum-to-nose up to put some of those long standing projects back into the agenda who here was on the talk in the morning by Zugamaster on rounded caps a few people in the very end he was trying to find round caps and ways to do that nicely in Blander one of the solutions is with drum-to-nose but it still would be nice if he wouldn't have to append drum-to-nose every time he started the project so and it's something we have been promoting we want more people to use the asset system so they can reuse drum-to-nose it's made to be reusable to be very nicely encapsulated you know abstracted away functionality that you can use in multiple projects so you know what let's build on top of the existing asset browser and why not we have drum-to-nose in the add menu if they happen to be in your asset library so this for example is something that's happening now we have a patch it's going to be part of Blander 3.4 so any drum-to-nose system you have in one of your asset libraries it just seamlessly integrated with the rest of Blander similarly we also had other long-standing projects like the Blander project which is for allow for a something like Sprite Fright to have shared settings shared asset libraries that can be used for the whole production but we never got to prioritize this for Blander because I can't guess why but we never got to that but because we want them to use more drum-to-nose and we want to use drum-to-nose as assets that means we want them to use the asset library which means the asset library needs to be able to link assets and not just append and for that we need the Blander project just kind of this dependency chain that you know it helps to have a project that's just steam-rolling hey we need this let's try to gather resources and try to make everyone else also excited about this the other is the brush asset the old brush manager now we're calling it brush asset which is the idea of having you know brushes in Blander which are not in our Bland file but they are a spot of Blander and then if you want node-based brushes we need a better brush asset system so this is the latest greatest thing we have been doing at the Blander studio I'm due to write a blog post about this so more people are going to know about this soon but here's more to illustrate how one project can really trickle down into everything else and every one of those projects like the principles we follow are very simple and it's something that Blander itself always had but with mixed results but really try to be incremental try to make something that's always working we are working on master right on the third or fourth week of the project meaning that everything we did had to be finished in the sense of had to be documented, had to be working already the UI had to be with all its buttons working and this is the opposite of batch designing and batch building when you think okay those are the 50 most important nodes now let's build every one of them at the same time it can be efficient but in the end of the day might never get you to the point where you want to go, it can work sometimes not always the teams aspect I mentioned and again it's not about the amount of people but about the expertise we needed to make sure and that's very scrum-y we needed to make sure we have all the we had no short stoppers to do the work we needed to do at every sprint cycle of course we needed to check with the stakeholders of course we needed to validate the community, we needed to communicate but we knew that we didn't have to wait for someone external to the team to design as a logo to design as what's the user case we want to use here so the same way right in the beginning we could leverage the pre-drone to node later we could leverage the existing tools blender curves I think you are in a moment where you can leverage this success story to try to help other projects moving forward and again communication communication communication if before we had to talk to the stakeholders we still have if before we had to talk to the community which we still have now we are once again looking try to look at blender as a whole outside our bubble and say hey modules hey fellow developers it's one of the reasons we had this talk here developers or technical artists which are involved with the modules which are a few here so like how we can learn something together and one of the recent criticisms I've read about scrum and agile that sometimes it's too myoptic sometimes it's too focused on okay you gotta follow this methodology by the rule that means by the book, by the letter so it means you need to do everything only incrementally and that might go against big disruptive changes because if you have to really be disruptive that might not be competitive just the business as usual but I think the role of the disruption comes from the design and even though it's called blender development the blender developers you need people that know C++ but development is way more than writing software it's about designing, it's about having clear mental pictures mental models learning how to work together so I think the design is also a key part of what we do if you want to know more about the process we have been documenting a lot of these trials past two years there's a video about the read about process on the code blog we have even a blog post about the icon for geometry nodes which was something at some point we even used geometry nodes for some of the hair to icons in blender geometry nodes was used even for the conference forgot the name of the little plant and besides the content of this conference Zimon also has a training which is very nice in the blender studio website highly recommended and there are a lot of other nodes talks in this blender conference so there's a lot to be learned thank you so much everyone for being here Jack and Hans, please