fake-bpy-module 20250612__py3-none-any.whl → 20260118__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 (325) hide show
  1. {bl_console_utils → _bl_console_utils}/autocomplete/complete_calltip/__init__.pyi +0 -13
  2. {bl_console_utils → _bl_console_utils}/autocomplete/complete_import/__init__.pyi +0 -5
  3. {bl_console_utils → _bl_console_utils}/autocomplete/complete_namespace/__init__.pyi +0 -11
  4. {bl_console_utils → _bl_console_utils}/autocomplete/intellisense/__init__.pyi +0 -10
  5. {bl_i18n_utils → _bl_i18n_utils}/__init__.pyi +1 -0
  6. {bl_i18n_utils → _bl_i18n_utils}/bl_extract_messages/__init__.pyi +1 -0
  7. {bl_i18n_utils → _bl_i18n_utils}/settings/__init__.pyi +3 -1
  8. {bl_i18n_utils → _bl_i18n_utils}/utils/__init__.pyi +4 -4
  9. _bl_i18n_utils/utils_spell_check/__init__.pyi +22 -0
  10. {bl_ui_utils → _bl_ui_utils}/__init__.pyi +1 -0
  11. _blendfile_header/__init__.pyi +48 -0
  12. _bpy_internal/__init__.pyi +4 -1
  13. _bpy_internal/assets/__init__.pyi +5 -0
  14. _bpy_internal/assets/remote_library_listing/__init__.pyi +5 -0
  15. _bpy_internal/assets/remote_library_listing/blender_asset_library_openapi/__init__.pyi +13 -0
  16. _bpy_internal/disk_file_hash_service/__init__.pyi +19 -0
  17. _bpy_internal/disk_file_hash_service/backend_sqlite/__init__.pyi +48 -0
  18. _bpy_internal/disk_file_hash_service/hash_service/__init__.pyi +64 -0
  19. _bpy_internal/disk_file_hash_service/types/__init__.pyi +53 -0
  20. _bpy_internal/extensions/wheel_manager/__init__.pyi +1 -1
  21. _bpy_internal/filesystem/__init__.pyi +5 -0
  22. _bpy_internal/filesystem/locking/__init__.pyi +28 -0
  23. _bpy_internal/grease_pencil/stroke/__init__.pyi +2 -2
  24. _bpy_internal/platform/__init__.pyi +5 -0
  25. _bpy_types/__init__.pyi +1592 -0
  26. {keyingsets_utils → _keyingsets_utils}/__init__.pyi +2 -0
  27. {rna_info → _rna_info}/__init__.pyi +4 -2
  28. addon_utils/__init__.pyi +0 -13
  29. aud/__init__.pyi +122 -145
  30. bl_app_templates_system/Storyboarding/__init__.pyi +11 -0
  31. bl_app_templates_system/__init__.pyi +5 -0
  32. bl_app_templates_system/py.typed +0 -0
  33. bl_math/__init__.pyi +3 -13
  34. bl_operators/__init__.pyi +1 -0
  35. bl_operators/add_mesh_torus/__init__.pyi +2 -3
  36. bl_operators/anim/__init__.pyi +62 -38
  37. bl_operators/assets/__init__.pyi +4 -9
  38. bl_operators/bone_selection_sets/__init__.pyi +15 -42
  39. bl_operators/clip/__init__.pyi +12 -31
  40. bl_operators/connect_to_output/__init__.pyi +2 -3
  41. bl_operators/console/__init__.pyi +6 -15
  42. bl_operators/constraint/__init__.pyi +6 -13
  43. bl_operators/copy_global_transform/__init__.pyi +261 -0
  44. bl_operators/file/__init__.pyi +6 -11
  45. bl_operators/freestyle/__init__.pyi +5 -12
  46. bl_operators/geometry_nodes/__init__.pyi +5 -12
  47. bl_operators/grease_pencil/__init__.pyi +2 -3
  48. bl_operators/image/__init__.pyi +6 -15
  49. bl_operators/image_as_planes/__init__.pyi +3 -10
  50. bl_operators/mesh/__init__.pyi +3 -49
  51. bl_operators/node/__init__.pyi +294 -73
  52. bl_operators/object/__init__.pyi +17 -53
  53. bl_operators/object_align/__init__.pyi +2 -3
  54. bl_operators/object_quick_effects/__init__.pyi +5 -12
  55. bl_operators/object_randomize_transform/__init__.pyi +2 -3
  56. bl_operators/presets/__init__.pyi +27 -76
  57. bl_operators/rigidbody/__init__.pyi +4 -9
  58. bl_operators/screen_play_rendered_anim/__init__.pyi +2 -3
  59. bl_operators/sequencer/__init__.pyi +12 -27
  60. bl_operators/spreadsheet/__init__.pyi +2 -3
  61. bl_operators/userpref/__init__.pyi +26 -75
  62. bl_operators/uvcalc_follow_active/__init__.pyi +3 -4
  63. bl_operators/uvcalc_lightmap/__init__.pyi +3 -4
  64. bl_operators/uvcalc_transform/__init__.pyi +26 -16
  65. bl_operators/vertexpaint_dirt/__init__.pyi +2 -3
  66. bl_operators/view3d/__init__.pyi +9 -24
  67. bl_operators/wm/__init__.pyi +48 -139
  68. bl_operators/world/__init__.pyi +3 -4
  69. bl_ui/__init__.pyi +7 -7
  70. bl_ui/anim/__init__.pyi +2 -3
  71. bl_ui/asset_shelf/__init__.pyi +2 -3
  72. bl_ui/generic_ui_list/__init__.pyi +4 -19
  73. bl_ui/node_add_menu/__init__.pyi +263 -7
  74. bl_ui/node_add_menu_compositor/__init__.pyi +96 -79
  75. bl_ui/node_add_menu_geometry/__init__.pyi +309 -270
  76. bl_ui/node_add_menu_shader/__init__.pyi +49 -49
  77. bl_ui/node_add_menu_texture/__init__.pyi +17 -62
  78. bl_ui/properties_collection/__init__.pyi +9 -22
  79. bl_ui/properties_constraint/__init__.pyi +129 -282
  80. bl_ui/properties_data_armature/__init__.pyi +22 -57
  81. bl_ui/properties_data_bone/__init__.pyi +12 -31
  82. bl_ui/properties_data_camera/__init__.pyi +18 -47
  83. bl_ui/properties_data_curve/__init__.pyi +18 -47
  84. bl_ui/properties_data_curves/__init__.pyi +11 -26
  85. bl_ui/properties_data_empty/__init__.pyi +3 -6
  86. bl_ui/properties_data_grease_pencil/__init__.pyi +23 -62
  87. bl_ui/properties_data_lattice/__init__.pyi +7 -14
  88. bl_ui/properties_data_light/__init__.pyi +13 -32
  89. bl_ui/properties_data_lightprobe/__init__.pyi +16 -43
  90. bl_ui/properties_data_mesh/__init__.pyi +47 -62
  91. bl_ui/properties_data_metaball/__init__.pyi +9 -20
  92. bl_ui/properties_data_modifier/__init__.pyi +22 -28
  93. bl_ui/properties_data_pointcloud/__init__.pyi +8 -19
  94. bl_ui/properties_data_shaderfx/__init__.pyi +2 -3
  95. bl_ui/properties_data_speaker/__init__.pyi +9 -20
  96. bl_ui/properties_data_volume/__init__.pyi +12 -29
  97. bl_ui/properties_freestyle/__init__.pyi +27 -76
  98. bl_ui/properties_grease_pencil_common/__init__.pyi +10 -168
  99. bl_ui/properties_mask_common/__init__.pyi +8 -21
  100. bl_ui/properties_material/__init__.pyi +26 -86
  101. bl_ui/properties_material_gpencil/__init__.pyi +36 -57
  102. bl_ui/properties_object/__init__.pyi +59 -65
  103. bl_ui/properties_output/__init__.pyi +21 -60
  104. bl_ui/properties_paint_common/__init__.pyi +30 -22
  105. bl_ui/properties_particle/__init__.pyi +58 -161
  106. bl_ui/properties_physics_cloth/__init__.pyi +15 -42
  107. bl_ui/properties_physics_common/__init__.pyi +2 -3
  108. bl_ui/properties_physics_dynamicpaint/__init__.pyi +23 -66
  109. bl_ui/properties_physics_field/__init__.pyi +11 -30
  110. bl_ui/properties_physics_fluid/__init__.pyi +29 -84
  111. bl_ui/properties_physics_geometry_nodes/__init__.pyi +2 -3
  112. bl_ui/properties_physics_rigidbody/__init__.pyi +9 -24
  113. bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +14 -39
  114. bl_ui/properties_physics_softbody/__init__.pyi +16 -45
  115. bl_ui/properties_render/__init__.pyi +139 -197
  116. bl_ui/properties_scene/__init__.pyi +46 -50
  117. bl_ui/properties_strip/__init__.pyi +744 -0
  118. bl_ui/properties_strip_modifier/__init__.pyi +45 -0
  119. bl_ui/properties_texture/__init__.pyi +30 -83
  120. bl_ui/properties_view_layer/__init__.pyi +84 -39
  121. bl_ui/properties_workspace/__init__.pyi +6 -13
  122. bl_ui/properties_world/__init__.pyi +14 -35
  123. bl_ui/space_clip/__init__.pyi +150 -231
  124. bl_ui/space_console/__init__.pyi +7 -18
  125. bl_ui/space_dopesheet/__init__.pyi +143 -100
  126. bl_ui/space_filebrowser/__init__.pyi +33 -90
  127. bl_ui/space_graph/__init__.pyi +48 -85
  128. bl_ui/space_image/__init__.pyi +111 -229
  129. bl_ui/space_info/__init__.pyi +7 -18
  130. bl_ui/space_nla/__init__.pyi +44 -73
  131. bl_ui/space_node/__init__.pyi +161 -123
  132. bl_ui/space_outliner/__init__.pyi +16 -45
  133. bl_ui/space_properties/__init__.pyi +34 -10
  134. bl_ui/space_sequencer/__init__.pyi +164 -901
  135. bl_ui/space_spreadsheet/__init__.pyi +4 -9
  136. bl_ui/space_statusbar/__init__.pyi +2 -3
  137. bl_ui/space_text/__init__.pyi +17 -48
  138. bl_ui/space_time/__init__.pyi +25 -71
  139. bl_ui/space_toolsystem_common/__init__.pyi +2 -2
  140. bl_ui/space_toolsystem_toolbar/__init__.pyi +30 -7
  141. bl_ui/space_topbar/__init__.pyi +35 -79
  142. bl_ui/space_userpref/__init__.pyi +185 -321
  143. bl_ui/space_view3d/__init__.pyi +337 -817
  144. bl_ui/space_view3d_sidebar/__init__.pyi +127 -0
  145. bl_ui/space_view3d_toolbar/__init__.pyi +110 -880
  146. bl_ui/utils/__init__.pyi +0 -17
  147. blend_render_info/__init__.pyi +1 -0
  148. blf/__init__.pyi +8 -54
  149. bmesh/__init__.pyi +2 -9
  150. bmesh/geometry/__init__.pyi +1 -4
  151. bmesh/ops/__init__.pyi +125 -508
  152. bmesh/types/__init__.pyi +318 -664
  153. bmesh/utils/__init__.pyi +17 -43
  154. bpy/__init__.pyi +1 -1
  155. bpy/app/__init__.pyi +93 -88
  156. bpy/app/handlers/__init__.pyi +19 -19
  157. bpy/app/icons/__init__.pyi +0 -6
  158. bpy/app/timers/__init__.pyi +2 -7
  159. bpy/app/translations/__init__.pyi +8 -23
  160. bpy/msgbus/__init__.pyi +4 -6
  161. bpy/ops/action/__init__.pyi +68 -199
  162. bpy/ops/anim/__init__.pyi +142 -299
  163. bpy/ops/armature/__init__.pyi +78 -209
  164. bpy/ops/asset/__init__.pyi +46 -108
  165. bpy/ops/boid/__init__.pyi +28 -45
  166. bpy/ops/brush/__init__.pyi +13 -108
  167. bpy/ops/buttons/__init__.pyi +16 -75
  168. bpy/ops/cachefile/__init__.pyi +8 -65
  169. bpy/ops/camera/__init__.pyi +0 -11
  170. bpy/ops/clip/__init__.pyi +173 -471
  171. bpy/ops/cloth/__init__.pyi +0 -5
  172. bpy/ops/collection/__init__.pyi +23 -36
  173. bpy/ops/console/__init__.pyi +40 -98
  174. bpy/ops/constraint/__init__.pyi +14 -85
  175. bpy/ops/curve/__init__.pyi +94 -277
  176. bpy/ops/curves/__init__.pyi +119 -166
  177. bpy/ops/cycles/__init__.pyi +4 -15
  178. bpy/ops/dpaint/__init__.pyi +14 -24
  179. bpy/ops/ed/__init__.pyi +44 -92
  180. bpy/ops/export_anim/__init__.pyi +2 -10
  181. bpy/ops/export_scene/__init__.pyi +16 -170
  182. bpy/ops/extensions/__init__.pyi +60 -165
  183. bpy/ops/file/__init__.pyi +110 -246
  184. bpy/ops/fluid/__init__.pyi +52 -83
  185. bpy/ops/font/__init__.pyi +40 -144
  186. bpy/ops/geometry/__init__.pyi +12 -127
  187. bpy/ops/gizmogroup/__init__.pyi +4 -13
  188. bpy/ops/gpencil/__init__.pyi +22 -54
  189. bpy/ops/graph/__init__.pyi +92 -343
  190. bpy/ops/grease_pencil/__init__.pyi +218 -550
  191. bpy/ops/image/__init__.pyi +85 -435
  192. bpy/ops/import_anim/__init__.pyi +3 -17
  193. bpy/ops/import_curve/__init__.pyi +2 -5
  194. bpy/ops/import_scene/__init__.pyi +15 -49
  195. bpy/ops/info/__init__.pyi +16 -39
  196. bpy/ops/lattice/__init__.pyi +12 -36
  197. bpy/ops/marker/__init__.pyi +12 -51
  198. bpy/ops/mask/__init__.pyi +68 -193
  199. bpy/ops/material/__init__.pyi +18 -18
  200. bpy/ops/mball/__init__.pyi +4 -31
  201. bpy/ops/mesh/__init__.pyi +140 -967
  202. bpy/ops/nla/__init__.pyi +87 -206
  203. bpy/ops/node/__init__.pyi +714 -744
  204. bpy/ops/object/__init__.pyi +461 -1341
  205. bpy/ops/outliner/__init__.pyi +192 -376
  206. bpy/ops/paint/__init__.pyi +94 -319
  207. bpy/ops/paintcurve/__init__.pyi +20 -40
  208. bpy/ops/palette/__init__.pyi +14 -30
  209. bpy/ops/particle/__init__.pyi +86 -184
  210. bpy/ops/pointcloud/__init__.pyi +12 -38
  211. bpy/ops/pose/__init__.pyi +108 -261
  212. bpy/ops/poselib/__init__.pyi +32 -67
  213. bpy/ops/preferences/__init__.pyi +37 -187
  214. bpy/ops/ptcache/__init__.pyi +22 -36
  215. bpy/ops/render/__init__.pyi +20 -72
  216. bpy/ops/rigidbody/__init__.pyi +25 -63
  217. bpy/ops/scene/__init__.pyi +122 -181
  218. bpy/ops/screen/__init__.pyi +93 -221
  219. bpy/ops/script/__init__.pyi +4 -13
  220. bpy/ops/sculpt/__init__.pyi +69 -324
  221. bpy/ops/sculpt_curves/__init__.pyi +10 -23
  222. bpy/ops/sequencer/__init__.pyi +410 -730
  223. bpy/ops/sound/__init__.pyi +16 -114
  224. bpy/ops/spreadsheet/__init__.pyi +20 -37
  225. bpy/ops/surface/__init__.pyi +0 -48
  226. bpy/ops/text/__init__.pyi +112 -250
  227. bpy/ops/text_editor/__init__.pyi +0 -5
  228. bpy/ops/texture/__init__.pyi +14 -21
  229. bpy/ops/transform/__init__.pyi +18 -386
  230. bpy/ops/ui/__init__.pyi +117 -188
  231. bpy/ops/uilist/__init__.pyi +0 -13
  232. bpy/ops/uv/__init__.pyi +238 -305
  233. bpy/ops/view2d/__init__.pyi +16 -76
  234. bpy/ops/view3d/__init__.pyi +153 -377
  235. bpy/ops/wm/__init__.pyi +277 -1397
  236. bpy/ops/workspace/__init__.pyi +32 -39
  237. bpy/ops/world/__init__.pyi +10 -12
  238. bpy/path/__init__.pyi +1 -35
  239. bpy/props/__init__.pyi +347 -218
  240. bpy/stub_internal/rna_enums/__init__.pyi +142 -108
  241. bpy/types/__init__.pyi +77367 -101305
  242. bpy/utils/__init__.pyi +11 -82
  243. bpy/utils/previews/__init__.pyi +2 -11
  244. bpy/utils/units/__init__.pyi +5 -15
  245. bpy_extras/anim_utils/__init__.pyi +24 -16
  246. bpy_extras/bmesh_utils/__init__.pyi +0 -1
  247. bpy_extras/id_map_utils/__init__.pyi +14 -6
  248. bpy_extras/image_utils/__init__.pyi +2 -11
  249. bpy_extras/io_utils/__init__.pyi +8 -27
  250. bpy_extras/keyconfig_utils/__init__.pyi +1 -1
  251. bpy_extras/mesh_utils/__init__.pyi +0 -12
  252. bpy_extras/node_shader_utils/__init__.pyi +1 -9
  253. bpy_extras/object_utils/__init__.pyi +1 -15
  254. bpy_extras/view3d_utils/__init__.pyi +0 -18
  255. bpy_extras/wm_utils/progress_report/__init__.pyi +1 -1
  256. {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/METADATA +4 -1
  257. fake_bpy_module-20260118.dist-info/RECORD +385 -0
  258. {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/top_level.txt +17 -16
  259. freestyle/chainingiterators/__init__.pyi +5 -27
  260. freestyle/functions/__init__.pyi +0 -139
  261. freestyle/predicates/__init__.pyi +2 -53
  262. freestyle/shaders/__init__.pyi +15 -81
  263. freestyle/types/__init__.pyi +159 -799
  264. freestyle/utils/ContextFunctions/__init__.pyi +0 -23
  265. freestyle/utils/__init__.pyi +5 -11
  266. gpu/capabilities/__init__.pyi +0 -21
  267. gpu/matrix/__init__.pyi +1 -10
  268. gpu/platform/__init__.pyi +2 -7
  269. gpu/shader/__init__.pyi +26 -9
  270. gpu/state/__init__.pyi +60 -39
  271. gpu/texture/__init__.pyi +3 -5
  272. gpu/types/__init__.pyi +116 -184
  273. gpu_extras/batch/__init__.pyi +1 -5
  274. gpu_extras/presets/__init__.pyi +6 -8
  275. idprop/types/__init__.pyi +6 -6
  276. imbuf/__init__.pyi +3 -10
  277. imbuf/types/__init__.pyi +7 -21
  278. keyingsets_builtins/__init__.pyi +24 -67
  279. mathutils/__init__.pyi +241 -2207
  280. mathutils/bvhtree/__init__.pyi +18 -26
  281. mathutils/geometry/__init__.pyi +82 -132
  282. mathutils/interpolate/__init__.pyi +6 -5
  283. mathutils/kdtree/__init__.pyi +1 -11
  284. mathutils/noise/__init__.pyi +61 -106
  285. rna_prop_ui/__init__.pyi +1 -1
  286. bgl/__init__.pyi +0 -4256
  287. bpy_types/__init__.pyi +0 -30
  288. fake_bpy_module-20250612.dist-info/RECORD +0 -367
  289. {animsys_refactor → _animsys_refactor}/__init__.pyi +0 -0
  290. {animsys_refactor → _animsys_refactor}/py.typed +0 -0
  291. {bl_console_utils → _bl_console_utils}/__init__.pyi +0 -0
  292. {bl_console_utils → _bl_console_utils}/autocomplete/__init__.pyi +0 -0
  293. {bgl → _bl_console_utils}/py.typed +0 -0
  294. {bl_i18n_utils → _bl_i18n_utils}/merge_po/__init__.pyi +0 -0
  295. {bl_console_utils → _bl_i18n_utils}/py.typed +0 -0
  296. {bl_i18n_utils → _bl_i18n_utils}/utils_cli/__init__.pyi +0 -0
  297. {bl_i18n_utils → _bl_i18n_utils}/utils_languages_menu/__init__.pyi +0 -0
  298. {bl_i18n_utils → _bl_i18n_utils}/utils_rtl/__init__.pyi +0 -0
  299. {bl_previews_utils → _bl_previews_utils}/__init__.pyi +0 -0
  300. {bl_previews_utils → _bl_previews_utils}/bl_previews_render/__init__.pyi +0 -0
  301. {bl_i18n_utils → _bl_previews_utils}/py.typed +0 -0
  302. {bl_rna_utils → _bl_rna_utils}/__init__.pyi +0 -0
  303. {bl_rna_utils → _bl_rna_utils}/data_path/__init__.pyi +0 -0
  304. {bl_previews_utils → _bl_rna_utils}/py.typed +0 -0
  305. {bl_text_utils → _bl_text_utils}/__init__.pyi +0 -0
  306. {bl_text_utils → _bl_text_utils}/external_editor/__init__.pyi +0 -0
  307. {bl_rna_utils → _bl_text_utils}/py.typed +0 -0
  308. {bl_ui_utils → _bl_ui_utils}/layout/__init__.pyi +0 -0
  309. {bl_text_utils → _bl_ui_utils}/py.typed +0 -0
  310. {bl_ui_utils → _blendfile_header}/py.typed +0 -0
  311. /_bpy_internal/{freedesktop → platform/freedesktop}/__init__.pyi +0 -0
  312. {bpy_restrict_state → _bpy_restrict_state}/__init__.pyi +0 -0
  313. {bpy_restrict_state → _bpy_restrict_state}/py.typed +0 -0
  314. {bpy_types → _bpy_types}/py.typed +0 -0
  315. {console_python → _console_python}/__init__.pyi +0 -0
  316. {console_python → _console_python}/py.typed +0 -0
  317. {console_shell → _console_shell}/__init__.pyi +0 -0
  318. {console_shell → _console_shell}/py.typed +0 -0
  319. {graphviz_export → _graphviz_export}/__init__.pyi +0 -0
  320. {graphviz_export → _graphviz_export}/py.typed +0 -0
  321. {keyingsets_utils → _keyingsets_utils}/py.typed +0 -0
  322. {rna_info → _rna_info}/py.typed +0 -0
  323. {rna_xml → _rna_xml}/__init__.pyi +0 -0
  324. {rna_xml → _rna_xml}/py.typed +0 -0
  325. {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/WHEEL +0 -0
@@ -12,17 +12,15 @@ 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", "SMOOTH", "ERASE", "MASK"]
16
+ | None = "NORMAL",
16
17
  pen_flip: bool | None = False,
17
18
  override_location: bool | None = False,
18
19
  ignore_background_click: bool | None = False,
19
20
  ) -> None:
20
21
  """Sculpt a stroke into the geometry
21
22
 
22
- :type execution_context: int | str | None
23
- :type undo: bool | None
24
23
  :param stroke: Stroke
25
- :type stroke: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement] | None
26
24
  :param mode: Stroke Mode, Action taken when a paint stroke is made
27
25
 
28
26
  NORMAL
@@ -36,13 +34,12 @@ def brush_stroke(
36
34
 
37
35
  ERASE
38
36
  Erase -- Switch brush to erase mode for duration of stroke.
39
- :type mode: typing.Literal['NORMAL','INVERT','SMOOTH','ERASE'] | None
40
- :param pen_flip: Pen Flip, Whether a tablet's eraser mode is being used
41
- :type pen_flip: bool | None
42
- :param override_location: Override Location, Override the given location array by recalculating object space positions from the provided mouse_event positions
43
- :type override_location: bool | None
37
+
38
+ MASK
39
+ Mask -- Switch brush to mask mode for duration of stroke.
40
+ :param pen_flip: Pen Flip, Whether a tablets eraser mode is being used
41
+ :param override_location: Override Location, Override the given "location" array by recalculating object space positions from the provided "mouse_event" positions
44
42
  :param ignore_background_click: Ignore Background Click, Clicks on the background do not start the stroke
45
- :type ignore_background_click: bool | None
46
43
  """
47
44
 
48
45
  def cloth_filter(
@@ -67,17 +64,10 @@ def cloth_filter(
67
64
  ) -> None:
68
65
  """Applies a cloth simulation deformation to the entire mesh
69
66
 
70
- :type execution_context: int | str | None
71
- :type undo: bool | None
72
67
  :param start_mouse: Starting Mouse
73
- :type start_mouse: collections.abc.Iterable[int] | None
74
68
  :param area_normal_radius: Normal Radius, Radius used for calculating area normal on initial click,in percentage of brush radius
75
- :type area_normal_radius: float | None
76
69
  :param strength: Strength, Filter strength
77
- :type strength: float | None
78
70
  :param iteration_count: Repeat, How many times to repeat the filter
79
- :type iteration_count: int | None
80
- :type event_history: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement] | None
81
71
  :param type: Filter Type, Operation that is going to be applied to the mesh
82
72
 
83
73
  GRAVITY
@@ -87,14 +77,13 @@ def cloth_filter(
87
77
  Inflate -- Inflates the cloth.
88
78
 
89
79
  EXPAND
90
- Expand -- Expands the cloth's dimensions.
80
+ Expand -- Expands the cloths dimensions.
91
81
 
92
82
  PINCH
93
- Pinch -- Pulls the cloth to the cursor's start position.
83
+ Pinch -- Pulls the cloth to the cursors start position.
94
84
 
95
85
  SCALE
96
86
  Scale -- Scales the mesh as a soft body using the origin of the object as scale.
97
- :type type: typing.Literal['GRAVITY','INFLATE','EXPAND','PINCH','SCALE'] | None
98
87
  :param force_axis: Force Axis, Apply the force in the selected axis
99
88
 
100
89
  X
@@ -105,7 +94,6 @@ def cloth_filter(
105
94
 
106
95
  Z
107
96
  Z -- Apply force in the Z axis.
108
- :type force_axis: set[typing.Literal['X','Y','Z']] | None
109
97
  :param orientation: Orientation, Orientation of the axis to limit the filter force
110
98
 
111
99
  LOCAL
@@ -116,15 +104,10 @@ def cloth_filter(
116
104
 
117
105
  VIEW
118
106
  View -- Use the view axis to limit the force and set the gravity direction.
119
- :type orientation: typing.Literal['LOCAL','WORLD','VIEW'] | None
120
107
  :param cloth_mass: Cloth Mass, Mass of each simulation particle
121
- :type cloth_mass: float | None
122
108
  :param cloth_damping: Cloth Damping, How much the applied forces are propagated through the cloth
123
- :type cloth_damping: float | None
124
- :param use_face_sets: Use Face Sets, Apply the filter only to the Face Set under the cursor
125
- :type use_face_sets: bool | None
109
+ :param use_face_sets: Use Face Sets, Apply the filter only to the face set under the cursor
126
110
  :param use_collisions: Use Collisions, Collide with other collider objects in the scene
127
- :type use_collisions: bool | None
128
111
  """
129
112
 
130
113
  def color_filter(
@@ -159,17 +142,10 @@ def color_filter(
159
142
  ) -> None:
160
143
  """Applies a filter to modify the active color attribute
161
144
 
162
- :type execution_context: int | str | None
163
- :type undo: bool | None
164
145
  :param start_mouse: Starting Mouse
165
- :type start_mouse: collections.abc.Iterable[int] | None
166
146
  :param area_normal_radius: Normal Radius, Radius used for calculating area normal on initial click,in percentage of brush radius
167
- :type area_normal_radius: float | None
168
147
  :param strength: Strength, Filter strength
169
- :type strength: float | None
170
148
  :param iteration_count: Repeat, How many times to repeat the filter
171
- :type iteration_count: int | None
172
- :type event_history: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement] | None
173
149
  :param type: Filter Type
174
150
 
175
151
  FILL
@@ -201,37 +177,29 @@ def color_filter(
201
177
 
202
178
  BLUE
203
179
  Blue -- Change blue channel.
204
- :type type: typing.Literal['FILL','HUE','SATURATION','VALUE','BRIGHTNESS','CONTRAST','SMOOTH','RED','GREEN','BLUE'] | None
205
180
  :param fill_color: Fill Color
206
- :type fill_color: collections.abc.Sequence[float] | mathutils.Color | None
207
181
  """
208
182
 
209
183
  def detail_flood_fill(
210
- execution_context: int | str | None = None, undo: bool | None = None
184
+ execution_context: int | str | None = None,
185
+ undo: bool | None = None,
186
+ /,
211
187
  ) -> None:
212
- """Flood fill the mesh with the selected detail setting
213
-
214
- :type execution_context: int | str | None
215
- :type undo: bool | None
216
- """
188
+ """Flood fill the mesh with the selected detail setting"""
217
189
 
218
190
  def dynamic_topology_toggle(
219
- execution_context: int | str | None = None, undo: bool | None = None
191
+ execution_context: int | str | None = None,
192
+ undo: bool | None = None,
193
+ /,
220
194
  ) -> None:
221
- """Dynamic topology alters the mesh topology while sculpting
222
-
223
- :type execution_context: int | str | None
224
- :type undo: bool | None
225
- """
195
+ """Dynamic topology alters the mesh topology while sculpting"""
226
196
 
227
197
  def dyntopo_detail_size_edit(
228
- execution_context: int | str | None = None, undo: bool | None = None
198
+ execution_context: int | str | None = None,
199
+ undo: bool | None = None,
200
+ /,
229
201
  ) -> None:
230
- """Modify the detail size of dyntopo interactively
231
-
232
- :type execution_context: int | str | None
233
- :type undo: bool | None
234
- """
202
+ """Modify the detail size of dyntopo interactively"""
235
203
 
236
204
  def expand(
237
205
  execution_context: int | str | None = None,
@@ -261,28 +229,16 @@ def expand(
261
229
  ) -> None:
262
230
  """Generic sculpt expand operator
263
231
 
264
- :type execution_context: int | str | None
265
- :type undo: bool | None
266
232
  :param target: Data Target, Data that is going to be modified in the expand operation
267
- :type target: typing.Literal['MASK','FACE_SETS','COLOR'] | None
268
233
  :param falloff_type: Falloff Type, Initial falloff of the expand operation
269
- :type falloff_type: typing.Literal['GEODESIC','TOPOLOGY','TOPOLOGY_DIAGONALS','NORMALS','SPHERICAL','BOUNDARY_TOPOLOGY','BOUNDARY_FACE_SET','ACTIVE_FACE_SET'] | None
270
234
  :param invert: Invert, Invert the expand active elements
271
- :type invert: bool | None
272
235
  :param use_mask_preserve: Preserve Previous, Preserve the previous state of the target data
273
- :type use_mask_preserve: bool | None
274
236
  :param use_falloff_gradient: Falloff Gradient, Expand Using a linear falloff
275
- :type use_falloff_gradient: bool | None
276
- :param use_modify_active: Modify Active, Modify the active Face Set instead of creating a new one
277
- :type use_modify_active: bool | None
237
+ :param use_modify_active: Modify Active, Modify the active face set instead of creating a new one
278
238
  :param use_reposition_pivot: Reposition Pivot, Reposition the sculpt transform pivot to the boundary of the expand active area
279
- :type use_reposition_pivot: bool | None
280
239
  :param max_geodesic_move_preview: Max Vertex Count for Geodesic Move Preview, Maximum number of vertices in the mesh for using geodesic falloff when moving the origin of expand. If the total number of vertices is greater than this value, the falloff will be set to spherical when moving
281
- :type max_geodesic_move_preview: int | None
282
240
  :param use_auto_mask: Auto Create, Fill in mask if nothing is already masked
283
- :type use_auto_mask: bool | None
284
241
  :param normal_falloff_smooth: Normal Smooth, Blurring steps for normal falloff
285
- :type normal_falloff_smooth: int | None
286
242
  """
287
243
 
288
244
  def face_set_box_gesture(
@@ -299,20 +255,12 @@ def face_set_box_gesture(
299
255
  ) -> None:
300
256
  """Add a face set in a rectangle defined by the cursor
301
257
 
302
- :type execution_context: int | str | None
303
- :type undo: bool | None
304
258
  :param xmin: X Min
305
- :type xmin: int | None
306
259
  :param xmax: X Max
307
- :type xmax: int | None
308
260
  :param ymin: Y Min
309
- :type ymin: int | None
310
261
  :param ymax: Y Max
311
- :type ymax: int | None
312
262
  :param wait_for_input: Wait for Input
313
- :type wait_for_input: bool | None
314
263
  :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
315
- :type use_front_faces_only: bool | None
316
264
  """
317
265
 
318
266
  def face_set_change_visibility(
@@ -322,21 +270,18 @@ def face_set_change_visibility(
322
270
  *,
323
271
  mode: typing.Literal["TOGGLE", "SHOW_ACTIVE", "HIDE_ACTIVE"] | None = "TOGGLE",
324
272
  ) -> None:
325
- """Change the visibility of the Face Sets of the sculpt
273
+ """Change the visibility of the face sets of the sculpt
326
274
 
327
- :type execution_context: int | str | None
328
- :type undo: bool | None
329
275
  :param mode: Mode
330
276
 
331
277
  TOGGLE
332
- Toggle Visibility -- Hide all Face Sets except for the active one.
278
+ Toggle Visibility -- Hide all face sets except for the active one.
333
279
 
334
280
  SHOW_ACTIVE
335
- Show Active Face Set -- Show Active Face Set.
281
+ Show Active Face Set -- Show the active face set.
336
282
 
337
283
  HIDE_ACTIVE
338
- Hide Active Face Sets -- Hide Active Face Sets.
339
- :type mode: typing.Literal['TOGGLE','SHOW_ACTIVE','HIDE_ACTIVE'] | None
284
+ Hide Active Face Set -- Hide the active face set.
340
285
  """
341
286
 
342
287
  def face_set_edit(
@@ -352,33 +297,27 @@ def face_set_edit(
352
297
  strength: float | None = 1.0,
353
298
  modify_hidden: bool | None = False,
354
299
  ) -> None:
355
- """Edits the current active Face Set
300
+ """Edits the current active face set
356
301
 
357
- :type execution_context: int | str | None
358
- :type undo: bool | None
359
302
  :param active_face_set: Active Face Set
360
- :type active_face_set: int | None
361
303
  :param mode: Mode
362
304
 
363
305
  GROW
364
- Grow Face Set -- Grows the Face Sets boundary by one face based on mesh topology.
306
+ Grow Face Set -- Grows the face set boundary by one face based on mesh topology.
365
307
 
366
308
  SHRINK
367
- Shrink Face Set -- Shrinks the Face Sets boundary by one face based on mesh topology.
309
+ Shrink Face Set -- Shrinks the face set boundary by one face based on mesh topology.
368
310
 
369
311
  DELETE_GEOMETRY
370
- Delete Geometry -- Deletes the faces that are assigned to the Face Set.
312
+ Delete Geometry -- Deletes the faces that are assigned to the face set.
371
313
 
372
314
  FAIR_POSITIONS
373
- Fair Positions -- Creates a smooth as possible geometry patch from the Face Set minimizing changes in vertex positions.
315
+ Fair Positions -- Creates a smooth as possible geometry patch from the face set minimizing changes in vertex positions.
374
316
 
375
317
  FAIR_TANGENCY
376
- Fair Tangency -- Creates a smooth as possible geometry patch from the Face Set minimizing changes in vertex tangents.
377
- :type mode: typing.Literal['GROW','SHRINK','DELETE_GEOMETRY','FAIR_POSITIONS','FAIR_TANGENCY'] | None
318
+ Fair Tangency -- Creates a smooth as possible geometry patch from the face set minimizing changes in vertex tangents.
378
319
  :param strength: Strength
379
- :type strength: float | None
380
320
  :param modify_hidden: Modify Hidden, Apply the edit operation to hidden geometry
381
- :type modify_hidden: bool | None
382
321
  """
383
322
 
384
323
  def face_set_extract(
@@ -391,18 +330,12 @@ def face_set_extract(
391
330
  apply_shrinkwrap: bool | None = True,
392
331
  add_solidify: bool | None = True,
393
332
  ) -> None:
394
- """Create a new mesh object from the selected Face Set
333
+ """Create a new mesh object from the selected face set
395
334
 
396
- :type execution_context: int | str | None
397
- :type undo: bool | None
398
335
  :param add_boundary_loop: Add Boundary Loop, Add an extra edge loop to better preserve the shape when applying a subdivision surface modifier
399
- :type add_boundary_loop: bool | None
400
336
  :param smooth_iterations: Smooth Iterations, Smooth iterations applied to the extracted mesh
401
- :type smooth_iterations: int | None
402
337
  :param apply_shrinkwrap: Project to Sculpt, Project the extracted mesh into the original sculpt
403
- :type apply_shrinkwrap: bool | None
404
338
  :param add_solidify: Extract as Solid, Extract the mask as a solid object with a solidify modifier
405
- :type add_solidify: bool | None
406
339
  """
407
340
 
408
341
  def face_set_lasso_gesture(
@@ -418,18 +351,11 @@ def face_set_lasso_gesture(
418
351
  ) -> None:
419
352
  """Add a face set in a shape defined by the cursor
420
353
 
421
- :type execution_context: int | str | None
422
- :type undo: bool | None
423
354
  :param path: Path
424
- :type path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath] | None
425
355
  :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path
426
- :type use_smooth_stroke: bool | None
427
356
  :param smooth_stroke_factor: Smooth Stroke Factor, Higher values gives a smoother stroke
428
- :type smooth_stroke_factor: float | None
429
357
  :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues
430
- :type smooth_stroke_radius: int | None
431
358
  :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
432
- :type use_front_faces_only: bool | None
433
359
  """
434
360
 
435
361
  def face_set_line_gesture(
@@ -448,24 +374,14 @@ def face_set_line_gesture(
448
374
  ) -> None:
449
375
  """Add a face set to one side of a line defined by the cursor
450
376
 
451
- :type execution_context: int | str | None
452
- :type undo: bool | None
453
377
  :param xstart: X Start
454
- :type xstart: int | None
455
378
  :param xend: X End
456
- :type xend: int | None
457
379
  :param ystart: Y Start
458
- :type ystart: int | None
459
380
  :param yend: Y End
460
- :type yend: int | None
461
381
  :param flip: Flip
462
- :type flip: bool | None
463
382
  :param cursor: Cursor, Mouse cursor style to use during the modal operator
464
- :type cursor: int | None
465
383
  :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
466
- :type use_front_faces_only: bool | None
467
384
  :param use_limit_to_segment: Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line
468
- :type use_limit_to_segment: bool | None
469
385
  """
470
386
 
471
387
  def face_set_polyline_gesture(
@@ -478,12 +394,8 @@ def face_set_polyline_gesture(
478
394
  ) -> None:
479
395
  """Add a face set in a shape defined by the cursor
480
396
 
481
- :type execution_context: int | str | None
482
- :type undo: bool | None
483
397
  :param path: Path
484
- :type path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath] | None
485
398
  :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
486
- :type use_front_faces_only: bool | None
487
399
  """
488
400
 
489
401
  def face_sets_create(
@@ -493,24 +405,21 @@ def face_sets_create(
493
405
  *,
494
406
  mode: typing.Literal["MASKED", "VISIBLE", "ALL", "SELECTION"] | None = "MASKED",
495
407
  ) -> None:
496
- """Create a new Face Set
408
+ """Create a new face set
497
409
 
498
- :type execution_context: int | str | None
499
- :type undo: bool | None
500
410
  :param mode: Mode
501
411
 
502
412
  MASKED
503
- Face Set from Masked -- Create a new Face Set from the masked faces.
413
+ Face Set from Masked -- Create a new face set from the masked faces.
504
414
 
505
415
  VISIBLE
506
- Face Set from Visible -- Create a new Face Set from the visible vertices.
416
+ Face Set from Visible -- Create a new face set from the visible vertices.
507
417
 
508
418
  ALL
509
- Face Set Full Mesh -- Create an unique Face Set with all faces in the sculpt.
419
+ Face Set Full Mesh -- Create an unique face set with all faces in the sculpt.
510
420
 
511
421
  SELECTION
512
- Face Set from Edit Mode Selection -- Create an Face Set corresponding to the Edit Mode face selection.
513
- :type mode: typing.Literal['MASKED','VISIBLE','ALL','SELECTION'] | None
422
+ Face Set from Edit Mode Selection -- Create an face set corresponding to the Edit Mode face selection.
514
423
  """
515
424
 
516
425
  def face_sets_init(
@@ -531,48 +440,42 @@ def face_sets_init(
531
440
  | None = "LOOSE_PARTS",
532
441
  threshold: float | None = 0.5,
533
442
  ) -> None:
534
- """Initializes all Face Sets in the mesh
443
+ """Initializes all face sets in the mesh
535
444
 
536
- :type execution_context: int | str | None
537
- :type undo: bool | None
538
445
  :param mode: Mode
539
446
 
540
447
  LOOSE_PARTS
541
- Face Sets from Loose Parts -- Create a Face Set per loose part in the mesh.
448
+ Face Sets from Loose Parts -- Create a face set per loose part in the mesh.
542
449
 
543
450
  MATERIALS
544
- Face Sets from Material Slots -- Create a Face Set per Material Slot.
451
+ Face Sets from Material Slots -- Create a face set per material slot.
545
452
 
546
453
  NORMALS
547
- Face Sets from Mesh Normals -- Create Face Sets for Faces that have similar normal.
454
+ Face Sets from Mesh Normals -- Create face sets for faces that have similar normal.
548
455
 
549
456
  UV_SEAMS
550
- Face Sets from UV Seams -- Create Face Sets using UV Seams as boundaries.
457
+ Face Sets from UV Seams -- Create face sets using UV seams as boundaries.
551
458
 
552
459
  CREASES
553
- Face Sets from Edge Creases -- Create Face Sets using Edge Creases as boundaries.
460
+ Face Sets from Edge Creases -- Create face sets using edge creases as boundaries.
554
461
 
555
462
  BEVEL_WEIGHT
556
- Face Sets from Bevel Weight -- Create Face Sets using Bevel Weights as boundaries.
463
+ Face Sets from Bevel Weight -- Create face sets using bevel weights as boundaries.
557
464
 
558
465
  SHARP_EDGES
559
- Face Sets from Sharp Edges -- Create Face Sets using Sharp Edges as boundaries.
466
+ Face Sets from Sharp Edges -- Create face sets using sharp edges as boundaries.
560
467
 
561
468
  FACE_SET_BOUNDARIES
562
- Face Sets from Face Set Boundaries -- Create a Face Set per isolated Face Set.
563
- :type mode: typing.Literal['LOOSE_PARTS','MATERIALS','NORMALS','UV_SEAMS','CREASES','BEVEL_WEIGHT','SHARP_EDGES','FACE_SET_BOUNDARIES'] | None
564
- :param threshold: Threshold, Minimum value to consider a certain attribute a boundary when creating the Face Sets
565
- :type threshold: float | None
469
+ Face Sets from Face Set Boundaries -- Create a face set per isolated face set.
470
+ :param threshold: Threshold, Minimum value to consider a certain attribute a boundary when creating the face sets
566
471
  """
567
472
 
568
473
  def face_sets_randomize_colors(
569
- execution_context: int | str | None = None, undo: bool | None = None
474
+ execution_context: int | str | None = None,
475
+ undo: bool | None = None,
476
+ /,
570
477
  ) -> None:
571
- """Generates a new set of random colors to render the Face Sets in the viewport
572
-
573
- :type execution_context: int | str | None
574
- :type undo: bool | None
575
- """
478
+ """Generates a new set of random colors to render the face sets in the viewport"""
576
479
 
577
480
  def mask_by_color(
578
481
  execution_context: int | str | None = None,
@@ -587,18 +490,11 @@ def mask_by_color(
587
490
  ) -> None:
588
491
  """Creates a mask based on the active color attribute
589
492
 
590
- :type execution_context: int | str | None
591
- :type undo: bool | None
592
493
  :param contiguous: Contiguous, Mask only contiguous color areas
593
- :type contiguous: bool | None
594
494
  :param invert: Invert, Invert the generated mask
595
- :type invert: bool | None
596
495
  :param preserve_previous_mask: Preserve Previous Mask, Preserve the previous mask and add or subtract the new one generated by the colors
597
- :type preserve_previous_mask: bool | None
598
496
  :param threshold: Threshold, How much changes in color affect the mask generation
599
- :type threshold: float | None
600
497
  :param location: Location, Region coordinates of sampling
601
- :type location: collections.abc.Iterable[int] | None
602
498
  """
603
499
 
604
500
  def mask_filter(
@@ -615,14 +511,9 @@ def mask_filter(
615
511
  ) -> None:
616
512
  """Applies a filter to modify the current mask
617
513
 
618
- :type execution_context: int | str | None
619
- :type undo: bool | None
620
514
  :param filter_type: Type, Filter that is going to be applied to the mask
621
- :type filter_type: typing.Literal['SMOOTH','SHARPEN','GROW','SHRINK','CONTRAST_INCREASE','CONTRAST_DECREASE'] | None
622
515
  :param iterations: Iterations, Number of times that the filter is going to be applied
623
- :type iterations: int | None
624
516
  :param auto_iteration_count: Auto Iteration Count, Use an automatic number of iterations based on the number of vertices of the sculpt
625
- :type auto_iteration_count: bool | None
626
517
  """
627
518
 
628
519
  def mask_from_boundary(
@@ -639,12 +530,8 @@ def mask_from_boundary(
639
530
  ) -> None:
640
531
  """Creates a mask based on the boundaries of the surface
641
532
 
642
- :type execution_context: int | str | None
643
- :type undo: bool | None
644
533
  :param mix_mode: Mode, Mix mode
645
- :type mix_mode: typing.Literal['MIX','MULTIPLY','DIVIDE','ADD','SUBTRACT'] | None
646
534
  :param mix_factor: Mix Factor
647
- :type mix_factor: float | None
648
535
  :param settings_source: Settings, Use settings from here
649
536
 
650
537
  OPERATOR
@@ -655,7 +542,6 @@ def mask_from_boundary(
655
542
 
656
543
  SCENE
657
544
  Scene -- Use settings from scene.
658
- :type settings_source: typing.Literal['OPERATOR','BRUSH','SCENE'] | None
659
545
  :param boundary_mode: Mode, Boundary type to mask
660
546
 
661
547
  MESH
@@ -663,9 +549,7 @@ def mask_from_boundary(
663
549
 
664
550
  FACE_SETS
665
551
  Face Sets -- Calculate the boundary mask between face sets.
666
- :type boundary_mode: typing.Literal['MESH','FACE_SETS'] | None
667
552
  :param propagation_steps: Propagation Steps
668
- :type propagation_steps: int | None
669
553
  """
670
554
 
671
555
  def mask_from_cavity(
@@ -684,12 +568,8 @@ def mask_from_cavity(
684
568
  ) -> None:
685
569
  """Creates a mask based on the curvature of the surface
686
570
 
687
- :type execution_context: int | str | None
688
- :type undo: bool | None
689
571
  :param mix_mode: Mode, Mix mode
690
- :type mix_mode: typing.Literal['MIX','MULTIPLY','DIVIDE','ADD','SUBTRACT'] | None
691
572
  :param mix_factor: Mix Factor
692
- :type mix_factor: float | None
693
573
  :param settings_source: Settings, Use settings from here
694
574
 
695
575
  OPERATOR
@@ -700,15 +580,10 @@ def mask_from_cavity(
700
580
 
701
581
  SCENE
702
582
  Scene -- Use settings from scene.
703
- :type settings_source: typing.Literal['OPERATOR','BRUSH','SCENE'] | None
704
583
  :param factor: Factor, The contrast of the cavity mask
705
- :type factor: float | None
706
584
  :param blur_steps: Blur, The number of times the cavity mask is blurred
707
- :type blur_steps: int | None
708
585
  :param use_curve: Custom Curve
709
- :type use_curve: bool | None
710
586
  :param invert: Cavity (Inverted)
711
- :type invert: bool | None
712
587
  """
713
588
 
714
589
  def mask_init(
@@ -723,10 +598,7 @@ def mask_init(
723
598
  ) -> None:
724
599
  """Creates a new mask for the entire mesh
725
600
 
726
- :type execution_context: int | str | None
727
- :type undo: bool | None
728
601
  :param mode: Mode
729
- :type mode: typing.Literal['RANDOM_PER_VERTEX','RANDOM_PER_FACE_SET','RANDOM_PER_LOOSE_PART'] | None
730
602
  """
731
603
 
732
604
  def mesh_filter(
@@ -764,17 +636,10 @@ def mesh_filter(
764
636
  ) -> None:
765
637
  """Applies a filter to modify the current mesh
766
638
 
767
- :type execution_context: int | str | None
768
- :type undo: bool | None
769
639
  :param start_mouse: Starting Mouse
770
- :type start_mouse: collections.abc.Iterable[int] | None
771
640
  :param area_normal_radius: Normal Radius, Radius used for calculating area normal on initial click,in percentage of brush radius
772
- :type area_normal_radius: float | None
773
641
  :param strength: Strength, Filter strength
774
- :type strength: float | None
775
642
  :param iteration_count: Repeat, How many times to repeat the filter
776
- :type iteration_count: int | None
777
- :type event_history: bpy.types.bpy_prop_collection[bpy.types.OperatorStrokeElement] | None
778
643
  :param type: Filter Type, Operation that is going to be applied to the mesh
779
644
 
780
645
  SMOOTH
@@ -796,7 +661,7 @@ def mesh_filter(
796
661
  Relax -- Relax mesh.
797
662
 
798
663
  RELAX_FACE_SETS
799
- Relax Face Sets -- Smooth the edges of all the Face Sets.
664
+ Relax Face Sets -- Smooth the edges of all the face sets.
800
665
 
801
666
  SURFACE_SMOOTH
802
667
  Surface Smooth -- Smooth the surface of the mesh, preserving the volume.
@@ -809,7 +674,6 @@ def mesh_filter(
809
674
 
810
675
  ERASE_DISPLACEMENT
811
676
  Erase Displacement -- Deletes the displacement of the Multires Modifier.
812
- :type type: typing.Literal['SMOOTH','SCALE','INFLATE','SPHERE','RANDOM','RELAX','RELAX_FACE_SETS','SURFACE_SMOOTH','SHARPEN','ENHANCE_DETAILS','ERASE_DISPLACEMENT'] | None
813
677
  :param deform_axis: Deform Axis, Apply the deformation in the selected axis
814
678
 
815
679
  X
@@ -820,7 +684,6 @@ def mesh_filter(
820
684
 
821
685
  Z
822
686
  Z -- Deform in the Z axis.
823
- :type deform_axis: set[typing.Literal['X','Y','Z']] | None
824
687
  :param orientation: Orientation, Orientation of the axis to limit the filter displacement
825
688
 
826
689
  LOCAL
@@ -831,27 +694,19 @@ def mesh_filter(
831
694
 
832
695
  VIEW
833
696
  View -- Use the view axis to limit the displacement.
834
- :type orientation: typing.Literal['LOCAL','WORLD','VIEW'] | None
835
697
  :param surface_smooth_shape_preservation: Shape Preservation, How much of the original shape is preserved when smoothing
836
- :type surface_smooth_shape_preservation: float | None
837
698
  :param surface_smooth_current_vertex: Per Vertex Displacement, How much the position of each individual vertex influences the final result
838
- :type surface_smooth_current_vertex: float | None
839
699
  :param sharpen_smooth_ratio: Smooth Ratio, How much smoothing is applied to polished surfaces
840
- :type sharpen_smooth_ratio: float | None
841
700
  :param sharpen_intensify_detail_strength: Intensify Details, How much creases and valleys are intensified
842
- :type sharpen_intensify_detail_strength: float | None
843
701
  :param sharpen_curvature_smooth_iterations: Curvature Smooth Iterations, How much smooth the resulting shape is, ignoring high frequency details
844
- :type sharpen_curvature_smooth_iterations: int | None
845
702
  """
846
703
 
847
704
  def optimize(
848
- execution_context: int | str | None = None, undo: bool | None = None
705
+ execution_context: int | str | None = None,
706
+ undo: bool | None = None,
707
+ /,
849
708
  ) -> None:
850
- """Recalculate the sculpt BVH to improve performance
851
-
852
- :type execution_context: int | str | None
853
- :type undo: bool | None
854
- """
709
+ """Recalculate the sculpt BVH to improve performance"""
855
710
 
856
711
  def paint_mask_extract(
857
712
  execution_context: int | str | None = None,
@@ -866,18 +721,11 @@ def paint_mask_extract(
866
721
  ) -> None:
867
722
  """Create a new mesh object from the current paint mask
868
723
 
869
- :type execution_context: int | str | None
870
- :type undo: bool | None
871
724
  :param mask_threshold: Threshold, Minimum mask value to consider the vertex valid to extract a face from the original mesh
872
- :type mask_threshold: float | None
873
725
  :param add_boundary_loop: Add Boundary Loop, Add an extra edge loop to better preserve the shape when applying a subdivision surface modifier
874
- :type add_boundary_loop: bool | None
875
726
  :param smooth_iterations: Smooth Iterations, Smooth iterations applied to the extracted mesh
876
- :type smooth_iterations: int | None
877
727
  :param apply_shrinkwrap: Project to Sculpt, Project the extracted mesh into the original sculpt
878
- :type apply_shrinkwrap: bool | None
879
728
  :param add_solidify: Extract as Solid, Extract the mask as a solid object with a solidify modifier
880
- :type add_solidify: bool | None
881
729
  """
882
730
 
883
731
  def paint_mask_slice(
@@ -891,14 +739,9 @@ def paint_mask_slice(
891
739
  ) -> None:
892
740
  """Slices the paint mask from the mesh
893
741
 
894
- :type execution_context: int | str | None
895
- :type undo: bool | None
896
742
  :param mask_threshold: Threshold, Minimum mask value to consider the vertex valid to extract a face from the original mesh
897
- :type mask_threshold: float | None
898
743
  :param fill_holes: Fill Holes, Fill holes after slicing the mask
899
- :type fill_holes: bool | None
900
744
  :param new_object: Slice to New Object, Create a new object from the sliced mask
901
- :type new_object: bool | None
902
745
  """
903
746
 
904
747
  def project_line_gesture(
@@ -917,33 +760,14 @@ def project_line_gesture(
917
760
  ) -> None:
918
761
  """Project the geometry onto a plane defined by a line
919
762
 
920
- :type execution_context: int | str | None
921
- :type undo: bool | None
922
763
  :param xstart: X Start
923
- :type xstart: int | None
924
764
  :param xend: X End
925
- :type xend: int | None
926
765
  :param ystart: Y Start
927
- :type ystart: int | None
928
766
  :param yend: Y End
929
- :type yend: int | None
930
767
  :param flip: Flip
931
- :type flip: bool | None
932
768
  :param cursor: Cursor, Mouse cursor style to use during the modal operator
933
- :type cursor: int | None
934
769
  :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
935
- :type use_front_faces_only: bool | None
936
770
  :param use_limit_to_segment: Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line
937
- :type use_limit_to_segment: bool | None
938
- """
939
-
940
- def sample_color(
941
- execution_context: int | str | None = None, undo: bool | None = None
942
- ) -> None:
943
- """Sample the vertex color of the active vertex
944
-
945
- :type execution_context: int | str | None
946
- :type undo: bool | None
947
771
  """
948
772
 
949
773
  def sample_detail_size(
@@ -956,10 +780,7 @@ def sample_detail_size(
956
780
  ) -> None:
957
781
  """Sample the mesh detail on clicked point
958
782
 
959
- :type execution_context: int | str | None
960
- :type undo: bool | None
961
783
  :param location: Location, Screen coordinates of sampling
962
- :type location: collections.abc.Iterable[int] | None
963
784
  :param mode: Detail Mode, Target sculpting workflow that is going to use the sampled size
964
785
 
965
786
  DYNTOPO
@@ -967,26 +788,21 @@ def sample_detail_size(
967
788
 
968
789
  VOXEL
969
790
  Voxel -- Sample mesh voxel size.
970
- :type mode: typing.Literal['DYNTOPO','VOXEL'] | None
971
791
  """
972
792
 
973
793
  def sculptmode_toggle(
974
- execution_context: int | str | None = None, undo: bool | None = None
794
+ execution_context: int | str | None = None,
795
+ undo: bool | None = None,
796
+ /,
975
797
  ) -> None:
976
- """Toggle sculpt mode in 3D view
977
-
978
- :type execution_context: int | str | None
979
- :type undo: bool | None
980
- """
798
+ """Toggle sculpt mode in 3D view"""
981
799
 
982
800
  def set_persistent_base(
983
- execution_context: int | str | None = None, undo: bool | None = None
801
+ execution_context: int | str | None = None,
802
+ undo: bool | None = None,
803
+ /,
984
804
  ) -> None:
985
- """Reset the copy of the mesh that is being sculpted on
986
-
987
- :type execution_context: int | str | None
988
- :type undo: bool | None
989
- """
805
+ """Reset the copy of the mesh that is being sculpted on"""
990
806
 
991
807
  def set_pivot_position(
992
808
  execution_context: int | str | None = None,
@@ -1000,8 +816,6 @@ def set_pivot_position(
1000
816
  ) -> None:
1001
817
  """Sets the sculpt transform pivot position
1002
818
 
1003
- :type execution_context: int | str | None
1004
- :type undo: bool | None
1005
819
  :param mode: Mode
1006
820
 
1007
821
  ORIGIN
@@ -1018,11 +832,8 @@ def set_pivot_position(
1018
832
 
1019
833
  SURFACE
1020
834
  Surface -- Sets the pivot position to the surface under the cursor.
1021
- :type mode: typing.Literal['ORIGIN','UNMASKED','BORDER','ACTIVE','SURFACE'] | None
1022
- :param mouse_x: Mouse Position X, Position of the mouse used for "Surface" mode
1023
- :type mouse_x: float | None
1024
- :param mouse_y: Mouse Position Y, Position of the mouse used for "Surface" mode
1025
- :type mouse_y: float | None
835
+ :param mouse_x: Mouse Position X, Position of the mouse used for "Surface" and "Active Vertex" mode
836
+ :param mouse_y: Mouse Position Y, Position of the mouse used for "Surface" and "Active Vertex" mode
1026
837
  """
1027
838
 
1028
839
  def symmetrize(
@@ -1034,10 +845,7 @@ def symmetrize(
1034
845
  ) -> None:
1035
846
  """Symmetrize the topology modifications
1036
847
 
1037
- :type execution_context: int | str | None
1038
- :type undo: bool | None
1039
848
  :param merge_tolerance: Merge Distance, Distance within which symmetrical vertices are merged
1040
- :type merge_tolerance: float | None
1041
849
  """
1042
850
 
1043
851
  def trim_box_gesture(
@@ -1060,22 +868,13 @@ def trim_box_gesture(
1060
868
  ) -> None:
1061
869
  """Execute a boolean operation on the mesh and a rectangle defined by the cursor
1062
870
 
1063
- :type execution_context: int | str | None
1064
- :type undo: bool | None
1065
871
  :param xmin: X Min
1066
- :type xmin: int | None
1067
872
  :param xmax: X Max
1068
- :type xmax: int | None
1069
873
  :param ymin: Y Min
1070
- :type ymin: int | None
1071
874
  :param ymax: Y Max
1072
- :type ymax: int | None
1073
875
  :param wait_for_input: Wait for Input
1074
- :type wait_for_input: bool | None
1075
876
  :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
1076
- :type use_front_faces_only: bool | None
1077
877
  :param location: Location, Mouse location
1078
- :type location: collections.abc.Iterable[int] | None
1079
878
  :param trim_mode: Trim Mode
1080
879
 
1081
880
  DIFFERENCE
@@ -1086,9 +885,7 @@ def trim_box_gesture(
1086
885
 
1087
886
  JOIN
1088
887
  Join -- Join the new mesh as separate geometry, without performing any boolean operation.
1089
- :type trim_mode: typing.Literal['DIFFERENCE','UNION','JOIN'] | None
1090
888
  :param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
1091
- :type use_cursor_depth: bool | None
1092
889
  :param trim_orientation: Shape Orientation
1093
890
 
1094
891
  VIEW
@@ -1096,7 +893,6 @@ def trim_box_gesture(
1096
893
 
1097
894
  SURFACE
1098
895
  Surface -- Use the surface normal to orientate the trimming shape.
1099
- :type trim_orientation: typing.Literal['VIEW','SURFACE'] | None
1100
896
  :param trim_extrude_mode: Extrude Mode
1101
897
 
1102
898
  PROJECT
@@ -1104,7 +900,6 @@ def trim_box_gesture(
1104
900
 
1105
901
  FIXED
1106
902
  Fixed -- Align trim geometry orthogonally for a shape with 90 degree angles.
1107
- :type trim_extrude_mode: typing.Literal['PROJECT','FIXED'] | None
1108
903
  :param trim_solver: Solver
1109
904
 
1110
905
  EXACT
@@ -1115,7 +910,6 @@ def trim_box_gesture(
1115
910
 
1116
911
  MANIFOLD
1117
912
  Manifold -- Fastest solver that works only on manifold meshes but gives better results.
1118
- :type trim_solver: typing.Literal['EXACT','FLOAT','MANIFOLD'] | None
1119
913
  """
1120
914
 
1121
915
  def trim_lasso_gesture(
@@ -1137,20 +931,12 @@ def trim_lasso_gesture(
1137
931
  ) -> None:
1138
932
  """Execute a boolean operation on the mesh and a shape defined by the cursor
1139
933
 
1140
- :type execution_context: int | str | None
1141
- :type undo: bool | None
1142
934
  :param path: Path
1143
- :type path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath] | None
1144
935
  :param use_smooth_stroke: Stabilize Stroke, Selection lags behind mouse and follows a smoother path
1145
- :type use_smooth_stroke: bool | None
1146
936
  :param smooth_stroke_factor: Smooth Stroke Factor, Higher values gives a smoother stroke
1147
- :type smooth_stroke_factor: float | None
1148
937
  :param smooth_stroke_radius: Smooth Stroke Radius, Minimum distance from last point before selection continues
1149
- :type smooth_stroke_radius: int | None
1150
938
  :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
1151
- :type use_front_faces_only: bool | None
1152
939
  :param location: Location, Mouse location
1153
- :type location: collections.abc.Iterable[int] | None
1154
940
  :param trim_mode: Trim Mode
1155
941
 
1156
942
  DIFFERENCE
@@ -1161,9 +947,7 @@ def trim_lasso_gesture(
1161
947
 
1162
948
  JOIN
1163
949
  Join -- Join the new mesh as separate geometry, without performing any boolean operation.
1164
- :type trim_mode: typing.Literal['DIFFERENCE','UNION','JOIN'] | None
1165
950
  :param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
1166
- :type use_cursor_depth: bool | None
1167
951
  :param trim_orientation: Shape Orientation
1168
952
 
1169
953
  VIEW
@@ -1171,7 +955,6 @@ def trim_lasso_gesture(
1171
955
 
1172
956
  SURFACE
1173
957
  Surface -- Use the surface normal to orientate the trimming shape.
1174
- :type trim_orientation: typing.Literal['VIEW','SURFACE'] | None
1175
958
  :param trim_extrude_mode: Extrude Mode
1176
959
 
1177
960
  PROJECT
@@ -1179,7 +962,6 @@ def trim_lasso_gesture(
1179
962
 
1180
963
  FIXED
1181
964
  Fixed -- Align trim geometry orthogonally for a shape with 90 degree angles.
1182
- :type trim_extrude_mode: typing.Literal['PROJECT','FIXED'] | None
1183
965
  :param trim_solver: Solver
1184
966
 
1185
967
  EXACT
@@ -1190,7 +972,6 @@ def trim_lasso_gesture(
1190
972
 
1191
973
  MANIFOLD
1192
974
  Manifold -- Fastest solver that works only on manifold meshes but gives better results.
1193
- :type trim_solver: typing.Literal['EXACT','FLOAT','MANIFOLD'] | None
1194
975
  """
1195
976
 
1196
977
  def trim_line_gesture(
@@ -1215,26 +996,15 @@ def trim_line_gesture(
1215
996
  ) -> None:
1216
997
  """Remove a portion of the mesh on one side of a line
1217
998
 
1218
- :type execution_context: int | str | None
1219
- :type undo: bool | None
1220
999
  :param xstart: X Start
1221
- :type xstart: int | None
1222
1000
  :param xend: X End
1223
- :type xend: int | None
1224
1001
  :param ystart: Y Start
1225
- :type ystart: int | None
1226
1002
  :param yend: Y End
1227
- :type yend: int | None
1228
1003
  :param flip: Flip
1229
- :type flip: bool | None
1230
1004
  :param cursor: Cursor, Mouse cursor style to use during the modal operator
1231
- :type cursor: int | None
1232
1005
  :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
1233
- :type use_front_faces_only: bool | None
1234
1006
  :param use_limit_to_segment: Limit to Segment, Apply the gesture action only to the area that is contained within the segment without extending its effect to the entire line
1235
- :type use_limit_to_segment: bool | None
1236
1007
  :param location: Location, Mouse location
1237
- :type location: collections.abc.Iterable[int] | None
1238
1008
  :param trim_mode: Trim Mode
1239
1009
 
1240
1010
  DIFFERENCE
@@ -1245,9 +1015,7 @@ def trim_line_gesture(
1245
1015
 
1246
1016
  JOIN
1247
1017
  Join -- Join the new mesh as separate geometry, without performing any boolean operation.
1248
- :type trim_mode: typing.Literal['DIFFERENCE','UNION','JOIN'] | None
1249
1018
  :param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
1250
- :type use_cursor_depth: bool | None
1251
1019
  :param trim_orientation: Shape Orientation
1252
1020
 
1253
1021
  VIEW
@@ -1255,7 +1023,6 @@ def trim_line_gesture(
1255
1023
 
1256
1024
  SURFACE
1257
1025
  Surface -- Use the surface normal to orientate the trimming shape.
1258
- :type trim_orientation: typing.Literal['VIEW','SURFACE'] | None
1259
1026
  :param trim_extrude_mode: Extrude Mode
1260
1027
 
1261
1028
  PROJECT
@@ -1263,7 +1030,6 @@ def trim_line_gesture(
1263
1030
 
1264
1031
  FIXED
1265
1032
  Fixed -- Align trim geometry orthogonally for a shape with 90 degree angles.
1266
- :type trim_extrude_mode: typing.Literal['PROJECT','FIXED'] | None
1267
1033
  :param trim_solver: Solver
1268
1034
 
1269
1035
  EXACT
@@ -1274,7 +1040,6 @@ def trim_line_gesture(
1274
1040
 
1275
1041
  MANIFOLD
1276
1042
  Manifold -- Fastest solver that works only on manifold meshes but gives better results.
1277
- :type trim_solver: typing.Literal['EXACT','FLOAT','MANIFOLD'] | None
1278
1043
  """
1279
1044
 
1280
1045
  def trim_polyline_gesture(
@@ -1293,14 +1058,9 @@ def trim_polyline_gesture(
1293
1058
  ) -> None:
1294
1059
  """Execute a boolean operation on the mesh and a polygonal shape defined by the cursor
1295
1060
 
1296
- :type execution_context: int | str | None
1297
- :type undo: bool | None
1298
1061
  :param path: Path
1299
- :type path: bpy.types.bpy_prop_collection[bpy.types.OperatorMousePath] | None
1300
1062
  :param use_front_faces_only: Front Faces Only, Affect only faces facing towards the view
1301
- :type use_front_faces_only: bool | None
1302
1063
  :param location: Location, Mouse location
1303
- :type location: collections.abc.Iterable[int] | None
1304
1064
  :param trim_mode: Trim Mode
1305
1065
 
1306
1066
  DIFFERENCE
@@ -1311,9 +1071,7 @@ def trim_polyline_gesture(
1311
1071
 
1312
1072
  JOIN
1313
1073
  Join -- Join the new mesh as separate geometry, without performing any boolean operation.
1314
- :type trim_mode: typing.Literal['DIFFERENCE','UNION','JOIN'] | None
1315
1074
  :param use_cursor_depth: Use Cursor for Depth, Use cursor location and radius for the dimensions and position of the trimming shape
1316
- :type use_cursor_depth: bool | None
1317
1075
  :param trim_orientation: Shape Orientation
1318
1076
 
1319
1077
  VIEW
@@ -1321,7 +1079,6 @@ def trim_polyline_gesture(
1321
1079
 
1322
1080
  SURFACE
1323
1081
  Surface -- Use the surface normal to orientate the trimming shape.
1324
- :type trim_orientation: typing.Literal['VIEW','SURFACE'] | None
1325
1082
  :param trim_extrude_mode: Extrude Mode
1326
1083
 
1327
1084
  PROJECT
@@ -1329,7 +1086,6 @@ def trim_polyline_gesture(
1329
1086
 
1330
1087
  FIXED
1331
1088
  Fixed -- Align trim geometry orthogonally for a shape with 90 degree angles.
1332
- :type trim_extrude_mode: typing.Literal['PROJECT','FIXED'] | None
1333
1089
  :param trim_solver: Solver
1334
1090
 
1335
1091
  EXACT
@@ -1340,7 +1096,6 @@ def trim_polyline_gesture(
1340
1096
 
1341
1097
  MANIFOLD
1342
1098
  Manifold -- Fastest solver that works only on manifold meshes but gives better results.
1343
- :type trim_solver: typing.Literal['EXACT','FLOAT','MANIFOLD'] | None
1344
1099
  """
1345
1100
 
1346
1101
  def uv_sculpt_grab(
@@ -1352,10 +1107,7 @@ def uv_sculpt_grab(
1352
1107
  ) -> None:
1353
1108
  """Grab UVs
1354
1109
 
1355
- :type execution_context: int | str | None
1356
- :type undo: bool | None
1357
1110
  :param use_invert: Invert, Invert action for the duration of the stroke
1358
- :type use_invert: bool | None
1359
1111
  """
1360
1112
 
1361
1113
  def uv_sculpt_pinch(
@@ -1367,10 +1119,7 @@ def uv_sculpt_pinch(
1367
1119
  ) -> None:
1368
1120
  """Pinch UVs
1369
1121
 
1370
- :type execution_context: int | str | None
1371
- :type undo: bool | None
1372
1122
  :param use_invert: Invert, Invert action for the duration of the stroke
1373
- :type use_invert: bool | None
1374
1123
  """
1375
1124
 
1376
1125
  def uv_sculpt_relax(
@@ -1379,14 +1128,11 @@ def uv_sculpt_relax(
1379
1128
  /,
1380
1129
  *,
1381
1130
  use_invert: bool | None = False,
1382
- relax_method: typing.Literal["LAPLACIAN", "HC", "COTAN"] | None = "COTAN",
1131
+ relax_method: typing.Literal["LAPLACIAN", "HC", "COTAN"] | None = "LAPLACIAN",
1383
1132
  ) -> None:
1384
1133
  """Relax UVs
1385
1134
 
1386
- :type execution_context: int | str | None
1387
- :type undo: bool | None
1388
1135
  :param use_invert: Invert, Invert action for the duration of the stroke
1389
- :type use_invert: bool | None
1390
1136
  :param relax_method: Relax Method, Algorithm used for UV relaxation
1391
1137
 
1392
1138
  LAPLACIAN
@@ -1397,5 +1143,4 @@ def uv_sculpt_relax(
1397
1143
 
1398
1144
  COTAN
1399
1145
  Geometry -- Use Geometry (cotangent) relaxation, making UVs follow the underlying 3D geometry.
1400
- :type relax_method: typing.Literal['LAPLACIAN','HC','COTAN'] | None
1401
1146
  """