fake-bpy-module-latest 20260115__py3-none-any.whl → 20260125__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,7 @@ from . import addons as addons
6
6
  from . import assets as assets
7
7
  from . import disk_file_hash_service as disk_file_hash_service
8
8
  from . import extensions as extensions
9
- from . import freedesktop as freedesktop
9
+ from . import filesystem as filesystem
10
10
  from . import grease_pencil as grease_pencil
11
+ from . import platform as platform
11
12
  from . import system_info as system_info
@@ -0,0 +1,5 @@
1
+ import typing
2
+ import collections.abc
3
+ import typing_extensions
4
+ import numpy.typing as npt
5
+ from . import locking as locking
@@ -0,0 +1,28 @@
1
+ import typing
2
+ import collections.abc
3
+ import typing_extensions
4
+ import numpy.typing as npt
5
+
6
+ class MutexAcquisitionError:
7
+ """Raised when mutex_lock_and_open_with_retry() cannot obtain a lock."""
8
+
9
+ args: typing.Any
10
+
11
+ def mutex_lock_and_open(file_path, mode) -> None:
12
+ """Obtain an exclusive lock on a file.Create a file on disk, and immediately lock it for exclusive use by this
13
+ process.
14
+
15
+ :return: If the file was opened & locked succesfully, a tuple (file,
16
+ unlocker) is returned. Otherwise returns None. The caller should call
17
+ unlocker(file) to unlock the mutex.
18
+ """
19
+
20
+ def mutex_lock_and_open_with_retry(
21
+ file_path, mode, *, max_tries, wait_time_sec
22
+ ) -> None:
23
+ """Obtain an exclusive lock on a file, retrying when that fails.See mutex_lock_and_open() for the lock semantics, and the first two parameters.
24
+
25
+ :param max_tries: number of times the code attempts to acquire the lock.
26
+ :return: A tuple (file, unlocker) is returned. The caller should call
27
+ unlocker(file) to unlock the mutex.
28
+ """
@@ -0,0 +1,5 @@
1
+ import typing
2
+ import collections.abc
3
+ import typing_extensions
4
+ import numpy.typing as npt
5
+ from . import freedesktop as freedesktop
@@ -564,6 +564,13 @@ class NODE_OT_swap_zone(NodeSwapOperator, ZoneOperator, _bpy_types.Operator):
564
564
  :param context:
565
565
  """
566
566
 
567
+ @staticmethod
568
+ def get_child_items(node) -> None:
569
+ """
570
+
571
+ :param node:
572
+ """
573
+
567
574
  @staticmethod
568
575
  def get_zone_pair(tree, node) -> None:
569
576
  """
@@ -572,6 +579,13 @@ class NODE_OT_swap_zone(NodeSwapOperator, ZoneOperator, _bpy_types.Operator):
572
579
  :param node:
573
580
  """
574
581
 
582
+ def transfer_zone_sockets(self, old_node, new_node) -> None:
583
+ """
584
+
585
+ :param old_node:
586
+ :param new_node:
587
+ """
588
+
575
589
  class NODE_OT_tree_path_parent(_bpy_types.Operator):
576
590
  """Go to parent node tree"""
577
591
 
@@ -114,7 +114,7 @@ class UILIST_OT_entry_remove(GenericUIListOperator, _bpy_types.Operator):
114
114
 
115
115
  def draw_ui_list(
116
116
  layout: bpy.types.UILayout,
117
- context: bpy.types.Context,
117
+ context: _bpy_types.Context,
118
118
  class_name: str = "UI_UL_list",
119
119
  *,
120
120
  unique_id: str,
bpy/app/__init__.pyi CHANGED
@@ -122,6 +122,10 @@ build_type: bytes
122
122
  """ The type of build (Release, Debug)
123
123
  """
124
124
 
125
+ cachedir: None | str
126
+ """ String, the cache directory used by blender (read-only).If the parent of the cache folder (i.e. the part of the path that is not Blender-specific) does not exist, returns None.
127
+ """
128
+
125
129
  debug: bool
126
130
  """ Boolean, for debug info (started with --debug / --debug-* matching this attribute name).
127
131
  """
@@ -199,11 +203,11 @@ module: bool
199
203
  """
200
204
 
