fake-bge-module 20250104__py3-none-any.whl → 20250201__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.
Files changed (153) hide show
  1. addon_utils/__init__.pyi +11 -6
  2. aud/__init__.pyi +4 -0
  3. bge/types/__init__.pyi +66 -27
  4. bgl/__init__.pyi +2 -2
  5. bgui/image/__init__.pyi +3 -1
  6. bgui/system/__init__.pyi +12 -4
  7. bl_console_utils/autocomplete/complete_calltip/__init__.pyi +5 -2
  8. bl_console_utils/autocomplete/complete_import/__init__.pyi +6 -3
  9. bl_console_utils/autocomplete/complete_namespace/__init__.pyi +2 -1
  10. bl_console_utils/autocomplete/intellisense/__init__.pyi +8 -2
  11. bl_operators/node/__init__.pyi +78 -0
  12. bl_ui/anim/__init__.pyi +6 -0
  13. bl_ui/generic_ui_list/__init__.pyi +2 -2
  14. bl_ui/node_add_menu_shader/__init__.pyi +0 -1
  15. bl_ui/node_add_menu_texture/__init__.pyi +1 -0
  16. bl_ui/properties_data_camera/__init__.pyi +0 -2
  17. bl_ui/properties_mask_common/__init__.pyi +17 -0
  18. bl_ui/properties_material_gpencil/__init__.pyi +29 -0
  19. bl_ui/properties_scene/__init__.pyi +6 -0
  20. bl_ui/properties_view_layer/__init__.pyi +1 -0
  21. bl_ui/space_clip/__init__.pyi +53 -0
  22. bl_ui/space_graph/__init__.pyi +2 -0
  23. bl_ui/space_image/__init__.pyi +25 -0
  24. bl_ui/space_node/__init__.pyi +0 -1
  25. bl_ui/space_sequencer/__init__.pyi +2 -1
  26. blf/__init__.pyi +6 -3
  27. bmesh/ops/__init__.pyi +111 -54
  28. bmesh/types/__init__.pyi +134 -46
  29. bmesh/utils/__init__.pyi +17 -5
  30. bpy/__init__.pyi +1 -2
  31. bpy/_typing/__init__.pyi +4 -0
  32. bpy/{typing → _typing/rna_enums}/__init__.pyi +36 -36
  33. bpy/app/__init__.pyi +13 -5
  34. bpy/app/handlers/__init__.pyi +4 -2
  35. bpy/app/icons/__init__.pyi +6 -2
  36. bpy/app/translations/__init__.pyi +17 -8
  37. bpy/msgbus/__init__.pyi +14 -2
  38. bpy/ops/action/__init__.pyi +51 -151
  39. bpy/ops/anim/__init__.pyi +61 -179
  40. bpy/ops/armature/__init__.pyi +48 -147
  41. bpy/ops/asset/__init__.pyi +16 -71
  42. bpy/ops/boid/__init__.pyi +11 -44
  43. bpy/ops/brush/__init__.pyi +16 -42
  44. bpy/ops/buttons/__init__.pyi +6 -29
  45. bpy/ops/cachefile/__init__.pyi +5 -19
  46. bpy/ops/camera/__init__.pyi +2 -5
  47. bpy/ops/clip/__init__.pyi +95 -293
  48. bpy/ops/cloth/__init__.pyi +1 -3
  49. bpy/ops/collection/__init__.pyi +10 -26
  50. bpy/ops/console/__init__.pyi +21 -79
  51. bpy/ops/constraint/__init__.pyi +18 -45
  52. bpy/ops/curve/__init__.pyi +57 -186
  53. bpy/ops/curves/__init__.pyi +37 -109
  54. bpy/ops/cycles/__init__.pyi +3 -9
  55. bpy/ops/dpaint/__init__.pyi +8 -22
  56. bpy/ops/ed/__init__.pyi +20 -52
  57. bpy/ops/export_anim/__init__.pyi +1 -3
  58. bpy/ops/export_scene/__init__.pyi +55 -32
  59. bpy/ops/extensions/__init__.pyi +34 -110
  60. bpy/ops/file/__init__.pyi +40 -167
  61. bpy/ops/fluid/__init__.pyi +14 -77
  62. bpy/ops/font/__init__.pyi +23 -85
  63. bpy/ops/geometry/__init__.pyi +29 -46
  64. bpy/ops/gizmogroup/__init__.pyi +2 -9
  65. bpy/ops/gpencil/__init__.pyi +8 -32
  66. bpy/ops/graph/__init__.pyi +82 -201
  67. bpy/ops/grease_pencil/__init__.pyi +125 -324
  68. bpy/ops/image/__init__.pyi +61 -163
  69. bpy/ops/import_anim/__init__.pyi +1 -3
  70. bpy/ops/import_curve/__init__.pyi +1 -3
  71. bpy/ops/import_scene/__init__.pyi +4 -6
  72. bpy/ops/info/__init__.pyi +7 -29
  73. bpy/ops/lattice/__init__.pyi +11 -32
  74. bpy/ops/logic/__init__.pyi +26 -65
  75. bpy/ops/marker/__init__.pyi +11 -31
  76. bpy/ops/mask/__init__.pyi +39 -132
  77. bpy/ops/material/__init__.pyi +3 -19
  78. bpy/ops/mball/__init__.pyi +8 -19
  79. bpy/ops/mesh/__init__.pyi +223 -470
  80. bpy/ops/nla/__init__.pyi +42 -150
  81. bpy/ops/node/__init__.pyi +169 -393
  82. bpy/ops/object/__init__.pyi +320 -749
  83. bpy/ops/outliner/__init__.pyi +76 -268
  84. bpy/ops/paint/__init__.pyi +67 -147
  85. bpy/ops/paintcurve/__init__.pyi +8 -33
  86. bpy/ops/palette/__init__.pyi +7 -27
  87. bpy/ops/particle/__init__.pyi +39 -134
  88. bpy/ops/pose/__init__.pyi +64 -182
  89. bpy/ops/poselib/__init__.pyi +9 -33
  90. bpy/ops/preferences/__init__.pyi +35 -94
  91. bpy/ops/ptcache/__init__.pyi +7 -33
  92. bpy/ops/render/__init__.pyi +13 -37
  93. bpy/ops/rigidbody/__init__.pyi +22 -54
  94. bpy/ops/scene/__init__.pyi +47 -130
  95. bpy/ops/screen/__init__.pyi +46 -144
  96. bpy/ops/script/__init__.pyi +3 -11
  97. bpy/ops/sculpt/__init__.pyi +40 -94
  98. bpy/ops/sculpt_curves/__init__.pyi +4 -10
  99. bpy/ops/sequencer/__init__.pyi +104 -327
  100. bpy/ops/sound/__init__.pyi +17 -28
  101. bpy/ops/spreadsheet/__init__.pyi +4 -15
  102. bpy/ops/surface/__init__.pyi +6 -13
  103. bpy/ops/text/__init__.pyi +43 -175
  104. bpy/ops/text_editor/__init__.pyi +1 -3
  105. bpy/ops/texture/__init__.pyi +4 -21
  106. bpy/ops/transform/__init__.pyi +114 -134
  107. bpy/ops/ui/__init__.pyi +39 -120
  108. bpy/ops/uilist/__init__.pyi +3 -7
  109. bpy/ops/uv/__init__.pyi +58 -143
  110. bpy/ops/view2d/__init__.pyi +14 -39
  111. bpy/ops/view3d/__init__.pyi +68 -238
  112. bpy/ops/wm/__init__.pyi +178 -319
  113. bpy/ops/workspace/__init__.pyi +7 -33
  114. bpy/ops/world/__init__.pyi +2 -11
  115. bpy/path/__init__.pyi +16 -6
  116. bpy/props/__init__.pyi +157 -127
  117. bpy/types/__init__.pyi +35227 -34838
  118. bpy/utils/__init__.pyi +71 -25
  119. bpy/utils/previews/__init__.pyi +2 -1
  120. bpy/utils/units/__init__.pyi +2 -1
  121. bpy_extras/anim_utils/__init__.pyi +11 -3
  122. bpy_extras/bmesh_utils/__init__.pyi +2 -1
  123. bpy_extras/image_utils/__init__.pyi +5 -2
  124. bpy_extras/io_utils/__init__.pyi +12 -5
  125. bpy_extras/mesh_utils/__init__.pyi +27 -6
  126. bpy_extras/object_utils/__init__.pyi +6 -5
  127. bpy_extras/view3d_utils/__init__.pyi +9 -2
  128. {fake_bge_module-20250104.dist-info → fake_bge_module-20250201.dist-info}/METADATA +3 -3
  129. {fake_bge_module-20250104.dist-info → fake_bge_module-20250201.dist-info}/RECORD +153 -152
  130. {fake_bge_module-20250104.dist-info → fake_bge_module-20250201.dist-info}/WHEEL +1 -1
  131. freestyle/chainingiterators/__init__.pyi +7 -2
  132. freestyle/functions/__init__.pyi +16 -4
  133. freestyle/shaders/__init__.pyi +5 -1
  134. freestyle/types/__init__.pyi +103 -30
  135. freestyle/utils/ContextFunctions/__init__.pyi +2 -2
  136. freestyle/utils/__init__.pyi +2 -1
  137. gpu/capabilities/__init__.pyi +2 -1
  138. gpu/matrix/__init__.pyi +4 -2
  139. gpu/state/__init__.pyi +2 -2
  140. gpu/types/__init__.pyi +40 -8
  141. gpu_extras/batch/__init__.pyi +13 -1
  142. gpu_extras/presets/__init__.pyi +10 -1
  143. idprop/types/__init__.pyi +4 -2
  144. imbuf/__init__.pyi +6 -3
  145. imbuf/types/__init__.pyi +5 -2
  146. mathutils/__init__.pyi +126 -35
  147. mathutils/bvhtree/__init__.pyi +21 -6
  148. mathutils/geometry/__init__.pyi +68 -22
  149. mathutils/interpolate/__init__.pyi +5 -1
  150. mathutils/kdtree/__init__.pyi +21 -8
  151. mathutils/noise/__init__.pyi +2 -1
  152. rna_info/__init__.pyi +2 -1
  153. {fake_bge_module-20250104.dist-info → fake_bge_module-20250201.dist-info}/top_level.txt +0 -0
