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