Attributes: Making Geometry Smaller and Faster

The last major change of Blender's mesh system was the BMesh project over 10 years ago. Recently a project has been underway to change the mesh system significantly again, using principles from data-oriented design. Two years and more than 15 thousand lines of code later, that process is nearly finished. The idea is that data should be stored separately and generically, with the same simple data types that any Blender user or developer can use, as part of the attribute system.

Was it worth it? How much smaller can files be, and how much less memory do we use? Is Blender faster? How many bugs did the changes cause? This talk will answer those questions, and get into the history and some of the principles of the attribute system.