201
205
  ocio: typing.Any
202
- """ Constant value bpy.app.ocio(supported=True, version=(2, 4, 2), version_string= 2, 4, 2)
206
+ """ Constant value bpy.app.ocio(supported=True, version=(2, 5, 0), version_string= 2, 5, 0)
203
207
  """
204
208
 
205
209
  oiio: typing.Any
206
- """ Constant value bpy.app.oiio(supported=True, version=(3, 0, 9), version_string= 3, 0, 9)
210
+ """ Constant value bpy.app.oiio(supported=True, version=(3, 1, 7), version_string= 3, 1, 7)
207
211
  """
208
212
 
209
213
  online_access: bool
@@ -215,11 +219,11 @@ online_access_override: bool
215
219
  """
216
220
 
217
221
  opensubdiv: typing.Any
218
- """ Constant value bpy.app.opensubdiv(supported=True, version=(3, 6, 0), version_string= 3, 6, 0)
222
+ """ Constant value bpy.app.opensubdiv(supported=True, version=(3, 7, 0), version_string= 3, 7, 0)
219
223
  """
220
224
 
221
225
  openvdb: typing.Any
222
- """ Constant value bpy.app.openvdb(supported=True, version=(12, 0, 0), version_string=12, 0, 0)
226
+ """ Constant value bpy.app.openvdb(supported=True, version=(13, 0, 0), version_string=13, 0, 0)
223
227
  """
224
228
 
225
229
  portable: bool
@@ -91,6 +91,10 @@ depsgraph_update_pre: list[collections.abc.Callable[[bpy.types.Scene, None], Non
91
91
  """ on depsgraph update (pre). Accepts two arguments: The scene data-block and the dependency graph being updated
92
92
  """
93
93
 
94
+ exit_pre: list[collections.abc.Callable[[bpy.types.Scene], None]]
95
+ """ just before Blender shuts down, while all data is still valid. Accepts one boolean argument. True indicates either that a user has been using Blender and exited, or that Blender is exiting in a circumstance that should be treated as if that were the case. False indicates that Blender is running in background mode, or is exiting due to failed command line arguments, etc.
96
+ """
97
+
94
98
  frame_change_post: list[collections.abc.Callable[[bpy.types.Scene], None]]
95
99
  """ Called after frame change for playback and rendering, after the data has been evaluated for the new frame. Accepts two arguments: The scene data-block and the dependency graph being updated
96
100
  """
@@ -66,7 +66,8 @@ def brush_stroke(
66
66
  *,
67
67
  stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
68
68
  | None = None,
69
- mode: typing.Literal["NORMAL", "INVERT", "SMOOTH", "ERASE"] | None = "NORMAL",
69
+ mode: typing.Literal["NORMAL", "INVERT"] | None = "NORMAL",
70
+ brush_toggle: typing.Literal["None", "SMOOTH", "ERASE", "MASK"] | None = "None",
70
71
  pen_flip: bool | None = False,
71
72
  ) -> None:
72
73
  """Draw a new stroke in the active Grease Pencil object