bmesh/types/__init__.pyi CHANGED
@@ -29,7 +29,7 @@ class BMDeformVert:
29
29
  def clear(self):
30
30
  """Clears all weights."""
31
31
 
32
- def get(self, key: int, default=None):
32
+ def get(self, key: int, default: typing.Any | None = None):
33
33
  """Returns the deform weight matching the key or default
34
34
  when not found (matches Python's dictionary function of the same name).
35
35
 
@@ -37,30 +37,34 @@ class BMDeformVert:
37
37
  :type key: int
38
38
  :param default: Optional argument for the value to return if
39
39
  key is not found.
40
+ :type default: typing.Any | None
40
41
  """
41
42
 
42
- def items(self):
43
+ def items(self) -> list[tuple[int, float]]:
43
44
  """Return (group, weight) pairs for this vertex
44
45
  (matching Python's dict.items() functionality).
45
46
 
46
47
  :return: (key, value) pairs for each deform weight of this vertex.
48
+ :rtype: list[tuple[int, float]]
47
49
  """
48
50
 
49
- def keys(self):
51
+ def keys(self) -> list[int]:
50
52
  """Return the group indices used by this vertex
51
53
  (matching Python's dict.keys() functionality).
52
54
 
53
55
  :return: the deform group this vertex uses
56
+ :rtype: list[int]
54
57
  """
