6ffc585fb8
This refactor contains the following changes: * Each `PanelDeclaration` contains its direct children. Previously, it only knew how many children it had. That added complexity to wherever we iterate over the node declaration. * Adds a new `DeclarationListBuilder` that is a base class of `NodeDeclarationBuilder` and `PanelDeclarationBuilder`. It makes sure that the same API for adding sockets, panels and separators exist for both. * Modified declare functions for group, group input and group output nodes to use the normal node builder api instead of doing something custom. No functional changes are expected. The main reason for this refactor is to simplify working with nested panels in node declarations which is useful when we want to support nested panels in the node editor. The node drawing code is not simplified in this patch, but that should be easier afterwards. Pull Request: https://projects.blender.org/blender/blender/pulls/128799