@@ -79,12 +80,19 @@ def brush_stroke(
79
80
 
80
81
  INVERT
81
82
  Invert -- Invert action of brush for duration of stroke.
83
+ :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke
84
+
85
+ None
86
+ None -- Apply brush normally.
82
87
 
83
88
  SMOOTH
84
- Smooth -- Switch brush to smooth mode for duration of stroke.
89
+ Smooth -- Switch to smooth brush for duration of stroke.
85
90
 
86
91
  ERASE
87
- Erase -- Switch brush to erase mode for duration of stroke.
92
+ Erase -- Switch to erase brush for duration of stroke.
93
+
94
+ MASK
95
+ Mask -- Switch to mask brush for duration of stroke.
88
96
  :param pen_flip: Pen Flip, Whether a tablets eraser mode is being used
89
97
  """
90
98
 
@@ -1042,7 +1050,8 @@ def sculpt_paint(
1042
1050
  *,
1043
1051
  stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
1044
1052
  | None = None,
1045
- mode: typing.Literal["NORMAL", "INVERT", "SMOOTH", "ERASE"] | None = "NORMAL",
1053
+ mode: typing.Literal["NORMAL", "INVERT"] | None = "NORMAL",
1054
+ brush_toggle: typing.Literal["None", "SMOOTH", "ERASE", "MASK"] | None = "None",
1046
1055
  pen_flip: bool | None = False,
1047
1056
  ) -> None:
1048
1057
  """Sculpt strokes in the active Grease Pencil object
@@ -1055,12 +1064,19 @@ def sculpt_paint(
1055
1064
 
1056
1065
  INVERT
1057
1066
  Invert -- Invert action of brush for duration of stroke.
1067
+ :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke
1068
+
1069
+ None
1070
+ None -- Apply brush normally.
1058
1071
 
1059
1072
  SMOOTH
1060
- Smooth -- Switch brush to smooth mode for duration of stroke.
1073
+ Smooth -- Switch to smooth brush for duration of stroke.
1061
1074
 
1062
1075
  ERASE
1063
- Erase -- Switch brush to erase mode for duration of stroke.
1076
+ Erase -- Switch to erase brush for duration of stroke.
1077
+
1078
+ MASK
1079
+ Mask -- Switch to mask brush for duration of stroke.
1064
1080
  :param pen_flip: Pen Flip, Whether a tablets eraser mode is being used
1065
1081
  """
1066
1082
 
@@ -1600,7 +1616,8 @@ def vertex_brush_stroke(
1600
1616
  *,
1601
1617
  stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
1602
1618
  | None = None,
1603
- mode: typing.Literal["NORMAL", "INVERT", "SMOOTH", "ERASE"] | None = "NORMAL",
1619
+ mode: typing.Literal["NORMAL", "INVERT"] | None = "NORMAL",
1620
+ brush_toggle: typing.Literal["None", "SMOOTH", "ERASE", "MASK"] | None = "None",
1604
1621
  pen_flip: bool | None = False,
1605
1622
  ) -> None:
1606
1623
  """Draw on vertex colors in the active Grease Pencil object
@@ -1613,12 +1630,19 @@ def vertex_brush_stroke(
1613
1630
 
1614
1631
  INVERT
1615
1632
  Invert -- Invert action of brush for duration of stroke.
1633
+ :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke
1634
+
1635
+ None
1636
+ None -- Apply brush normally.
1616
1637
 
1617
1638
  SMOOTH
1618
- Smooth -- Switch brush to smooth mode for duration of stroke.
1639
+ Smooth -- Switch to smooth brush for duration of stroke.
1619
1640
 
1620
1641
  ERASE
1621
- Erase -- Switch brush to erase mode for duration of stroke.
1642
+ Erase -- Switch to erase brush for duration of stroke.
1643
+
1644
+ MASK
1645
+ Mask -- Switch to mask brush for duration of stroke.
1622
1646
  :param pen_flip: Pen Flip, Whether a tablets eraser mode is being used
1623
1647
  """
1624
1648
 
@@ -1750,7 +1774,8 @@ def weight_brush_stroke(
1750
1774
  *,
1751
1775
  stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
1752
1776
  | None = None,
1753
- mode: typing.Literal["NORMAL", "INVERT", "SMOOTH", "ERASE"] | None = "NORMAL",
1777
+ mode: typing.Literal["NORMAL", "INVERT"] | None = "NORMAL",
1778
+ brush_toggle: typing.Literal["None", "SMOOTH", "ERASE", "MASK"] | None = "None",
1754
1779
  pen_flip: bool | None = False,
1755
1780
  ) -> None:
1756
1781
  """Draw weight on stroke points in the active Grease Pencil object
@@ -1763,12 +1788,19 @@ def weight_brush_stroke(
1763
1788
 
1764
1789
  INVERT
1765
1790
  Invert -- Invert action of brush for duration of stroke.
1791
+ :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke
1792
+
1793
+ None
1794
+ None -- Apply brush normally.
1766
1795
 
1767
1796
  SMOOTH
1768
- Smooth -- Switch brush to smooth mode for duration of stroke.
1797
+ Smooth -- Switch to smooth brush for duration of stroke.
1769
1798
 
1770
1799
  ERASE
1771
- Erase -- Switch brush to erase mode for duration of stroke.
1800
+ Erase -- Switch to erase brush for duration of stroke.
1801
+
1802
+ MASK
1803
+ Mask -- Switch to mask brush for duration of stroke.
1772
1804
  :param pen_flip: Pen Flip, Whether a tablets eraser mode is being used
1773
1805
  """
1774
1806
 
bpy/ops/mesh/__init__.pyi CHANGED
@@ -593,17 +593,22 @@ def edgering_select(
593
593
  undo: bool | None = None,
594
594
  /,
595
595
  *,
596
+ delimit_edge_ring: set[bpy.stub_internal.rna_enums.MeshWalkDelimitEdgeRingItems]
597
+ | None = {"NGONS"},
596
598
  extend: bool | None = False,
597
599
  deselect: bool | None = False,
598
600
  toggle: bool | None = False,
599
- ring: bool | None = True,
601
+ object_index: int | None = -1,
602
+ edge_index: int | None = -1,
603
+ vert_index: int | None = -1,
604
+ face_index: int | None = -1,
600
605
  ) -> None:
601
606
  """Select an edge ring
602
607
 
603
- :param extend: Extend, Extend the selection
608
+ :param delimit_edge_ring: Edge Ring Delimit, Delimit edge ring selection
609
+ :param extend: Extend Select, Extend the selection
604
610
  :param deselect: Deselect, Remove from the selection
605
611
  :param toggle: Toggle Select, Toggle the selection
606
- :param ring: Select Ring, Select ring
607
612
  """
608
613
 
609
614
  def edges_select_sharp(
@@ -1075,34 +1080,30 @@ def knife_tool(
1075
1080
  :param wait_for_input: Wait for Input
1076
1081
  """
1077
1082
 
1078
- def loop_multi_select(
1079
- execution_context: int | str | None = None,
1080
- undo: bool | None = None,
1081
- /,
1082
- *,
1083
- ring: bool | None = False,
1084
- ) -> None:
1085
- """Select a loop of connected edges by connection type
1086
-
1087
- :param ring: Ring
1088
- """
1089
-
1090
1083
  def loop_select(
1091
1084
  execution_context: int | str | None = None,
1092
1085
  undo: bool | None = None,
1093
1086
  /,
1094
1087
  *,
1088
+ delimit_edge_loop: set[bpy.stub_internal.rna_enums.MeshWalkDelimitEdgeLoopItems]
1089
+ | None = {"NGONS", "OUTER_CORNERS"},
1090
+ delimit_face_loop: set[bpy.stub_internal.rna_enums.MeshWalkDelimitFaceLoopItems]
1091
+ | None = {},
1095
1092
  extend: bool | None = False,
1096
1093
  deselect: bool | None = False,
1097
1094
  toggle: bool | None = False,
1098
- ring: bool | None = False,
1095
+ object_index: int | None = -1,
1096
+ edge_index: int | None = -1,
1097
+ vert_index: int | None = -1,
1098
+ face_index: int | None = -1,
1099
1099
  ) -> None:
1100
1100
  """Select a loop of connected edges
1101
1101
 
1102
+ :param delimit_edge_loop: Boundary Delimit, Delimit edge loop selection
1103
+ :param delimit_face_loop: Face Loop Delimit, Delimit face loop selection
1102
1104
  :param extend: Extend Select, Extend the selection
1103
1105
  :param deselect: Deselect, Remove from the selection
1104
1106
  :param toggle: Toggle Select, Toggle the selection
1105
- :param ring: Select Ring, Select ring
1106
1107
  """
1107
1108
 
1108
1109
  def loop_to_region(
@@ -2299,6 +2300,32 @@ def select_by_pole_count(
2299
2300
  :param exclude_nonmanifold: Exclude Non Manifold, Exclude non-manifold poles
2300
2301
  """
2301
2302
 
2303
+ def select_edge_loop_multi(
2304
+ execution_context: int | str | None = None,
2305
+ undo: bool | None = None,
2306
+ /,
2307
+ *,
2308
+ delimit_edge_loop: set[bpy.stub_internal.rna_enums.MeshWalkDelimitEdgeLoopItems]
2309
+ | None = {"NGONS", "OUTER_CORNERS"},
2310
+ ) -> None:
2311
+ """Select loops of connected edges from each selected edge
2312
+
2313
+ :param delimit_edge_loop: Boundary Delimit, Delimit edge loop selection
2314
+ """
2315
+
2316
+ def select_edge_ring_multi(
2317
+ execution_context: int | str | None = None,
2318
+ undo: bool | None = None,
2319
+ /,
2320
+ *,
2321
+ delimit_edge_ring: set[bpy.stub_internal.rna_enums.MeshWalkDelimitEdgeRingItems]
2322
+ | None = {"NGONS"},
2323
+ ) -> None:
2324
+ """Select rings of connected edges from each selected edge
2325
+
2326
+ :param delimit_edge_ring: Edge Ring Delimit, Delimit edge ring selection
2327
+ """
2328
+
2302
2329
  def select_face_by_sides(
2303
2330
  execution_context: int | str | None = None,
2304
2331
  undo: bool | None = None,
bpy/ops/node/__init__.pyi CHANGED
@@ -960,6 +960,44 @@ def field_to_grid_item_remove(
960
960
  :param node_identifier: Node Identifier, Optional identifier of the node to operate on
961
961
  """
962
962
 
963
+ def field_to_list_item_add(
964
+ execution_context: int | str | None = None,
965
+ undo: bool | None = None,
966
+ /,
967
+ *,
968
+ node_identifier: int | None = 0,
969
+ ) -> None:
970
+ """Add item below active item
971
+
972
+ :param node_identifier: Node Identifier, Optional identifier of the node to operate on
973
+ """
974
+
975
+ def field_to_list_item_move(
976
+ execution_context: int | str | None = None,
977
+ undo: bool | None = None,
978
+ /,
979
+ *,
980
+ direction: typing.Literal["UP", "DOWN"] | None = "UP",
981
+ node_identifier: int | None = 0,
982
+ ) -> None:
983
+ """Move active item
984
+
985
+ :param direction: Direction, Move direction
986
+ :param node_identifier: Node Identifier, Optional identifier of the node to operate on
987
+ """
988
+
989
+ def field_to_list_item_remove(
990
+ execution_context: int | str | None = None,
991
+ undo: bool | None = None,
992
+ /,
993
+ *,
994
+ node_identifier: int | None = 0,
995
+ ) -> None:
996
+ """Remove active item
997
+
998
+ :param node_identifier: Node Identifier, Optional identifier of the node to operate on
999
+ """
1000
+
963
1001
  def file_output_item_add(
964
1002
  execution_context: int | str | None = None,
965
1003
  undo: bool | None = None,
@@ -413,14 +413,14 @@ def id_remap(
413
413
  /,
414
414
  *,
415
415
  id_type: bpy.stub_internal.rna_enums.IdTypeItems | None = "OBJECT",
416
- old_id: str | None = "",
417
- new_id: str | None = "",
416
+ old_id: int | None = 0,
417
+ new_id: int | None = 0,
418
418
  ) -> None:
419
419
  """Undocumented, consider contributing.
420
420
 
421
421
  :param id_type: ID Type
422
- :param old_id: Old ID, Old ID to replace
423
- :param new_id: New ID, New ID to remap all selected IDs users to
422
+ :param old_id: Old ID, Old IDs session uid to remap data from
423
+ :param new_id: New ID, New IDs session uid to remap all selected IDs users to
424
424
  """
425
425
 
426
426
  def item_activate(
@@ -381,7 +381,8 @@ def image_paint(
381
381
  *,
382
382
  stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
383
383
  | None = None,
384
- mode: typing.Literal["NORMAL", "INVERT", "SMOOTH", "ERASE"] | None = "NORMAL",
384
+ mode: typing.Literal["NORMAL", "INVERT"] | None = "NORMAL",
385
+ brush_toggle: typing.Literal["None", "SMOOTH", "ERASE", "MASK"] | None = "None",
385
386
  pen_flip: bool | None = False,
386
387
  ) -> None:
387
388
  """Paint a stroke into the image
@@ -394,12 +395,19 @@ def image_paint(
394
395
 
395
396
  INVERT
396
397
  Invert -- Invert action of brush for duration of stroke.
398
+ :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke
399
+
400
+ None
401
+ None -- Apply brush normally.
397
402
 
398
403
  SMOOTH
399
- Smooth -- Switch brush to smooth mode for duration of stroke.
404
+ Smooth -- Switch to smooth brush for duration of stroke.
400
405
 
401
406
  ERASE
402
- Erase -- Switch brush to erase mode for duration of stroke.
407
+ Erase -- Switch to erase brush for duration of stroke.
408
+
409
+ MASK
410
+ Mask -- Switch to mask brush for duration of stroke.
403
411
  :param pen_flip: Pen Flip, Whether a tablets eraser mode is being used
404
412
  """
405
413
 
@@ -662,6 +670,20 @@ def vert_select_linked_pick(
662
670
  :param select: Select, Whether to select or deselect linked vertices under the cursor
663
671
  """
664
672
 
673
+ def vert_select_loop(
674
+ execution_context: int | str | None = None,
675
+ undo: bool | None = None,
676
+ /,
677
+ *,
678
+ select: bool | None = True,
679
+ extend: bool | None = False,
680
+ ) -> None:
681
+ """Select vertex loop under the cursor
682
+
683
+ :param select: Select, If false, vertices will be deselected
684
+ :param extend: Extend, Extend the selection
685
+ """
686
+
665
687
  def vert_select_more(
666
688
  execution_context: int | str | None = None,
667
689
  undo: bool | None = None,
@@ -792,7 +814,8 @@ def vertex_paint(
792
814
  *,
793
815
  stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
794
816
  | None = None,
795
- mode: typing.Literal["NORMAL", "INVERT", "SMOOTH", "ERASE"] | None = "NORMAL",
817
+ mode: typing.Literal["NORMAL", "INVERT"] | None = "NORMAL",
818
+ brush_toggle: typing.Literal["None", "SMOOTH", "ERASE", "MASK"] | None = "None",
796
819
  pen_flip: bool | None = False,
797
820
  override_location: bool | None = False,
798
821
  ) -> None:
@@ -806,12 +829,19 @@ def vertex_paint(
806
829
 
807
830
  INVERT
808
831
  Invert -- Invert action of brush for duration of stroke.
832
+ :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke
833
+
834
+ None
835
+ None -- Apply brush normally.
809
836
 
810
837
  SMOOTH
811
- Smooth -- Switch brush to smooth mode for duration of stroke.
838
+ Smooth -- Switch to smooth brush for duration of stroke.
812
839
 
813
840
  ERASE
814
- Erase -- Switch brush to erase mode for duration of stroke.
841
+ Erase -- Switch to erase brush for duration of stroke.
842
+
843
+ MASK
844
+ Mask -- Switch to mask brush for duration of stroke.
815
845
  :param pen_flip: Pen Flip, Whether a tablets eraser mode is being used
816
846
  :param override_location: Override Location, Override the given "location" array by recalculating object space positions from the provided "mouse_event" positions
817
847
  """
@@ -901,7 +931,8 @@ def weight_paint(
901
931
  *,
902
932
  stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
903
933
  | None = None,
904
- mode: typing.Literal["NORMAL", "INVERT", "SMOOTH", "ERASE"] | None = "NORMAL",
934
+ mode: typing.Literal["NORMAL", "INVERT"] | None = "NORMAL",
935
+ brush_toggle: typing.Literal["None", "SMOOTH", "ERASE", "MASK"] | None = "None",
905
936
  pen_flip: bool | None = False,
906
937
  override_location: bool | None = False,
907
938
  ) -> None:
@@ -915,12 +946,19 @@ def weight_paint(
915
946
 
916
947
  INVERT
917
948
  Invert -- Invert action of brush for duration of stroke.
949
+ :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke
950
+
951
+ None
952
+ None -- Apply brush normally.
918
953
 
919
954
  SMOOTH
920
- Smooth -- Switch brush to smooth mode for duration of stroke.
955
+ Smooth -- Switch to smooth brush for duration of stroke.
921
956
 
922
957
  ERASE
923
- Erase -- Switch brush to erase mode for duration of stroke.
958
+ Erase -- Switch to erase brush for duration of stroke.
959
+
960
+ MASK
961
+ Mask -- Switch to mask brush for duration of stroke.
924
962
  :param pen_flip: Pen Flip, Whether a tablets eraser mode is being used
925
963
  :param override_location: Override Location, Override the given "location" array by recalculating object space positions from the provided "mouse_event" positions
926
964
  """
@@ -220,6 +220,13 @@ def autoexec_path_remove(
220
220
  :param index: Index
221
221
  """
222
222
 
223
+ def clear_filter(
224
+ execution_context: int | str | None = None,
225
+ undo: bool | None = None,
226
+ /,
227
+ ) -> None:
228
+ """Clear the search filter"""
229
+
223
230
  def copy_prev(
224
231
  execution_context: int | str | None = None,
225
232
  undo: bool | None = None,
@@ -427,6 +434,13 @@ def script_directory_remove(
427
434
  :param index: Index, Index of the script directory to remove
428
435
  """
429
436
 
437
+ def start_filter(
438
+ execution_context: int | str | None = None,
439
+ undo: bool | None = None,
440
+ /,
441
+ ) -> None:
442
+ """Start entering filter text"""
443
+
430
444
  def studiolight_copy_settings(
431
445
  execution_context: int | str | None = None,
432
446
  undo: bool | None = None,
@@ -12,7 +12,8 @@ def brush_stroke(
12
12
  *,
13
13
  stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
14
14
  | None = None,
15
- mode: typing.Literal["NORMAL", "INVERT", "SMOOTH", "ERASE"] | None = "NORMAL",
15
+ mode: typing.Literal["NORMAL", "INVERT"] | None = "NORMAL",
16
+ brush_toggle: typing.Literal["None", "SMOOTH", "ERASE", "MASK"] | None = "None",
16
17
  pen_flip: bool | None = False,
17
18
  override_location: bool | None = False,
18
19
  ignore_background_click: bool | None = False,
@@ -27,12 +28,19 @@ def brush_stroke(
27
28
 
28
29
  INVERT
29
30
  Invert -- Invert action of brush for duration of stroke.
31
+ :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke
32
+
33
+ None
34
+ None -- Apply brush normally.
30
35
 
31
36
  SMOOTH
32
- Smooth -- Switch brush to smooth mode for duration of stroke.
37
+ Smooth -- Switch to smooth brush for duration of stroke.
33
38
 
34
39
  ERASE
35
- Erase -- Switch brush to erase mode for duration of stroke.
40
+ Erase -- Switch to erase brush for duration of stroke.
41
+
42
+ MASK
43
+ Mask -- Switch to mask brush for duration of stroke.
36
44
  :param pen_flip: Pen Flip, Whether a tablets eraser mode is being used
37
45
  :param override_location: Override Location, Override the given "location" array by recalculating object space positions from the provided "mouse_event" positions
38
46
  :param ignore_background_click: Ignore Background Click, Clicks on the background do not start the stroke
@@ -11,7 +11,8 @@ def brush_stroke(
11
11
  *,
12
12
  stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement]
13
13
  | None = None,
14
- mode: typing.Literal["NORMAL", "INVERT", "SMOOTH", "ERASE"] | None = "NORMAL",
14
+ mode: typing.Literal["NORMAL", "INVERT"] | None = "NORMAL",
15
+ brush_toggle: typing.Literal["None", "SMOOTH", "ERASE", "MASK"] | None = "None",
15
16
  pen_flip: bool | None = False,
16
17
  ) -> None:
17
18
  """Sculpt curves using a brush
@@ -24,12 +25,19 @@ def brush_stroke(
24
25
 
25
26
  INVERT
26
27
  Invert -- Invert action of brush for duration of stroke.
28
+ :param brush_toggle: Temporary Brush Toggle Type, Brush to use for duration of stroke
29
+
30
+ None
31
+ None -- Apply brush normally.
27
32
 
28
33
  SMOOTH
29
- Smooth -- Switch brush to smooth mode for duration of stroke.
34
+ Smooth -- Switch to smooth brush for duration of stroke.
30
35
 
31
36
  ERASE
32
- Erase -- Switch brush to erase mode for duration of stroke.
37
+ Erase -- Switch to erase brush for duration of stroke.
38
+
39
+ MASK
40
+ Mask -- Switch to mask brush for duration of stroke.
33
41
  :param pen_flip: Pen Flip, Whether a tablets eraser mode is being used
34
42
  """
35
43