55
58
 
56
- def values(self):
59
+ def values(self) -> list[float]:
57
60
  """Return the weights of the deform vertex
58
61
  (matching Python's dict.values() functionality).
59
62
 
60
63
  :return: The weights that influence this vertex
64
+ :rtype: list[float]
61
65
  """
62
66
 
63
- class BMEdge[_GenericType1]:
67
+ class BMEdge:
64
68
  """The BMesh edge connecting 2 verts"""
65
69
 
66
70
  hide: bool
@@ -153,20 +157,22 @@ class BMEdge[_GenericType1]:
153
157
  :type: BMElemSeq[BMVert]
154
158
  """
155
159
 
156
- def calc_face_angle(self, fallback=None) -> float:
160
+ def calc_face_angle(self, fallback: typing.Any | None = None) -> float:
157
161
  """
158
162
 
159
163
  :param fallback: return this when the edge doesn't have 2 faces
160
164
  (instead of raising a `ValueError`).
165
+ :type fallback: typing.Any | None
161
166
  :return: The angle between 2 connected faces in radians.
162
167
  :rtype: float
163
168
  """
164
169
 
165
- def calc_face_angle_signed(self, fallback=None) -> float:
170
+ def calc_face_angle_signed(self, fallback: typing.Any | None = None) -> float:
166
171
  """
167
172
 
168
173
  :param fallback: return this when the edge doesn't have 2 faces
169
174
  (instead of raising a `ValueError`).
175
+ :type fallback: typing.Any | None
170
176
  :return: The angle between 2 connected faces in radians (negative for concave join).
171
177
  :rtype: float
172
178
  """
@@ -206,12 +212,13 @@ class BMEdge[_GenericType1]:
206
212
  def normal_update(self):
207
213
  """Update normals of all connected faces and the edge verts."""
208
214
 
209
- def other_vert(self, vert: BMVert):
215
+ def other_vert(self, vert: BMVert) -> BMVert | None:
210
216
  """Return the other vertex on this edge or None if the vertex is not used by this edge.
211
217
 
212
218
  :param vert: a vert in this edge.
213
219
  :type vert: BMVert
214
220
  :return: The edges other vert.
221
+ :rtype: BMVert | None
215
222
  """
216
223
 
217
224
  def select_set(self, select: bool):
@@ -222,7 +229,9 @@ class BMEdge[_GenericType1]:
222
229
  :type select: bool
223
230
  """
224
231
 
