mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
Fix: Nodes: Various Add/Swap menu entries not in alphabetical order
Shader Nodes
- Split Bundle and Closure nodes in their own subsections.
Geometry Nodes
- Reorder certain nodes.
- e.g. `Bone Info`, `Is Edge Smooth`, `Gamma`, `Implicit Conversion`
- Create subsection for tool-specific `Geometry > Read` nodes.
- e.g. `Active Element`, `Selection`
- Create subsection for switch nodes.
- Split the Bundle menu into multiple subsections.
Compositor
- Reorder `Mask to SDF` & `Implicit Conversion`
- Create subsection for switch nodes.
- Make order of `Utilities` submenus consistent with Geometry Nodes.
Pull Request: https://projects.blender.org/blender/blender/pulls/154596
This commit is contained in:
parent
e18832e824
commit
fc7cb3f5d0
3 changed files with 25 additions and 18 deletions
|
|
@ -160,8 +160,8 @@ class NODE_MT_compositor_node_filter_base(node_add_menu.NodeMenu):
|
|||
self.node_operator(layout, "CompositorNodeDespeckle")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "CompositorNodeDilateErode")
|
||||
self.node_operator(layout, "CompositorNodeMaskToSDF")
|
||||
self.node_operator(layout, "CompositorNodeInpaint")
|
||||
self.node_operator(layout, "CompositorNodeMaskToSDF")
|
||||
layout.separator()
|
||||
self.node_operator_with_searchable_enum_socket(
|
||||
context, layout, "CompositorNodeFilter", "Type", [
|
||||
|
|
@ -290,19 +290,21 @@ class NODE_MT_compositor_node_utilities_base(node_add_menu.NodeMenu):
|
|||
del context
|
||||
layout = self.layout
|
||||
self.draw_menu(layout, path="Utilities/Math")
|
||||
self.draw_menu(layout, path="Utilities/Text")
|
||||
self.draw_menu(layout, path="Utilities/Vector")
|
||||
layout.separator()
|
||||
self.draw_menu(layout, path="Utilities/Matrix")
|
||||
self.draw_menu(layout, path="Utilities/Rotation")
|
||||
self.draw_menu(layout, path="Utilities/Text")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "NodeImplicitConversion")
|
||||
self.node_operator(layout, "CompositorNodeLevels")
|
||||
self.node_operator(layout, "CompositorNodeNormalize")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "NodeImplicitConversion")
|
||||
self.node_operator(layout, "CompositorNodeSplit")
|
||||
self.node_operator(layout, "GeometryNodeSwitch")
|
||||
self.node_operator(layout, "GeometryNodeIndexSwitch")
|
||||
self.node_operator(layout, "GeometryNodeMenuSwitch")
|
||||
self.node_operator(layout, "GeometryNodeSwitch")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "CompositorNodeSplit")
|
||||
self.node_operator(
|
||||
layout, "CompositorNodeSwitchView",
|
||||
label="Switch Stereo View")
|
||||
|
|
|
|||
|
|
@ -36,10 +36,10 @@ class NODE_MT_gn_color_base(node_add_menu.NodeMenu):
|
|||
layout = self.layout
|
||||
|
||||
self.node_operator(layout, "ShaderNodeBlackbody")
|
||||
self.node_operator(layout, "ShaderNodeGamma")
|
||||
self.node_operator(layout, "ShaderNodeValToRGB")
|
||||
self.node_operator(layout, "ShaderNodeRGBCurve")
|
||||
self.node_operator(layout, "ShaderNodeGamma")
|
||||
self.color_mix_node(context, layout, search_weight=-1.0)
|
||||
self.node_operator(layout, "ShaderNodeRGBCurve")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "FunctionNodeCombineColor")
|
||||
self.node_operator(layout, "FunctionNodeSeparateColor")
|
||||
|
|
@ -254,8 +254,9 @@ class NODE_MT_gn_geometry_read_base(node_add_menu.NodeMenu):
|
|||
self.node_operator(layout, "GeometryNodeInputPosition", search_weight=1.0)
|
||||
self.node_operator(layout, "GeometryNodeInputRadius")
|
||||
if context.space_data.node_tree_sub_type == 'TOOL':
|
||||
self.node_operator(layout, "GeometryNodeToolSelection")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "GeometryNodeToolActiveElement")
|
||||
self.node_operator(layout, "GeometryNodeToolSelection")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "GeometryNodeGetGeometryBundle")
|
||||
|
||||
|
|
@ -376,6 +377,7 @@ class NODE_MT_gn_input_scene_base(node_add_menu.NodeMenu):
|
|||
if context.space_data.node_tree_sub_type == 'TOOL':
|
||||
self.node_operator(layout, "GeometryNodeTool3DCursor")
|
||||
self.node_operator(layout, "GeometryNodeInputActiveCamera")
|
||||
self.node_operator(layout, "GeometryNodeBoneInfo")
|
||||
self.node_operator_with_outputs(
|
||||
context,
|
||||
layout,
|
||||
|
|
@ -392,7 +394,6 @@ class NODE_MT_gn_input_scene_base(node_add_menu.NodeMenu):
|
|||
"Orthographic Scale",
|
||||
],
|
||||
)
|
||||
self.node_operator(layout, "GeometryNodeBoneInfo")
|
||||
self.node_operator(layout, "GeometryNodeCollectionChildren")
|
||||
self.node_operator(layout, "GeometryNodeCollectionInfo")
|
||||
self.node_operator(layout, "GeometryNodeImageInfo")
|
||||
|
|
@ -501,9 +502,9 @@ class NODE_MT_gn_mesh_read_base(node_add_menu.NodeMenu):
|
|||
self.node_operator(layout, "GeometryNodeInputMeshFaceNeighbors")
|
||||
if context.space_data.node_tree_sub_type == 'TOOL':
|
||||
self.node_operator(layout, "GeometryNodeToolFaceSet")
|
||||
self.node_operator(layout, "GeometryNodeInputEdgeSmooth")
|
||||
self.node_operator(layout, "GeometryNodeInputMeshFaceIsPlanar")
|
||||
self.node_operator(layout, "GeometryNodeInputShadeSmooth")
|
||||
self.node_operator(layout, "GeometryNodeInputEdgeSmooth")
|
||||
self.node_operator(layout, "GeometryNodeInputMeshIsland")
|
||||
self.node_operator(layout, "GeometryNodeInputShortestEdgePaths")
|
||||
self.node_operator(layout, "GeometryNodeInputMeshVertexNeighbors")
|
||||
|
|
@ -674,10 +675,10 @@ class NODE_MT_gn_utilities_text_base(node_add_menu.NodeMenu):
|
|||
self.node_operator(layout, "FunctionNodeMatchString")
|
||||
self.node_operator(layout, "FunctionNodeReplaceString")
|
||||
self.node_operator(layout, "FunctionNodeReverseString")
|
||||
self.node_operator(layout, "FunctionNodeSliceString")
|
||||
self.node_operator_with_searchable_enum_socket(
|
||||
context, layout, "FunctionNodeSetStringCase", "Case", ["Uppercase", "Lowercase"],
|
||||
)
|
||||
self.node_operator(layout, "FunctionNodeSliceString")
|
||||
self.node_operator(layout, "FunctionNodeSplitString")
|
||||
self.node_operator(layout, "FunctionNodeTrimString")
|
||||
layout.separator()
|
||||
|
|
@ -738,12 +739,13 @@ class NODE_MT_gn_utilities_base(node_add_menu.NodeMenu):
|
|||
self.draw_menu(layout, path="Utilities/Rotation")
|
||||
self.draw_menu(layout, path="Utilities/Sound")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "NodeImplicitConversion")
|
||||
self.for_each_element_zone(layout, label="For Each Element")
|
||||
self.node_operator(layout, "GeometryNodeIndexSwitch")
|
||||
self.node_operator(layout, "GeometryNodeMenuSwitch")
|
||||
self.node_operator(layout, "NodeImplicitConversion")
|
||||
self.node_operator(layout, "FunctionNodeRandomValue")
|
||||
self.repeat_zone(layout, label="Repeat")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "GeometryNodeIndexSwitch")
|
||||
self.node_operator(layout, "GeometryNodeMenuSwitch")
|
||||
self.node_operator(layout, "GeometryNodeSwitch")
|
||||
layout.separator()
|
||||
self.draw_assets_for_catalog(layout, self.bl_label)
|
||||
|
|
@ -816,8 +818,8 @@ class NODE_MT_gn_utilities_matrix_base(node_add_menu.NodeMenu):
|
|||
self.node_operator(layout, "FunctionNodeCombineTransform")
|
||||
self.node_operator(layout, "FunctionNodeMatrixDeterminant", label="Determinant")
|
||||
self.node_operator(layout, "FunctionNodeInvertMatrix")
|
||||
self.node_operator(layout, "FunctionNodeMatrixMultiply")
|
||||
self.node_operator(layout, "FunctionNodeMatrixSVD")
|
||||
self.node_operator(layout, "FunctionNodeMatrixMultiply")
|
||||
self.node_operator(layout, "FunctionNodeProjectPoint")
|
||||
self.node_operator(layout, "FunctionNodeSeparateMatrix")
|
||||
self.node_operator(layout, "FunctionNodeSeparateTransform")
|
||||
|
|
@ -835,11 +837,13 @@ class NODE_MT_category_utilities_bundle_base(node_add_menu.NodeMenu):
|
|||
def draw(self, context):
|
||||
layout = self.layout
|
||||
self.node_operator(layout, "NodeCombineBundle")
|
||||
self.node_operator(layout, "NodeJoinBundle")
|
||||
self.node_operator(layout, "NodeSeparateBundle")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "NodeGetBundleItem")
|
||||
self.node_operator(layout, "NodeGetNestedBundlePaths")
|
||||
self.node_operator(layout, "NodeStoreBundleItem")
|
||||
self.node_operator(layout, "NodeJoinBundle")
|
||||
layout.separator()
|
||||
self.typed_bundle(layout, label=n_("Typed Bundle"))
|
||||
|
||||
self.draw_assets_for_catalog(layout, self.menu_path)
|
||||
|
|
|
|||
|
|
@ -479,14 +479,15 @@ class NODE_MT_shader_node_utilities_base(node_add_menu.NodeMenu):
|
|||
self.draw_menu(layout, "Utilities/Math")
|
||||
self.draw_menu(layout, "Utilities/Vector")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "NodeImplicitConversion")
|
||||
self.repeat_zone(layout, label="Repeat")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "NodeImplicitConversion")
|
||||
self.closure_zone(layout, label="Closure")
|
||||
self.node_operator(layout, "NodeEvaluateClosure")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "NodeCombineBundle")
|
||||
self.node_operator(layout, "NodeSeparateBundle")
|
||||
self.node_operator(layout, "NodeJoinBundle")
|
||||
self.node_operator(layout, "NodeSeparateBundle")
|
||||
layout.separator()
|
||||
self.node_operator(layout, "GeometryNodeMenuSwitch")
|
||||
if cycles_shader_nodes_poll(context):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue