Adds support for saving some view state persistently and uses this to keep the
height of a tree-view, even as the region containing it is hidden, or the file
re-loaded.
Fixes #129058.
Basically the design is to have state stored in the region, so it can be saved
to files. Views types (tree-view, grid-view, etc) can decide themselves if they
have state to be preserved, and what state that is. If a view wants to preserve
state, it's stored in a list inside the region, identified by the view's idname.
Limitation is that multiple instances of the same view would share these bits of
state, in practice I don't think that's ever an issue.
More state can be added to be preserved as needed. Since different kinds of
views may require different state, I was thinking we could add ID properties to
`uiViewState` even, making it much more dynamic.
Pull Request: https://projects.blender.org/blender/blender/pulls/130292
(cherry picked from commit f0db870822)
Goo Engine
Goo Engine is a version of Blender by DillonGoo Studios with some key modifications to the source code that allow us to focus on NPR and Anime style rendering. Key features include the four custom Shader nodes we added to Eevee and Light Groups. You can learn about them on the Professor Goo YouTube channel.
Some have asked why we haven't pushed these changes to Blender's master branch: this is because many of these features would not be accepted as they are and may destablize other features like Cycles. We only use Eevee for NPR so we prioritize specific features which the Blender Institute understandably can't afford to make compromises for. This allows us to develop and test quickly. However, we do actively update Goo Engine to keep up with the native Blender branch so they can evolve side by side. We also regularly add and improve custom features as we use Goo Engine on projects at the studio. Stay tuned for updates.
Get the pre-built download on the Patreon page to support continued development of Goo Engine.
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