225
- def __getitem__(self, key: BMLayerItem[_GenericType1]) -> _GenericType1:
232
+ def __getitem__[_GenericType1](
233
+ self, key: BMLayerItem[_GenericType1]
234
+ ) -> _GenericType1:
226
235
  """
227
236
 
228
237
  :param key:
@@ -231,7 +240,9 @@ class BMEdge[_GenericType1]:
231
240
  :rtype: _GenericType1
232
241
  """
233
242
 
234
- def __setitem__(self, key: BMLayerItem[_GenericType1], value: _GenericType1):
243
+ def __setitem__[_GenericType1](
244
+ self, key: BMLayerItem[_GenericType1], value: _GenericType1
245
+ ):
235
246
  """
236
247
 
237
248
  :param key:
@@ -240,7 +251,7 @@ class BMEdge[_GenericType1]:
240
251
  :type value: _GenericType1
241
252
  """
242
253
 
243
- def __delitem__(self, key: BMLayerItem[_GenericType1]):
254
+ def __delitem__[_GenericType1](self, key: BMLayerItem[_GenericType1]):
244
255
  """
245
256
 
246
257
  :param key:
@@ -257,10 +268,11 @@ class BMEdgeSeq:
257
268
  def ensure_lookup_table(self):
258
269
  """Ensure internal data needed for int subscription is initialized with verts/edges/faces, eg bm.verts[index].This needs to be called again after adding/removing data in this sequence."""
259
270
 
260
- def get(self, verts, fallback=None) -> BMEdge:
271
+ def get(self, verts: collections.abc.Sequence[BMVert], fallback=None) -> BMEdge:
261
272
  """Return an edge which uses the verts passed.
262
273
 
263
274
  :param verts: Sequence of verts.
275
+ :type verts: collections.abc.Sequence[BMVert]
264
276
  :param fallback: Return this value if nothing is found.
265
277
  :return: The edge found or None
266
278
  :rtype: BMEdge
@@ -269,10 +281,13 @@ class BMEdgeSeq:
269
281
  def index_update(self):
270
282
  """Initialize the index values of this sequence.This is the equivalent of looping over all elements and assigning the index values."""
271
283
 
272
- def new(self, verts, example: BMEdge | None = None) -> BMEdge:
284
+ def new(
285
+ self, verts: collections.abc.Sequence[BMVert], example: BMEdge | None = None
286
+ ) -> BMEdge:
273
287
  """Create a new edge from a given pair of verts.
274
288
 
275
289
  :param verts: Vertex pair.
290
+ :type verts: collections.abc.Sequence[BMVert]
276
291
  :param example: Existing edge to initialize settings (optional argument).
277
292
  :type example: BMEdge | None
278
293
  :return: The newly created edge.
@@ -286,12 +301,18 @@ class BMEdgeSeq:
286
301
  :type edge: BMEdge
287
302
  """
288
303
 
289
- def sort(self, key: collections.abc.Callable | None = None, reverse: bool = False):
304
+ def sort(
305
+ self,
306
+ key: None
307
+ | collections.abc.Callable[[BMVert | BMEdge | BMFace], int]
308
+ | None = None,
309
+ reverse: bool = False,
310
+ ):
290
311
  """Sort the elements of this sequence, using an optional custom sort key.
291
312
  Indices of elements are not changed, `BMElemSeq.index_update` can be used for that.
292
313
 
293
314
  :param key: The key that sets the ordering of the elements.
294
- :type key: collections.abc.Callable | None
315
+ :type key: None | collections.abc.Callable[[BMVert | BMEdge | BMFace], int] | None
295
316
  :param reverse: Reverse the order of the elements
296
317
  :type reverse: bool
297
318
  """
@@ -307,13 +328,13 @@ class BMEdgeSeq:
307
328
  """
308
329
 
309
330
  @typing.overload
310
- def __getitem__(self, key: slice) -> tuple[BMEdge, ...]:
331
+ def __getitem__(self, key: slice) -> list[BMEdge, ...]:
311
332
  """
312
333
 
313
334
  :param key:
314
335
  :type key: slice
315
336
  :return:
316
- :rtype: tuple[BMEdge, ...]
337
+ :rtype: list[BMEdge, ...]
317
338
  """
318
339
 
319
340
  def __iter__(self) -> BMIter[BMEdge]:
@@ -383,13 +404,13 @@ class BMElemSeq[_GenericType1]:
383
404
  """
384
405
 
385
406
  @typing.overload
386
- def __getitem__(self, key: slice) -> tuple[_GenericType1, ...]:
407
+ def __getitem__(self, key: slice) -> list[_GenericType1, ...]:
387
408
  """
388
409
 
389
410
  :param key:
390
411
  :type key: slice
391
412
  :return:
392
- :rtype: tuple[_GenericType1, ...]
413
+ :rtype: list[_GenericType1, ...]
393
414
  """
394
415
 
395
416
  def __iter__(self) -> BMIter[_GenericType1]:
@@ -406,7 +427,7 @@ class BMElemSeq[_GenericType1]:
406
427
  :rtype: int
