fake-bge-module 20250312__py3-none-any.whl → 20260203__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 +12 -26
  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 -979
  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 +6 -37
  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 +93286 -103826
  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-20250312.dist-info → fake_bge_module-20260203.dist-info}/METADATA +9 -3
  332. fake_bge_module-20260203.dist-info/RECORD +414 -0
  333. {fake_bge_module-20250312.dist-info → fake_bge_module-20260203.dist-info}/WHEEL +1 -1
  334. {fake_bge_module-20250312.dist-info → fake_bge_module-20260203.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 +24 -30
  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-20250312.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
bpy/props/__init__.pyi CHANGED
@@ -10,7 +10,7 @@ All parameters to these functions must be passed as keywords.
10
10
  Custom properties can be added to any subclass of an ID,
11
11
  Bone and PoseBone.
12
12
 
13
- These properties can be animated, accessed by the user interface and python
13
+ These properties can be animated, accessed by the user interface and Python
14
14
  like Blender's existing properties.
15
15
 
16
16
  [WARNING]
@@ -24,7 +24,7 @@ When accessing external non-Blender data, thread safety mechanisms should be con
24
24
 
25
25
  --------------------
26
26
 
27
- A common use of custom properties is for python based Operator
27
+ A common use of custom properties is for Python based Operator
28
28
  classes. Test this code by running it in the text editor, or by clicking the
29
29
  button in the 3D View-port's Tools panel. The latter will show the properties
30
30
  in the Redo panel and allow you to change them.
@@ -69,159 +69,244 @@ of the operator, only its other properties.
69
69
 
70
70
  --------------------
71
71
 
72
- Getter/setter functions can be used for boolean, int, float, string and enum properties.
73
- If these callbacks are defined the property will not be stored in the ID properties
72
+ Accessor functions can be used for boolean, int, float, string and enum properties.
73
+
74
+ If get
75
+
76
+ or set
77
+
78
+ callbacks are defined, the property will not be stored in the ID properties
74
79
  automatically. Instead, the get
75
80
 
76
81
  and set
77
82
 
78
83
  functions will be called when the property
79
- is respectively read or written from the API.
84
+ is respectively read or written from the API, and are responsible to handle the data storage.
85
+
86
+ Note that:
87
+
88
+ * It is illegal to define a set
89
+
90
+ callback without a matching get
91
+
92
+ one.
93
+ * When a get
94
+
95
+ callback is defined but no set
96
+
97
+ one, the property is read-only.
98
+
99
+ get_transform
100
+
101
+ and set_transform
102
+
103
+ can be used when the returned value needs to be modified,
104
+ but the default internal storage is still used. They can only transform the value before it is
105
+ set or returned, but do not control how/where that data is stored.
106
+
107
+ [NOTE]
108
+ It is possible to define both get
109
+
110
+ /set
111
+
112
+ and get_transform
113
+
114
+ /set_transform
115
+
116
+ callbacks
117
+ for a same property. In practice however, this should rarely be needed, as most 'transform'
118
+ operation can also happen within a get
119
+
120
+ /set
121
+
122
+ callback.
80
123
 
81
124
  [WARNING]
82
125
  Remember that these callbacks may be executed in threaded context.
83
126
 
127
+ [WARNING]
128
+ Take care when accessing other properties in these callbacks, as it can easily trigger
129
+ complex issues, such as infinite loops (if e.g. two properties try to also set the other
130
+ property's value in their own set
131
+
132
+ callback), or unexpected side effects due to changes
133
+ in data, caused e.g. by an update
134
+
135
+ callback.
136
+
84
137
  ```../examples/bpy.props.5.py```
85
138
 
86
139
  [NOTE]
87
140
  Pointer properties do not support storing references to embedded IDs (e.g. bpy.types.Scene.collection, bpy.types.Material.node_tree).
88
141
  These should exclusively be referenced and accessed through their owner ID (e.g. the scene or material).
89
142
 
90
- [NOTE]
91
- Typically this function doesn't need to be accessed directly.
92
- Instead use del cls.attr
93
-
94
-
95
-
96
143
  """
97
144
 
98
145
  import typing
99
146
  import collections.abc
100
147
  import typing_extensions
101
- import bpy._typing.rna_enums
148
+ import numpy.typing as npt
149
+ import bpy.stub_internal.rna_enums
102
150
  import bpy.types
103
151
 
104
- def BoolProperty(
152
+ def BoolProperty[_GenericType1: bpy.types.bpy_struct](
105
153
  *,
106
154
  name: str | None = "",
107
155
  description: str | None = "",
108
156
  translation_context: str | None = "*",
109
157
  default=False,
110
- options: set[bpy._typing.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
111
- override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems] = set(),
112
- tags=set(),
113
- subtype: bpy._typing.rna_enums.PropertySubtypeNumberItems = "NONE",
114
- update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None]
158
+ options: set[bpy.stub_internal.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
159
+ override: set[bpy.stub_internal.rna_enums.PropertyOverrideFlagItems] = set(),
160
+ tags: set[str] | None = set(),
161
+ subtype: bpy.stub_internal.rna_enums.PropertySubtypeNumberItems = "NONE",
162
+ update: collections.abc.Callable[[_GenericType1, bpy.types.Context], None]
163
+ | None = None,
164
+ get: collections.abc.Callable[[_GenericType1], bool] | None = None,
165
+ set: collections.abc.Callable[[_GenericType1, bool], None] | None = None,
166
+ get_transform: collections.abc.Callable[[bpy.types.bpy_struct, bool, bool], bool]
167
+ | None = None,
168
+ set_transform: collections.abc.Callable[
169
+ [bpy.types.bpy_struct, bool, bool, bool], bool
170
+ ]
115
171
  | None = None,
116
- get: collections.abc.Callable[[bpy.types.bpy_struct], bool] | None = None,
117
- set: collections.abc.Callable[[bpy.types.bpy_struct, bool], None] | None = None,
118
- ):
172
+ ) -> None:
119
173
  """Returns a new boolean property definition.
120
174
 
121
175
  :param name: Name used in the user interface.
122
- :type name: str | None
123
176
  :param description: Text used for the tooltip and api documentation.
124
- :type description: str | None
125
177
  :param translation_context: Text used as context to disambiguate translations.
126
- :type translation_context: str | None
127
178
  :param options: Enumerator in `rna_enum_property_flag_items`.
128
- :type options: set[bpy._typing.rna_enums.PropertyFlagItems]
129
179
  :param override: Enumerator in `rna_enum_property_override_flag_items`.
130
- :type override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems]
131
180
  :param tags: Enumerator of tags that are defined by parent class.
132
181
  :param subtype: Enumerator in `rna_enum_property_subtype_number_items`.
133
- :type subtype: bpy._typing.rna_enums.PropertySubtypeNumberItems
134
182
  :param update: Function to be called when this value is modified,
135
183
  This function must take 2 values (self, context) and return None.
136
184
  Warning there are no safety checks to avoid infinite recursion.
137
- :type update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None] | None
138
- :param get: Function to be called when this value is 'read',
185
+ :param get: Function to be called when this value is read, and the default,
186
+ system-defined storage is not used for this property.
139
187
  This function must take 1 value (self) and return the value of the property.
140
- :type get: collections.abc.Callable[[bpy.types.bpy_struct], bool] | None
141
- :param set: Function to be called when this value is 'written',
188
+
189
+ Defining this callback without a matching set one will make the property read-only (even if READ_ONLY option is not set).
190
+ :param set: Function to be called when this value is written, and the default,
191
+ system-defined storage is not used for this property.
142
192
  This function must take 2 values (self, value) and return None.
143
- :type set: collections.abc.Callable[[bpy.types.bpy_struct, bool], None] | None
193
+
194
+ Defining this callback without a matching get one is invalid.
195
+ :param get_transform: Function to be called when this value is read,
196
+ if some additional processing must be performed on the stored value.
197
+ This function must take three arguments (self, the stored value,
198
+ and a boolean indicating if the property is currently set),
199
+ and return the final, transformed value of the property.
200
+
201
+ The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised.
202
+ :param set_transform: Function to be called when this value is written,
203
+ if some additional processing must be performed on the given value before storing it.
204
+ This function must take four arguments (self, the given value to store,
205
+ the currently stored value (raw value, without any get_transform applied to it),
206
+ and a boolean indicating if the property is currently set),
207
+ and return the final, transformed value of the property.
208
+
209
+ The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised.
144
210
  """
145
211
 
146
- def BoolVectorProperty(
212
+ def BoolVectorProperty[_GenericType1: bpy.types.bpy_struct](
147
213
  *,
148
214
  name: str | None = "",
149
215
  description: str | None = "",
150
216
  translation_context: str | None = "*",
151
217
  default: collections.abc.Sequence[bool] | None = (False, False, False),
152
- options: set[bpy._typing.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
153
- override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems] = set(),
154
- tags=set(),
155
- subtype: bpy._typing.rna_enums.PropertySubtypeNumberArrayItems = "NONE",
218
+ options: set[bpy.stub_internal.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
219
+ override: set[bpy.stub_internal.rna_enums.PropertyOverrideFlagItems] = set(),
220
+ tags: set[str] | None = set(),
221
+ subtype: bpy.stub_internal.rna_enums.PropertySubtypeNumberArrayItems = "NONE",
156
222
  size: collections.abc.Sequence[int] | int | None = 3,
157
- update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None]
223
+ update: collections.abc.Callable[[_GenericType1, bpy.types.Context], None]
224
+ | None = None,
225
+ get: collections.abc.Callable[[_GenericType1], collections.abc.Sequence[bool]]
158
226
  | None = None,
159
- get: collections.abc.Callable[
160
- [bpy.types.bpy_struct], collections.abc.Sequence[bool]
227
+ set: collections.abc.Callable[[_GenericType1, collections.abc.Sequence[bool]], None]
228
+ | None = None,
229
+ get_transform: collections.abc.Callable[
230
+ [bpy.types.bpy_struct, collections.abc.Sequence[bool], bool],
231
+ collections.abc.Sequence[bool],
161
232
  ]
162
233
  | None = None,
163
- set: collections.abc.Callable[[bpy.types.bpy_struct, tuple[bool, ...]], None]
234
+ set_transform: collections.abc.Callable[
235
+ [
236
+ bpy.types.bpy_struct,
237
+ collections.abc.Sequence[bool],
238
+ collections.abc.Sequence[bool],
239
+ bool,
240
+ ],
241
+ collections.abc.Sequence[bool],
242
+ ]
164
243
  | None = None,
165
- ):
244
+ ) -> None:
166
245
  """Returns a new vector boolean property definition.
167
246
 
168
247
  :param name: Name used in the user interface.
169
- :type name: str | None
170
248
  :param description: Text used for the tooltip and api documentation.
171
- :type description: str | None
172
249
  :param translation_context: Text used as context to disambiguate translations.
173
- :type translation_context: str | None
174
250
  :param default: sequence of booleans the length of size.
175
- :type default: collections.abc.Sequence[bool] | None
176
251
  :param options: Enumerator in `rna_enum_property_flag_items`.
177
- :type options: set[bpy._typing.rna_enums.PropertyFlagItems]
178
252
  :param override: Enumerator in `rna_enum_property_override_flag_items`.
179
- :type override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems]
180
253
  :param tags: Enumerator of tags that are defined by parent class.
181
254
  :param subtype: Enumerator in `rna_enum_property_subtype_number_array_items`.
182
- :type subtype: bpy._typing.rna_enums.PropertySubtypeNumberArrayItems
183
255
  :param size: Vector dimensions in [1, 32]. An int sequence can be used to define multi-dimension arrays.
184
- :type size: collections.abc.Sequence[int] | int | None
185
256
  :param update: Function to be called when this value is modified,
186
257
  This function must take 2 values (self, context) and return None.
187
258
  Warning there are no safety checks to avoid infinite recursion.
188
- :type update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None] | None
189
- :param get: Function to be called when this value is 'read',
259
+ :param get: Function to be called when this value is read, and the default,
260
+ system-defined storage is not used for this property.
190
261
  This function must take 1 value (self) and return the value of the property.
191
- :type get: collections.abc.Callable[[bpy.types.bpy_struct], collections.abc.Sequence[bool]] | None
192
- :param set: Function to be called when this value is 'written',
262
+
263
+ Defining this callback without a matching set one will make the property read-only (even if READ_ONLY option is not set).
264
+ :param set: Function to be called when this value is written, and the default,
265
+ system-defined storage is not used for this property.
193
266
  This function must take 2 values (self, value) and return None.
194
- :type set: collections.abc.Callable[[bpy.types.bpy_struct, tuple[bool, ...]], None] | None
267
+
268
+ Defining this callback without a matching get one is invalid.
269
+ :param get_transform: Function to be called when this value is read,
270
+ if some additional processing must be performed on the stored value.
271
+ This function must take three arguments (self, the stored value,
272
+ and a boolean indicating if the property is currently set),
273
+ and return the final, transformed value of the property.
274
+
275
+ The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised.
276
+ :param set_transform: Function to be called when this value is written,
277
+ if some additional processing must be performed on the given value before storing it.
278
+ This function must take four arguments (self, the given value to store,
279
+ the currently stored value (raw value, without any get_transform applied to it),
280
+ and a boolean indicating if the property is currently set),
281
+ and return the final, transformed value of the property.
282
+
283
+ The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised.
195
284
  """
196
285
 
197
286
  def CollectionProperty(
198
287
  *,
199
- type: type[bpy.types.PropertyGroup] | None = None,
288
+ type: type[bpy.types.PropertyGroup] | None,
200
289
  name: str | None = "",
201
290
  description: str | None = "",
202
291
  translation_context: str | None = "*",
203
- options: set[bpy._typing.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
204
- override: set[bpy._typing.rna_enums.PropertyOverrideFlagCollectionItems] = set(),
205
- tags=set(),
206
- ):
292
+ options: set[bpy.stub_internal.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
293
+ override: set[
294
+ bpy.stub_internal.rna_enums.PropertyOverrideFlagCollectionItems
295
+ ] = set(),
296
+ tags: set[str] | None = set(),
297
+ ) -> None:
207
298
  """Returns a new collection property definition.
208
299
 
209
300
  :param type: A subclass of a property group.
210
- :type type: type[bpy.types.PropertyGroup] | None
211
301
  :param name: Name used in the user interface.
212
- :type name: str | None
213
302
  :param description: Text used for the tooltip and api documentation.
214
- :type description: str | None
215
303
  :param translation_context: Text used as context to disambiguate translations.
216
- :type translation_context: str | None
217
304
  :param options: Enumerator in `rna_enum_property_flag_items`.
218
- :type options: set[bpy._typing.rna_enums.PropertyFlagItems]
219
305
  :param override: Enumerator in `rna_enum_property_override_flag_collection_items`.
220
- :type override: set[bpy._typing.rna_enums.PropertyOverrideFlagCollectionItems]
221
306
  :param tags: Enumerator of tags that are defined by parent class.
222
307
  """
223
308
 
224
- def EnumProperty(
309
+ def EnumProperty[_GenericType1: bpy.types.bpy_struct](
225
310
  *,
226
311
  items: collections.abc.Iterable[
227
312
  tuple[str, str, str]
@@ -230,7 +315,7 @@ def EnumProperty(
230
315
  | None
231
316
  ]
232
317
  | collections.abc.Callable[
233
- [typing.Any, bpy.types.Context | None],
318
+ [_GenericType1, bpy.types.Context | None],
234
319
  collections.abc.Iterable[
235
320
  tuple[str, str, str]
236
321
  | tuple[str, str, str, int]
@@ -241,15 +326,19 @@ def EnumProperty(
241
326
  name: str | None = "",
242
327
  description: str | None = "",
243
328
  translation_context: str | None = "*",
244
- default: int | str | None = None,
245
- options: set[bpy._typing.rna_enums.PropertyFlagEnumItems] = {"ANIMATABLE"},
246
- override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems] = set(),
247
- tags=set(),
248
- update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None]
329
+ default: int | set[str] | str | None = None,
330
+ options: set[bpy.stub_internal.rna_enums.PropertyFlagEnumItems] = {"ANIMATABLE"},
331
+ override: set[bpy.stub_internal.rna_enums.PropertyOverrideFlagItems] = set(),
332
+ tags: set[str] | None = set(),
333
+ update: collections.abc.Callable[[_GenericType1, bpy.types.Context], None]
249
334
  | None = None,
250
- get: collections.abc.Callable[[bpy.types.bpy_struct], int] | None = None,
251
- set: collections.abc.Callable[[bpy.types.bpy_struct, int], None] | None = None,
252
- ):
335
+ get: collections.abc.Callable[[_GenericType1], int] | None = None,
336
+ set: collections.abc.Callable[[_GenericType1, int], None] | None = None,
337
+ get_transform: collections.abc.Callable[[bpy.types.bpy_struct, int, bool], int]
338
+ | None = None,
339
+ set_transform: collections.abc.Callable[[bpy.types.bpy_struct, int, int, bool], int]
340
+ | None = None,
341
+ ) -> None:
253
342
  """Returns a new enumerator property definition.
254
343
 
255
344
  :param items: sequence of enum items formatted:
@@ -293,36 +382,47 @@ def EnumProperty(
293
382
  There is a known bug with using a callback,
294
383
  Python must keep a reference to the strings returned by the callback or Blender
295
384
  will misbehave or even crash.
296
- :type items: collections.abc.Iterable[tuple[str, str, str] | tuple[str, str, str, int] | tuple[str, str, str, str, int] | None] | collections.abc.Callable[[typing.Any, bpy.types.Context | None], collections.abc.Iterable[tuple[str, str, str] | tuple[str, str, str, int] | tuple[str, str, str, str, int] | None]]
297
385
  :param name: Name used in the user interface.
298
- :type name: str | None
299
386
  :param description: Text used for the tooltip and api documentation.
300
- :type description: str | None
301
387
  :param translation_context: Text used as context to disambiguate translations.
302
- :type translation_context: str | None
303
388
  :param default: The default value for this enum, a string from the identifiers used in items, or integer matching an item number.
304
389
  If the ENUM_FLAG option is used this must be a set of such string identifiers instead.
305
390
  WARNING: Strings cannot be specified for dynamic enums
306
391
  (i.e. if a callback function is given as items parameter).
307
- :type default: int | str | None
308
392
  :param options: Enumerator in `rna_enum_property_flag_enum_items`.
309
- :type options: set[bpy._typing.rna_enums.PropertyFlagEnumItems]
310
393
  :param override: Enumerator in `rna_enum_property_override_flag_items`.
311
- :type override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems]
312
394
  :param tags: Enumerator of tags that are defined by parent class.
313
395
  :param update: Function to be called when this value is modified,
314
396
  This function must take 2 values (self, context) and return None.
315
397
  Warning there are no safety checks to avoid infinite recursion.
316
- :type update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None] | None
317
- :param get: Function to be called when this value is 'read',
398
+ :param get: Function to be called when this value is read, and the default,
399
+ system-defined storage is not used for this property.
318
400
  This function must take 1 value (self) and return the value of the property.
319
- :type get: collections.abc.Callable[[bpy.types.bpy_struct], int] | None
320
- :param set: Function to be called when this value is 'written',
401
+
402
+ Defining this callback without a matching set one will make the property read-only (even if READ_ONLY option is not set).
403
+ :param set: Function to be called when this value is written, and the default,
404
+ system-defined storage is not used for this property.
321
405
  This function must take 2 values (self, value) and return None.
322
- :type set: collections.abc.Callable[[bpy.types.bpy_struct, int], None] | None
406
+
407
+ Defining this callback without a matching get one is invalid.
408
+ :param get_transform: Function to be called when this value is read,
409
+ if some additional processing must be performed on the stored value.
410
+ This function must take three arguments (self, the stored value,
411
+ and a boolean indicating if the property is currently set),
412
+ and return the final, transformed value of the property.
413
+
414
+ The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised.
415
+ :param set_transform: Function to be called when this value is written,
416
+ if some additional processing must be performed on the given value before storing it.
417
+ This function must take four arguments (self, the given value to store,
418
+ the currently stored value (raw value, without any get_transform applied to it),
419
+ and a boolean indicating if the property is currently set),
420
+ and return the final, transformed value of the property.
421
+
422
+ The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised.
323
423
  """
324
424
 
325
- def FloatProperty(
425
+ def FloatProperty[_GenericType1: bpy.types.bpy_struct](
326
426
  *,
327
427
  name: str | None = "",
328
428
  description: str | None = "",
@@ -332,60 +432,71 @@ def FloatProperty(
332
432
  max: float | None = 3.402823e38,
333
433
  soft_min: float | None = -3.402823e38,
334
434
  soft_max: float | None = 3.402823e38,
335
- step: int | None = 3,
435
+ step: float | None = 3,
336
436
  precision: int | None = 2,
337
- options: set[bpy._typing.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
338
- override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems] = set(),
339
- tags=set(),
340
- subtype: bpy._typing.rna_enums.PropertySubtypeNumberItems = "NONE",
341
- unit: bpy._typing.rna_enums.PropertyUnitItems = "NONE",
342
- update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None]
437
+ options: set[bpy.stub_internal.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
438
+ override: set[bpy.stub_internal.rna_enums.PropertyOverrideFlagItems] = set(),
439
+ tags: set[str] | None = set(),
440
+ subtype: bpy.stub_internal.rna_enums.PropertySubtypeNumberItems = "NONE",
441
+ unit: bpy.stub_internal.rna_enums.PropertyUnitItems = "NONE",
442
+ update: collections.abc.Callable[[_GenericType1, bpy.types.Context], None]
343
443
  | None = None,
344
- get: collections.abc.Callable[[bpy.types.bpy_struct], float] | None = None,
345
- set: collections.abc.Callable[[bpy.types.bpy_struct, float], None] | None = None,
346
- ):
444
+ get: collections.abc.Callable[[_GenericType1], float] | None = None,
445
+ set: collections.abc.Callable[[_GenericType1, float], None] | None = None,
446
+ get_transform: collections.abc.Callable[[bpy.types.bpy_struct, float, bool], float]
447
+ | None = None,
448
+ set_transform: collections.abc.Callable[
449
+ [bpy.types.bpy_struct, float, float, bool], float
450
+ ]
451
+ | None = None,
452
+ ) -> None:
347
453
  """Returns a new float (single precision) property definition.
348
454
 
349
455
  :param name: Name used in the user interface.
350
- :type name: str | None
351
456
  :param description: Text used for the tooltip and api documentation.
352
- :type description: str | None
353
457
  :param translation_context: Text used as context to disambiguate translations.
354
- :type translation_context: str | None
355
458
  :param min: Hard minimum, trying to assign a value below will silently assign this minimum instead.
356
- :type min: float | None
357
459
  :param max: Hard maximum, trying to assign a value above will silently assign this maximum instead.
358
- :type max: float | None
359
- :param soft_min: Soft minimum (>= min), user won't be able to drag the widget below this value in the UI.
360
- :type soft_min: float | None
361
- :param soft_max: Soft maximum (<= max), user won't be able to drag the widget above this value in the UI.
362
- :type soft_max: float | None
460
+ :param soft_min: Soft minimum (>= min), user wont be able to drag the widget below this value in the UI.
461
+ :param soft_max: Soft maximum (<= max), user wont be able to drag the widget above this value in the UI.
363
462
  :param step: Step of increment/decrement in UI, in [1, 100], defaults to 3 (WARNING: actual value is /100).
364
- :type step: int | None
365
- :param precision: Maximum number of decimal digits to display, in [0, 6]. Fraction is automatically hidden for exact integer values of fields with unit 'NONE' or 'TIME' (frame count) and step divisible by 100.
366
- :type precision: int | None
463
+ :param precision: Maximum number of decimal digits to display, in [0, 6]. Fraction is automatically hidden for exact integer values of fields with unit NONE or TIME (frame count) and step divisible by 100.
367
464
  :param options: Enumerator in `rna_enum_property_flag_items`.
368
- :type options: set[bpy._typing.rna_enums.PropertyFlagItems]
369
465
  :param override: Enumerator in `rna_enum_property_override_flag_items`.
370
- :type override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems]
371
466
  :param tags: Enumerator of tags that are defined by parent class.
372
467
  :param subtype: Enumerator in `rna_enum_property_subtype_number_items`.
373
- :type subtype: bpy._typing.rna_enums.PropertySubtypeNumberItems
374
468
  :param unit: Enumerator in `rna_enum_property_unit_items`.
375
- :type unit: bpy._typing.rna_enums.PropertyUnitItems
376
469
  :param update: Function to be called when this value is modified,
377
470
  This function must take 2 values (self, context) and return None.
378
471
  Warning there are no safety checks to avoid infinite recursion.
379
- :type update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None] | None
380
- :param get: Function to be called when this value is 'read',
472
+ :param get: Function to be called when this value is read, and the default,
473
+ system-defined storage is not used for this property.
381
474
  This function must take 1 value (self) and return the value of the property.
382
- :type get: collections.abc.Callable[[bpy.types.bpy_struct], float] | None
383
- :param set: Function to be called when this value is 'written',
475
+
476
+ Defining this callback without a matching set one will make the property read-only (even if READ_ONLY option is not set).
477
+ :param set: Function to be called when this value is written, and the default,
478
+ system-defined storage is not used for this property.
384
479
  This function must take 2 values (self, value) and return None.
385
- :type set: collections.abc.Callable[[bpy.types.bpy_struct, float], None] | None
480
+
481
+ Defining this callback without a matching get one is invalid.
482
+ :param get_transform: Function to be called when this value is read,
483
+ if some additional processing must be performed on the stored value.
484
+ This function must take three arguments (self, the stored value,
485
+ and a boolean indicating if the property is currently set),
486
+ and return the final, transformed value of the property.
487
+
488
+ The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised.
489
+ :param set_transform: Function to be called when this value is written,
490
+ if some additional processing must be performed on the given value before storing it.
491
+ This function must take four arguments (self, the given value to store,
492
+ the currently stored value (raw value, without any get_transform applied to it),
493
+ and a boolean indicating if the property is currently set),
494
+ and return the final, transformed value of the property.
495
+
496
+ The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised.
386
497
  """
387
498
 
388
- def FloatVectorProperty(
499
+ def FloatVectorProperty[_GenericType1: bpy.types.bpy_struct](
389
500
  *,
390
501
  name: str | None = "",
391
502
  description: str | None = "",
@@ -395,69 +506,57 @@ def FloatVectorProperty(
395
506
  max: float | None = sys.float_info.max,
396
507
  soft_min: float | None = sys.float_info.min,
397
508
  soft_max: float | None = sys.float_info.max,
398
- step: int | None = 3,
509
+ step: float | None = 3,
399
510
  precision: int | None = 2,
400
- options: set[bpy._typing.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
401
- override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems] = set(),
402
- tags=set(),
403
- subtype: bpy._typing.rna_enums.PropertySubtypeNumberArrayItems = "NONE",
404
- unit: bpy._typing.rna_enums.PropertyUnitItems = "NONE",
511
+ options: set[bpy.stub_internal.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
512
+ override: set[bpy.stub_internal.rna_enums.PropertyOverrideFlagItems] = set(),
513
+ tags: set[str] | None = set(),
514
+ subtype: bpy.stub_internal.rna_enums.PropertySubtypeNumberArrayItems = "NONE",
515
+ unit: bpy.stub_internal.rna_enums.PropertyUnitItems = "NONE",
405
516
  size: collections.abc.Sequence[int] | int | None = 3,
406
- update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None]
517
+ update: collections.abc.Callable[[_GenericType1, bpy.types.Context], None]
407
518
  | None = None,
408
- get: collections.abc.Callable[
409
- [bpy.types.bpy_struct], collections.abc.Sequence[float]
410
- ]
519
+ get: collections.abc.Callable[[_GenericType1], collections.abc.Sequence[float]]
411
520
  | None = None,
412
- set: collections.abc.Callable[[bpy.types.bpy_struct, tuple[float, ...]], None]
521
+ set: collections.abc.Callable[
522
+ [_GenericType1, collections.abc.Sequence[float]], None
523
+ ]
413
524
  | None = None,
414
- ):
525
+ ) -> None:
415
526
  """Returns a new vector float property definition.
416
527
 
417
528
  :param name: Name used in the user interface.
418
- :type name: str | None
419
529
  :param description: Text used for the tooltip and api documentation.
420
- :type description: str | None
421
530
  :param translation_context: Text used as context to disambiguate translations.
422
- :type translation_context: str | None
423
531
  :param default: Sequence of floats the length of size.
424
- :type default: collections.abc.Sequence[float] | None
425
532
  :param min: Hard minimum, trying to assign a value below will silently assign this minimum instead.
426
- :type min: float | None
427
533
  :param max: Hard maximum, trying to assign a value above will silently assign this maximum instead.
428
- :type max: float | None
429
- :param soft_min: Soft minimum (>= min), user won't be able to drag the widget below this value in the UI.
430
- :type soft_min: float | None
431
- :param soft_max: Soft maximum (<= max), user won't be able to drag the widget above this value in the UI.
432
- :type soft_max: float | None
534
+ :param soft_min: Soft minimum (>= min), user wont be able to drag the widget below this value in the UI.
535
+ :param soft_max: Soft maximum (<= max), user wont be able to drag the widget above this value in the UI.
433
536
  :param step: Step of increment/decrement in UI, in [1, 100], defaults to 3 (WARNING: actual value is /100).
434
- :type step: int | None
435
- :param precision: Maximum number of decimal digits to display, in [0, 6]. Fraction is automatically hidden for exact integer values of fields with unit 'NONE' or 'TIME' (frame count) and step divisible by 100.
436
- :type precision: int | None
537
+ :param precision: Maximum number of decimal digits to display, in [0, 6]. Fraction is automatically hidden for exact integer values of fields with unit NONE or TIME (frame count) and step divisible by 100.
437
538
  :param options: Enumerator in `rna_enum_property_flag_items`.
438
- :type options: set[bpy._typing.rna_enums.PropertyFlagItems]
439
539
  :param override: Enumerator in `rna_enum_property_override_flag_items`.
440
- :type override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems]
441
540
  :param tags: Enumerator of tags that are defined by parent class.
442
541
  :param subtype: Enumerator in `rna_enum_property_subtype_number_array_items`.
443
- :type subtype: bpy._typing.rna_enums.PropertySubtypeNumberArrayItems
444
542
  :param unit: Enumerator in `rna_enum_property_unit_items`.
445
- :type unit: bpy._typing.rna_enums.PropertyUnitItems
446
543
  :param size: Vector dimensions in [1, 32]. An int sequence can be used to define multi-dimension arrays.
447
- :type size: collections.abc.Sequence[int] | int | None
448
544
  :param update: Function to be called when this value is modified,
449
545
  This function must take 2 values (self, context) and return None.
450
546
  Warning there are no safety checks to avoid infinite recursion.
451
- :type update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None] | None
452
- :param get: Function to be called when this value is 'read',
547
+ :param get: Function to be called when this value is read, and the default,
548
+ system-defined storage is not used for this property.
453
549
  This function must take 1 value (self) and return the value of the property.
454
- :type get: collections.abc.Callable[[bpy.types.bpy_struct], collections.abc.Sequence[float]] | None
455
- :param set: Function to be called when this value is 'written',
550
+
551
+ Defining this callback without a matching set one will make the property read-only (even if READ_ONLY option is not set).
552
+ :param set: Function to be called when this value is written, and the default,
553
+ system-defined storage is not used for this property.
456
554
  This function must take 2 values (self, value) and return None.
457
- :type set: collections.abc.Callable[[bpy.types.bpy_struct, tuple[float, ...]], None] | None
555
+
556
+ Defining this callback without a matching get one is invalid.
458
557
  """
459
558
 
460
- def IntProperty(
559
+ def IntProperty[_GenericType1: bpy.types.bpy_struct](
461
560
  *,
462
561
  name: str | None = "",
463
562
  description: str | None = "",
@@ -468,53 +567,64 @@ def IntProperty(
468
567
  soft_min: int | None = None,
469
568
  soft_max: int | None = None,
470
569
  step: int | None = 1,
471
- options: set[bpy._typing.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
472
- override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems] = set(),
473
- tags=set(),
474
- subtype: bpy._typing.rna_enums.PropertySubtypeNumberItems = "NONE",
475
- update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None]
570
+ options: set[bpy.stub_internal.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
571
+ override: set[bpy.stub_internal.rna_enums.PropertyOverrideFlagItems] = set(),
572
+ tags: set[str] | None = set(),
573
+ subtype: bpy.stub_internal.rna_enums.PropertySubtypeNumberItems = "NONE",
574
+ update: collections.abc.Callable[[_GenericType1, bpy.types.Context], None]
575
+ | None = None,
576
+ get: collections.abc.Callable[[_GenericType1], int] | None = None,
577
+ set: collections.abc.Callable[[_GenericType1, int], None] | None = None,
578
+ get_transform: collections.abc.Callable[[bpy.types.bpy_struct, int, bool], int]
579
+ | None = None,
580
+ set_transform: collections.abc.Callable[[bpy.types.bpy_struct, int, int, bool], int]
476
581
  | None = None,
477
- get: collections.abc.Callable[[bpy.types.bpy_struct], int] | None = None,
478
- set: collections.abc.Callable[[bpy.types.bpy_struct, int], None] | None = None,
479
- ):
582
+ ) -> None:
480
583
  """Returns a new int property definition.
481
584
 
482
585
  :param name: Name used in the user interface.
483
- :type name: str | None
484
586
  :param description: Text used for the tooltip and api documentation.
485
- :type description: str | None
486
587
  :param translation_context: Text used as context to disambiguate translations.
487
- :type translation_context: str | None
488
588
  :param min: Hard minimum, trying to assign a value below will silently assign this minimum instead.
489
- :type min: int | None
490
589
  :param max: Hard maximum, trying to assign a value above will silently assign this maximum instead.
491
- :type max: int | None
492
- :param soft_min: Soft minimum (>= min), user won't be able to drag the widget below this value in the UI.
493
- :type soft_min: int | None
494
- :param soft_max: Soft maximum (<= max), user won't be able to drag the widget above this value in the UI.
495
- :type soft_max: int | None
590
+ :param soft_min: Soft minimum (>= min), user wont be able to drag the widget below this value in the UI.
591
+ :param soft_max: Soft maximum (<= max), user wont be able to drag the widget above this value in the UI.
496
592
  :param step: Step of increment/decrement in UI, in [1, 100], defaults to 1 (WARNING: unused currently!).
497
- :type step: int | None
498
593
  :param options: Enumerator in `rna_enum_property_flag_items`.
499
- :type options: set[bpy._typing.rna_enums.PropertyFlagItems]
500
594
  :param override: Enumerator in `rna_enum_property_override_flag_items`.
501
- :type override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems]
502
595
  :param tags: Enumerator of tags that are defined by parent class.
503
596
  :param subtype: Enumerator in `rna_enum_property_subtype_number_items`.
504
- :type subtype: bpy._typing.rna_enums.PropertySubtypeNumberItems
505
597
  :param update: Function to be called when this value is modified,
506
598
  This function must take 2 values (self, context) and return None.
507
599
  Warning there are no safety checks to avoid infinite recursion.
508
- :type update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None] | None
509
- :param get: Function to be called when this value is 'read',
600
+ :param get: Function to be called when this value is read, and the default,
601
+ system-defined storage is not used for this property.
510
602
  This function must take 1 value (self) and return the value of the property.
511
- :type get: collections.abc.Callable[[bpy.types.bpy_struct], int] | None
512
- :param set: Function to be called when this value is 'written',
603
+
604
+ Defining this callback without a matching set one will make the property read-only (even if READ_ONLY option is not set).
605
+ :param set: Function to be called when this value is written, and the default,
606
+ system-defined storage is not used for this property.
513
607
  This function must take 2 values (self, value) and return None.
514
- :type set: collections.abc.Callable[[bpy.types.bpy_struct, int], None] | None
608
+
609
+ Defining this callback without a matching get one is invalid.
610
+ :param get_transform: Function to be called when this value is read,
611
+ if some additional processing must be performed on the stored value.
612
+ This function must take three arguments (self, the stored value,
613
+ and a boolean indicating if the property is currently set),
614
+ and return the final, transformed value of the property.
615
+
616
+ The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised.
617
+ :param set_transform: Function to be called when this value is written,
618
+ if some additional processing must be performed on the given value before storing it.
619
+ This function must take four arguments (self, the given value to store,
620
+ the currently stored value (raw value, without any get_transform applied to it),
621
+ and a boolean indicating if the property is currently set),
622
+ and return the final, transformed value of the property.
623
+
624
+ The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised.
515
625
  """
516
626
 
517
- def IntVectorProperty(
627
+ def IntVectorProperty[_GenericType1: bpy.types.bpy_struct](
518
628
  *,
519
629
  name: str | None = "",
520
630
  description: str | None = "",
@@ -525,156 +635,183 @@ def IntVectorProperty(
525
635
  soft_min: int | None = None,
526
636
  soft_max: int | None = None,
527
637
  step: int | None = 1,
528
- options: set[bpy._typing.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
529
- override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems] = set(),
530
- tags=set(),
531
- subtype: bpy._typing.rna_enums.PropertySubtypeNumberArrayItems = "NONE",
638
+ options: set[bpy.stub_internal.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
639
+ override: set[bpy.stub_internal.rna_enums.PropertyOverrideFlagItems] = set(),
640
+ tags: set[str] | None = set(),
641
+ subtype: bpy.stub_internal.rna_enums.PropertySubtypeNumberArrayItems = "NONE",
532
642
  size: collections.abc.Sequence[int] | int | None = 3,
533
- update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None]
643
+ update: collections.abc.Callable[[_GenericType1, bpy.types.Context], None]
534
644
  | None = None,
535
- get: collections.abc.Callable[[bpy.types.bpy_struct], collections.abc.Sequence[int]]
645
+ get: collections.abc.Callable[[_GenericType1], collections.abc.Sequence[int]]
536
646
  | None = None,
537
- set: collections.abc.Callable[[bpy.types.bpy_struct, tuple[int, ...]], None]
647
+ set: collections.abc.Callable[[_GenericType1, collections.abc.Sequence[int]], None]
538
648
  | None = None,
539
- ):
649
+ get_transform: collections.abc.Callable[
650
+ [bpy.types.bpy_struct, collections.abc.Sequence[int], bool],
651
+ collections.abc.Sequence[int],
652
+ ]
653
+ | None = None,
654
+ set_transform: collections.abc.Callable[
655
+ [
656
+ bpy.types.bpy_struct,
657
+ collections.abc.Sequence[int],
658
+ collections.abc.Sequence[int],
659
+ bool,
660
+ ],
661
+ collections.abc.Sequence[int],
662
+ ]
663
+ | None = None,
664
+ ) -> None:
540
665
  """Returns a new vector int property definition.
541
666
 
542
667
  :param name: Name used in the user interface.
543
- :type name: str | None
544
668
  :param description: Text used for the tooltip and api documentation.
545
- :type description: str | None
546
669
  :param translation_context: Text used as context to disambiguate translations.
547
- :type translation_context: str | None
548
670
  :param default: sequence of ints the length of size.
549
- :type default: collections.abc.Sequence[int] | None
550
671
  :param min: Hard minimum, trying to assign a value below will silently assign this minimum instead.
551
- :type min: int | None
552
672
  :param max: Hard maximum, trying to assign a value above will silently assign this maximum instead.
553
- :type max: int | None
554
- :param soft_min: Soft minimum (>= min), user won't be able to drag the widget below this value in the UI.
555
- :type soft_min: int | None
556
- :param soft_max: Soft maximum (<= max), user won't be able to drag the widget above this value in the UI.
557
- :type soft_max: int | None
673
+ :param soft_min: Soft minimum (>= min), user wont be able to drag the widget below this value in the UI.
674
+ :param soft_max: Soft maximum (<= max), user wont be able to drag the widget above this value in the UI.
558
675
  :param step: Step of increment/decrement in UI, in [1, 100], defaults to 1 (WARNING: unused currently!).
559
- :type step: int | None
560
676
  :param options: Enumerator in `rna_enum_property_flag_items`.
561
- :type options: set[bpy._typing.rna_enums.PropertyFlagItems]
562
677
  :param override: Enumerator in `rna_enum_property_override_flag_items`.
563
- :type override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems]
564
678
  :param tags: Enumerator of tags that are defined by parent class.
565
679
  :param subtype: Enumerator in `rna_enum_property_subtype_number_array_items`.
566
- :type subtype: bpy._typing.rna_enums.PropertySubtypeNumberArrayItems
567
680
  :param size: Vector dimensions in [1, 32]. An int sequence can be used to define multi-dimension arrays.
568
- :type size: collections.abc.Sequence[int] | int | None
569
681
  :param update: Function to be called when this value is modified,
570
682
  This function must take 2 values (self, context) and return None.
571
683
  Warning there are no safety checks to avoid infinite recursion.
572
- :type update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None] | None
573
- :param get: Function to be called when this value is 'read',
684
+ :param get: Function to be called when this value is read, and the default,
685
+ system-defined storage is not used for this property.
574
686
  This function must take 1 value (self) and return the value of the property.
575
- :type get: collections.abc.Callable[[bpy.types.bpy_struct], collections.abc.Sequence[int]] | None
576
- :param set: Function to be called when this value is 'written',
687
+
688
+ Defining this callback without a matching set one will make the property read-only (even if READ_ONLY option is not set).
689
+ :param set: Function to be called when this value is written, and the default,
690
+ system-defined storage is not used for this property.
577
691
  This function must take 2 values (self, value) and return None.
578
- :type set: collections.abc.Callable[[bpy.types.bpy_struct, tuple[int, ...]], None] | None
692
+
693
+ Defining this callback without a matching get one is invalid.
694
+ :param get_transform: Function to be called when this value is read,
695
+ if some additional processing must be performed on the stored value.
696
+ This function must take three arguments (self, the stored value,
697
+ and a boolean indicating if the property is currently set),
698
+ and return the final, transformed value of the property.
699
+
700
+ The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised.
701
+ :param set_transform: Function to be called when this value is written,
702
+ if some additional processing must be performed on the given value before storing it.
703
+ This function must take four arguments (self, the given value to store,
704
+ the currently stored value (raw value, without any get_transform applied to it),
705
+ and a boolean indicating if the property is currently set),
706
+ and return the final, transformed value of the property.
707
+
708
+ The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised.
579
709
  """
580
710
 
581
- def PointerProperty(
711
+ def PointerProperty[_GenericType1: bpy.types.bpy_struct, _GenericType2: bpy.types.ID](
582
712
  *,
583
- type: type[bpy.types.PropertyGroup | bpy.types.ID] | None = None,
713
+ type: type[bpy.types.PropertyGroup | bpy.types.ID] | None,
584
714
  name: str | None = "",
585
715
  description: str | None = "",
586
716
  translation_context: str | None = "*",
587
- options: set[bpy._typing.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
588
- override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems] = set(),
589
- tags=set(),
717
+ options: set[bpy.stub_internal.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
718
+ override: set[bpy.stub_internal.rna_enums.PropertyOverrideFlagItems] = set(),
719
+ tags: set[str] | None = set(),
590
720
  poll: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.ID], bool]
591
721
  | None = None,
592
- update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None]
722
+ update: collections.abc.Callable[[_GenericType1, bpy.types.Context], None]
593
723
  | None = None,
594
- ):
724
+ ) -> None:
595
725
  """Returns a new pointer property definition.
596
726
 
597
- :param type: A subclass of a property group or ID types.
598
- :type type: type[bpy.types.PropertyGroup | bpy.types.ID] | None
727
+ :param type: A subclass of PropertyGroup or ID.
599
728
  :param name: Name used in the user interface.
600
- :type name: str | None
601
729
  :param description: Text used for the tooltip and api documentation.
602
- :type description: str | None
603
730
  :param translation_context: Text used as context to disambiguate translations.
604
- :type translation_context: str | None
605
731
  :param options: Enumerator in `rna_enum_property_flag_items`.
606
- :type options: set[bpy._typing.rna_enums.PropertyFlagItems]
607
732
  :param override: Enumerator in `rna_enum_property_override_flag_items`.
608
- :type override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems]
609
733
  :param tags: Enumerator of tags that are defined by parent class.
610
734
  :param poll: Function that determines whether an item is valid for this property.
611
735
  The function must take 2 values (self, object) and return a boolean.
612
736
 
613
737
  The return value will be checked only when assigning an item from the UI, but it is still possible to assign an "invalid" item to the property directly.
614
- :type poll: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.ID], bool] | None
615
738
  :param update: Function to be called when this value is modified,
616
739
  This function must take 2 values (self, context) and return None.
617
740
  Warning there are no safety checks to avoid infinite recursion.
618
- :type update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None] | None
619
741
  """
620
742
 
621
- def RemoveProperty(*, cls: typing.Any | None, attr: str | None):
743
+ def RemoveProperty(*, cls: typing.Any | None, attr: str | None) -> None:
622
744
  """Removes a dynamically defined property.
623
745
 
624
746
  :param cls: The class containing the property (must be a positional argument).
625
- :type cls: typing.Any | None
626
747
  :param attr: Property name (must be passed as a keyword).
627
- :type attr: str | None
628
748
  """
629
749
 
630
- def StringProperty(
750
+ def StringProperty[_GenericType1: bpy.types.bpy_struct](
631
751
  *,
632
752
  name: str | None = "",
633
753
  description: str | None = "",
634
754
  translation_context: str | None = "*",
635
755
  default: str | None = "",
636
756
  maxlen: int | None = 0,
637
- options: set[bpy._typing.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
638
- override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems] = set(),
639
- tags=set(),
640
- subtype: bpy._typing.rna_enums.PropertySubtypeStringItems = "NONE",
641
- update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None]
757
+ options: set[bpy.stub_internal.rna_enums.PropertyFlagItems] = {"ANIMATABLE"},
758
+ override: set[bpy.stub_internal.rna_enums.PropertyOverrideFlagItems] = set(),
759
+ tags: set[str] | None = set(),
760
+ subtype: bpy.stub_internal.rna_enums.PropertySubtypeStringItems = "NONE",
761
+ update: collections.abc.Callable[[_GenericType1, bpy.types.Context], None]
762
+ | None = None,
763
+ get: collections.abc.Callable[[_GenericType1], str] | None = None,
764
+ set: collections.abc.Callable[[_GenericType1, str], None] | None = None,
765
+ get_transform: collections.abc.Callable[[bpy.types.bpy_struct, str, bool], str]
642
766
  | None = None,
643
- get: collections.abc.Callable[[bpy.types.bpy_struct], str] | None = None,
644
- set: collections.abc.Callable[[bpy.types.bpy_struct, str], None] | None = None,
645
- search: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context, str]]
767
+ set_transform: collections.abc.Callable[[bpy.types.bpy_struct, str, str, bool], str]
646
768
  | None = None,
647
- search_options={"SUGGESTION"},
648
- ):
769
+ search: collections.abc.Callable[
770
+ [bpy.types.bpy_struct, bpy.types.Context, str],
771
+ collections.abc.Iterable[str | tuple[str, str]],
772
+ ]
773
+ | None = None,
774
+ search_options: set[str] | None = {"SUGGESTION"},
775
+ ) -> None:
649
776
  """Returns a new string property definition.
650
777
 
651
778
  :param name: Name used in the user interface.
652
- :type name: str | None
653
779
  :param description: Text used for the tooltip and api documentation.
654
- :type description: str | None
655
780
  :param translation_context: Text used as context to disambiguate translations.
656
- :type translation_context: str | None
657
781
  :param default: initializer string.
658
- :type default: str | None
659
782
  :param maxlen: maximum length of the string.
660
- :type maxlen: int | None
661
783
  :param options: Enumerator in `rna_enum_property_flag_items`.
662
- :type options: set[bpy._typing.rna_enums.PropertyFlagItems]
663
784
  :param override: Enumerator in `rna_enum_property_override_flag_items`.
664
- :type override: set[bpy._typing.rna_enums.PropertyOverrideFlagItems]
665
785
  :param tags: Enumerator of tags that are defined by parent class.
666
786
  :param subtype: Enumerator in `rna_enum_property_subtype_string_items`.
667
- :type subtype: bpy._typing.rna_enums.PropertySubtypeStringItems
668
787
  :param update: Function to be called when this value is modified,
669
788
  This function must take 2 values (self, context) and return None.
670
789
  Warning there are no safety checks to avoid infinite recursion.
671
- :type update: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context], None] | None
672
- :param get: Function to be called when this value is 'read',
790
+ :param get: Function to be called when this value is read, and the default,
791
+ system-defined storage is not used for this property.
673
792
  This function must take 1 value (self) and return the value of the property.
674
- :type get: collections.abc.Callable[[bpy.types.bpy_struct], str] | None
675
- :param set: Function to be called when this value is 'written',
793
+
794
+ Defining this callback without a matching set one will make the property read-only (even if READ_ONLY option is not set).
795
+ :param set: Function to be called when this value is written, and the default,
796
+ system-defined storage is not used for this property.
676
797
  This function must take 2 values (self, value) and return None.
677
- :type set: collections.abc.Callable[[bpy.types.bpy_struct, str], None] | None
798
+
799
+ Defining this callback without a matching get one is invalid.
800
+ :param get_transform: Function to be called when this value is read,
801
+ if some additional processing must be performed on the stored value.
802
+ This function must take three arguments (self, the stored value,
803
+ and a boolean indicating if the property is currently set),
804
+ and return the final, transformed value of the property.
805
+
806
+ The callback is responsible to ensure that value limits of the property (min/max, length...) are respected. Otherwise a ValueError exception is raised.
807
+ :param set_transform: Function to be called when this value is written,
808
+ if some additional processing must be performed on the given value before storing it.
809
+ This function must take four arguments (self, the given value to store,
810
+ the currently stored value (raw value, without any get_transform applied to it),
811
+ and a boolean indicating if the property is currently set),
812
+ and return the final, transformed value of the property.
813
+
814
+ The callback is responsible to ensure that value limits (min/max, length...) are respected. Otherwise a ValueError exception is raised.
678
815
  :param search: Function to be called to show candidates for this string (shown in the UI).
679
816
  This function must take 3 values (self, context, edit_text)
680
817
  and return a sequence, iterator or generator where each item must be:
@@ -683,12 +820,11 @@ def StringProperty(
683
820
 
684
821
  A tuple-pair of strings, where the first is a candidate and the second
685
822
  is additional information about the candidate.
686
- :type search: collections.abc.Callable[[bpy.types.bpy_struct, bpy.types.Context, str]] | None
687
823
  :param search_options: Set of strings in:
688
824
 
689
- 'SORT' sorts the resulting items.
825
+ SORT sorts the resulting items.
690
826
 
691
- 'SUGGESTION' lets the user enter values not found in search candidates.
827
+ SUGGESTION lets the user enter values not found in search candidates.
692
828
  WARNING disabling this flag causes the search callback to run on redraw,
693
- so only disable this flag if it's not likely to cause performance issues.
829
+ so only disable this flag if its not likely to cause performance issues.
694
830
  """