@@ -349,6 +349,8 @@ def _set_settings_defaults(self, node: Node) -> None:
349349 self ._index_switch_items (attr , f"{ node_var } .{ attr_name } " )
350350 elif st == ST .ENUM_DEFINITION :
351351 self ._enum_definition (attr , f"{ node_var } .{ attr_name } " )
352+ elif st == ST .BAKE_ITEMS :
353+ self ._bake_items (attr , f"{ node_var } .{ attr_name } " )
352354
353355 if bpy .app .version < (4 , 0 , 0 ):
354356 def _set_group_socket_defaults (self , socket_interface : NodeSocketInterface ,
@@ -1083,6 +1085,28 @@ def _enum_definition(self, enum_def: bpy.types.NodeEnumDefinition,
10831085 self ._write (f"{ enum_def_str } .enum_items[{ i } ].description = "
10841086 f"{ str_to_py_str (enum_item .description )} " )
10851087
1088+ def _bake_items (self , bake_items : bpy .types .NodeGeometryBakeItems ,
1089+ bake_items_str : str ) -> None :
1090+ """
1091+ Set bake items for a node
1092+
1093+ Parameters:
1094+ bake_items (bpy.types.NodeGeometryBakeItems): bake items to replicate
1095+ bake_items_str (str): string for the generated bake items
1096+ """
1097+ self ._write (f"{ bake_items_str } .clear()" )
1098+ for i , bake_item in enumerate (bake_items ):
1099+ socket_type = enum_to_py_str (bake_item .socket_type )
1100+ name = str_to_py_str (bake_item .name )
1101+ self ._write (f"{ bake_items_str } .new({ socket_type } , { name } )" )
1102+
1103+ ad = enum_to_py_str (bake_item .attribute_domain )
1104+ self ._write (f"{ bake_items_str } [{ i } ].attribute_domain = { ad } " )
1105+
1106+ if bake_item .is_attribute :
1107+ self ._write (f"{ bake_items_str } [{ i } ].is_attribute = True" )
1108+
1109+
10861110
10871111 def _set_parents (self , node_tree : NodeTree ) -> None :
10881112 """
0 commit comments