407
428
  """
408
429
 
409
- class BMFace[_GenericType1]:
430
+ class BMFace:
410
431
  """The BMesh face with 3 or more sides"""
411
432
 
412
433
  edges: BMElemSeq[BMEdge]
@@ -590,7 +611,9 @@ class BMFace[_GenericType1]:
590
611
  :type select: bool
591
612
  """
592
613
 
593
- def __getitem__(self, key: BMLayerItem[_GenericType1]) -> _GenericType1:
614
+ def __getitem__[_GenericType1](
615
+ self, key: BMLayerItem[_GenericType1]
616
+ ) -> _GenericType1:
594
617
  """
595
618
 
596
619
  :param key:
@@ -599,7 +622,9 @@ class BMFace[_GenericType1]:
599
622
  :rtype: _GenericType1
600
623
  """
601
624
 
602
- def __setitem__(self, key: BMLayerItem[_GenericType1], value: _GenericType1):
625
+ def __setitem__[_GenericType1](
626
+ self, key: BMLayerItem[_GenericType1], value: _GenericType1
627
+ ):
603
628
  """
604
629
 
605
630
  :param key:
@@ -608,7 +633,7 @@ class BMFace[_GenericType1]:
608
633
  :type value: _GenericType1
609
634
  """
610
635
 
611
- def __delitem__(self, key: BMLayerItem[_GenericType1]):
636
+ def __delitem__[_GenericType1](self, key: BMLayerItem[_GenericType1]):
612
637
  """
613
638
 
614
639
  :param key:
@@ -631,10 +656,11 @@ class BMFaceSeq:
631
656
  def ensure_lookup_table(self):
632
657
  """Ensure internal data needed for int subscription is initialized with verts/edges/faces, eg bm.verts[index].This needs to be called again after adding/removing data in this sequence."""
633
658
 
634
- def get(self, verts, fallback=None) -> BMFace:
659
+ def get(self, verts: collections.abc.Sequence[BMVert], fallback=None) -> BMFace:
635
660
  """Return a face which uses the verts passed.
636
661
 
637
662
  :param verts: Sequence of verts.
663
+ :type verts: collections.abc.Sequence[BMVert]
638
664
  :param fallback: Return this value if nothing is found.
639
665
  :return: The face found or None
640
666
  :rtype: BMFace
@@ -643,10 +669,13 @@ class BMFaceSeq:
643
669
  def index_update(self):
644
670
  """Initialize the index values of this sequence.This is the equivalent of looping over all elements and assigning the index values."""
645
671
 
646
- def new(self, verts, example: BMFace | None = None) -> BMFace:
672
+ def new(
673
+ self, verts: collections.abc.Sequence[BMVert], example: BMFace | None = None
674
+ ) -> BMFace:
647
675
  """Create a new face from a given set of verts.
648
676
 
649
677
  :param verts: Sequence of 3 or more verts.
678
+ :type verts: collections.abc.Sequence[BMVert]
650
679
  :param example: Existing face to initialize settings (optional argument).
651
680
  :type example: BMFace | None
652
681
  :return: The newly created face.
@@ -660,12 +689,18 @@ class BMFaceSeq:
660
689
  :type face: BMFace
661
690
  """
662
691
 
663
- def sort(self, key: collections.abc.Callable | None = None, reverse: bool = False):
692
+ def sort(
693
+ self,
694
+ key: None
695
+ | collections.abc.Callable[[BMVert | BMEdge | BMFace], int]
696
+ | None = None,
697
+ reverse: bool = False,
698
+ ):
664
699
  """Sort the elements of this sequence, using an optional custom sort key.
665
700
  Indices of elements are not changed, `BMElemSeq.index_update` can be used for that.
666
701
 
667
702
  :param key: The key that sets the ordering of the elements.
668
- :type key: collections.abc.Callable | None
703
+ :type key: None | collections.abc.Callable[[BMVert | BMEdge | BMFace], int] | None
669
704
  :param reverse: Reverse the order of the elements
670
705
  :type reverse: bool
671
706
  """
@@ -681,13 +716,13 @@ class BMFaceSeq:
681
716
  """
682
717
 
683
718
  @typing.overload
684
- def __getitem__(self, key: slice) -> tuple[BMFace, ...]:
719
+ def __getitem__(self, key: slice) -> list[BMFace, ...]:
685
720
  """
686
721
 
687
722
  :param key:
688
723
  :type key: slice
689
724
  :return:
690
- :rtype: tuple[BMFace, ...]
725
+ :rtype: list[BMFace, ...]
691
726
  """
692
727
 
693
728
  def __iter__(self) -> BMIter[BMFace]:
@@ -950,11 +985,12 @@ class BMLayerCollection[_GenericType1]:
950
985
  :rtype: list[str, BMLayerItem[_GenericType1]]
951
986
  """
952
987
 
953
- def keys(self):
988
+ def keys(self) -> list[str]:
954
989
  """Return the identifiers of collection members
955
990
  (matching Python's dict.keys() functionality).
956
991
 
957
992
  :return: the identifiers for each member of this collection.
993
+ :rtype: list[str]
958
994
  """
959
995
 
960
996
  def new(self, name: str | None = "") -> BMLayerItem[_GenericType1]:
@@ -1004,7 +1040,7 @@ class BMLayerItem[_GenericType1]:
1004
1040
  :type other: typing_extensions.Self
1005
1041
  """
1006
1042
 
1007
- class BMLoop[_GenericType1]:
1043
+ class BMLoop:
1008
1044
  """This is normally accessed from `BMFace.loops` where each face loop represents a corner of the face."""
1009
1045
 
1010
1046
  edge: BMEdge
@@ -1123,7 +1159,9 @@ class BMLoop[_GenericType1]:
1123
1159
  :type multires: bool
1124
1160
  """
1125
1161
 
1126
- def __getitem__(self, key: BMLayerItem[_GenericType1]) -> _GenericType1:
1162
+ def __getitem__[_GenericType1](
1163
+ self, key: BMLayerItem[_GenericType1]
1164
+ ) -> _GenericType1:
1127
1165
  """
1128
1166
 
1129
1167
  :param key:
@@ -1132,7 +1170,9 @@ class BMLoop[_GenericType1]:
1132
1170
  :rtype: _GenericType1
1133
1171
  """
1134
1172
 
1135
- def __setitem__(self, key: BMLayerItem[_GenericType1], value: _GenericType1):
1173
+ def __setitem__[_GenericType1](
1174
+ self, key: BMLayerItem[_GenericType1], value: _GenericType1
1175
+ ):
1136
1176
  """
1137
1177
 
1138
1178
  :param key:
@@ -1141,7 +1181,7 @@ class BMLoop[_GenericType1]:
1141
1181
  :type value: _GenericType1
1142
1182
  """
1143
1183
 
1144
- def __delitem__(self, key: BMLayerItem[_GenericType1]):
1184
+ def __delitem__[_GenericType1](self, key: BMLayerItem[_GenericType1]):
1145
1185
  """
1146
1186
 
1147
1187
  :param key:
@@ -1155,6 +1195,40 @@ class BMLoopSeq:
1155
1195
  :type: BMLayerAccessLoop
1156
1196
  """
1157
1197
 
1198
+ @typing.overload
1199
+ def __getitem__(self, key: int) -> BMLoop:
1200
+ """
1201
+
1202
+ :param key:
1203
+ :type key: int
1204
+ :return:
1205
+ :rtype: BMLoop
1206
+ """
1207
+
1208
+ @typing.overload
1209
+ def __getitem__(self, key: slice) -> list[BMLoop, ...]:
1210
+ """
1211
+
1212
+ :param key:
1213
+ :type key: slice
1214
+ :return:
1215
+ :rtype: list[BMLoop, ...]
1216
+ """
1217
+
1218
+ def __iter__(self) -> BMIter[BMLoop]:
1219
+ """
1220
+
1221
+ :return:
1222
+ :rtype: BMIter[BMLoop]
1223
+ """
1224
+
1225
+ def __len__(self) -> int:
1226
+ """
1227
+
1228
+ :return:
1229
+ :rtype: int
1230
+ """
1231
+
1158
1232
  class BMLoopUV:
1159
1233
  pin_uv: bool
1160
1234
  """ UV pin state.
@@ -1180,7 +1254,7 @@ class BMLoopUV:
1180
1254
  :type: mathutils.Vector
1181
1255
  """
1182
1256
 
1183
- class BMVert[_GenericType1]:
1257
+ class BMVert:
1184
1258
  """The BMesh vertex type"""
1185
1259
 
1186
1260
  co: mathutils.Vector
@@ -1261,11 +1335,12 @@ class BMVert[_GenericType1]:
1261
1335
  :type: bool
1262
1336
  """
1263
1337
 
1264
- def calc_edge_angle(self, fallback=None) -> float:
1338
+ def calc_edge_angle(self, fallback: typing.Any | None = None) -> float:
1265
1339
  """Return the angle between this vert's two connected edges.
1266
1340
 
1267
1341
  :param fallback: return this when the vert doesn't have 2 edges
1268
1342
  (instead of raising a `ValueError`).
1343
+ :type fallback: typing.Any | None
1269
1344
  :return: Angle between edges in radians.
1270
1345
  :rtype: float
1271
1346
  """
@@ -1293,10 +1368,13 @@ class BMVert[_GenericType1]:
1293
1368
  :type face: BMFace
1294
1369
  """
1295
1370
 
1296
- def copy_from_vert_interp(self, vert_pair, fac: float):
1371
+ def copy_from_vert_interp(
1372
+ self, vert_pair: collections.abc.Sequence[BMVert], fac: float
1373
+ ):
1297
1374
  """Interpolate the customdata from a vert between 2 other verts.
1298
1375
 
1299
1376
  :param vert_pair: The verts between which to interpolate data from.
1377
+ :type vert_pair: collections.abc.Sequence[BMVert]
1300
1378
  :param fac:
1301
1379
  :type fac: float
1302
1380
  """
@@ -1323,7 +1401,9 @@ class BMVert[_GenericType1]:
1323
1401
  :type select: bool
1324
1402
  """
1325
1403
 
1326
- def __getitem__(self, key: BMLayerItem[_GenericType1]) -> _GenericType1:
1404
+ def __getitem__[_GenericType1](
1405
+ self, key: BMLayerItem[_GenericType1]
1406
+ ) -> _GenericType1:
1327
1407
  """
1328
1408
 
1329
1409
  :param key:
@@ -1332,7 +1412,9 @@ class BMVert[_GenericType1]:
1332
1412
  :rtype: _GenericType1
1333
1413
  """
1334
1414
 
1335
- def __setitem__(self, key: BMLayerItem[_GenericType1], value: _GenericType1):
1415
+ def __setitem__[_GenericType1](
1416
+ self, key: BMLayerItem[_GenericType1], value: _GenericType1
1417
+ ):
1336
1418
  """
1337
1419
 
1338
1420
  :param key:
@@ -1341,7 +1423,7 @@ class BMVert[_GenericType1]:
1341
1423
  :type value: _GenericType1
1342
1424
  """
1343
1425
 
1344
- def __delitem__(self, key: BMLayerItem[_GenericType1]):
1426
+ def __delitem__[_GenericType1](self, key: BMLayerItem[_GenericType1]):
1345
1427
  """
1346
1428
 
1347
1429
  :param key:
@@ -1383,12 +1465,18 @@ class BMVertSeq:
1383
1465
  :type vert: BMVert
1384
1466
  """
1385
1467
 
1386
- def sort(self, key: collections.abc.Callable | None = None, reverse: bool = False):
1468
+ def sort(
1469
+ self,
1470
+ key: None
1471
+ | collections.abc.Callable[[BMVert | BMEdge | BMFace], int]
1472
+ | None = None,
1473
+ reverse: bool = False,
1474
+ ):
1387
1475
  """Sort the elements of this sequence, using an optional custom sort key.
1388
1476
  Indices of elements are not changed, `BMElemSeq.index_update` can be used for that.
1389
1477
 
1390
1478
  :param key: The key that sets the ordering of the elements.
1391
- :type key: collections.abc.Callable | None
1479
+ :type key: None | collections.abc.Callable[[BMVert | BMEdge | BMFace], int] | None
1392
1480
  :param reverse: Reverse the order of the elements
1393
1481
  :type reverse: bool
1394
1482
  """
@@ -1404,13 +1492,13 @@ class BMVertSeq:
1404
1492
  """
1405
1493
 
1406
1494
  @typing.overload
1407
- def __getitem__(self, key: slice) -> tuple[BMVert, ...]:
1495
+ def __getitem__(self, key: slice) -> list[BMVert, ...]:
1408
1496
  """
1409
1497
 
1410
1498
  :param key:
1411
1499
  :type key: slice
1412
1500
  :return:
1413
- :rtype: tuple[BMVert, ...]
1501
+ :rtype: list[BMVert, ...]
1414
1502
  """
1415
1503
 
1416
1504
  def __iter__(self) -> BMIter[BMVert]:
@@ -1478,11 +1566,11 @@ class BMesh:
1478
1566
  :type: BMVertSeq
1479
1567
  """
1480
1568
 
1481
- def calc_loop_triangles(self) -> BMLoop:
1569
+ def calc_loop_triangles(self) -> list[tuple[BMLoop, BMLoop, BMLoop]]:
1482
1570
  """Calculate triangle tessellation from quads/ngons.
1483
1571
 
1484
1572
  :return: The triangulated faces.
1485
- :rtype: BMLoop
1573
+ :rtype: list[tuple[BMLoop, BMLoop, BMLoop]]
1486
1574
  """
1487
1575
 
1488
1576
  def calc_volume(self, signed: bool = False) -> float:
bmesh/utils/__init__.pyi CHANGED
@@ -20,7 +20,9 @@ def edge_rotate(edge: bmesh.types.BMEdge, ccw: bool = False) -> bmesh.types.BMEd
20
20
  :rtype: bmesh.types.BMEdge
21
21
  """
22
22
 
23
- def edge_split(edge: bmesh.types.BMEdge, vert: bmesh.types.BMVert, fac: float):
23
+ def edge_split(
24
+ edge: bmesh.types.BMEdge, vert: bmesh.types.BMVert, fac: float
25
+ ) -> tuple[bmesh.types.BMEdge, bmesh.types.BMVert]:
24
26
  """Split an edge, return the newly created data.
25
27
 
26
28
  :param edge: The edge to split.
@@ -30,6 +32,7 @@ def edge_split(edge: bmesh.types.BMEdge, vert: bmesh.types.BMVert, fac: float):
30
32
  :param fac: The point on the edge where the new vert will be created [0 - 1].
31
33
  :type fac: float
32
34
  :return: The newly created (edge, vert) pair.
35
+ :rtype: tuple[bmesh.types.BMEdge, bmesh.types.BMVert]
33
36
  """
34
37
 
35
38
  def face_flip(faces):
@@ -50,10 +53,10 @@ def face_split(
50
53
  face: bmesh.types.BMFace,
51
54
  vert_a: bmesh.types.BMVert,
52
55
  vert_b: bmesh.types.BMVert,
53
- coords=(),
56
+ coords: collections.abc.Sequence[collections.abc.Sequence[float]] = (),
54
57
  use_exist: bool = True,
55
58
  example: bmesh.types.BMEdge | None = None,
56
- ):
59
+ ) -> tuple[bmesh.types.BMFace, bmesh.types.BMLoop]:
57
60
  """Face split with optional intermediate points.
58
61
 
59
62
  :param face: The face to cut.
@@ -63,20 +66,26 @@ def face_split(
63
66
  :param vert_b: Second vertex to cut in the face (face must contain the vert).
64
67
  :type vert_b: bmesh.types.BMVert
65
68
  :param coords: Optional sequence of 3D points in between vert_a and vert_b.
69
+ :type coords: collections.abc.Sequence[collections.abc.Sequence[float]]
66
70
  :param use_exist: .Use an existing edge if it exists (Only used when coords argument is empty or omitted)
67
71
  :type use_exist: bool
68
72
  :param example: Newly created edge will copy settings from this one.
69
73
  :type example: bmesh.types.BMEdge | None
70
74
  :return: The newly created face or None on failure.
75
+ :rtype: tuple[bmesh.types.BMFace, bmesh.types.BMLoop]
71
76
  """
72
77
 
73
- def face_split_edgenet(face: bmesh.types.BMFace, edgenet):
78
+ def face_split_edgenet(
79
+ face: bmesh.types.BMFace, edgenet: collections.abc.Sequence[bmesh.types.BMEdge]
80
+ ) -> tuple[bmesh.types.BMFace, ...]:
74
81
  """Splits a face into any number of regions defined by an edgenet.
75
82
 
76
83
  :param face: The face to split.The face to split.
77
84
  :type face: bmesh.types.BMFace
78
85
  :param edgenet: Sequence of edges.
86
+ :type edgenet: collections.abc.Sequence[bmesh.types.BMEdge]
79
87
  :return: The newly created faces.
88
+ :rtype: tuple[bmesh.types.BMFace, ...]
80
89
  """
81
90
 
82
91
  def face_vert_separate(
@@ -140,7 +149,9 @@ def vert_dissolve(vert: bmesh.types.BMVert) -> bool:
140
149
  :rtype: bool
141
150
  """
142
151
 
143
- def vert_separate(vert: bmesh.types.BMVert, edges: bmesh.types.BMEdge):
152
+ def vert_separate(
153
+ vert: bmesh.types.BMVert, edges: bmesh.types.BMEdge
154
+ ) -> tuple[bmesh.types.BMVert, ...]:
144
155
  """Separate this vertex at every edge.
145
156
 
146
157
  :param vert: The vert to be separated.
@@ -148,6 +159,7 @@ def vert_separate(vert: bmesh.types.BMVert, edges: bmesh.types.BMEdge):
148
159
  :param edges: The edges to separated.
149
160
  :type edges: bmesh.types.BMEdge
150
161
  :return: The newly separated verts (including the vertex passed).
162
+ :rtype: tuple[bmesh.types.BMVert, ...]
151
163
  """
152
164
 
153
165
  def vert_splice(vert: bmesh.types.BMVert, vert_target: bmesh.types.BMVert):
bpy/__init__.pyi CHANGED
@@ -16,10 +16,9 @@ from . import ops as ops
16
16
  from . import path as path
17
17
  from . import props as props
18
18
  from . import types as types
19
- from . import typing as typing
20
19
  from . import utils as utils
21
20
 
22
- context: bpy.types.Context | None
21
+ context: bpy.types.Context
23
22
 
24
23
  data: bpy.types.BlendData
25
24
  """ Access to Blender's internal data
@@ -0,0 +1,4 @@
1
+ import typing
2
+ import collections.abc
3
+ import typing_extensions
4
+ from . import rna_enums as rna_enums