fake-bpy-module 20250612__py3-none-any.whl → 20260118__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (325) hide show
  1. {bl_console_utils → _bl_console_utils}/autocomplete/complete_calltip/__init__.pyi +0 -13
  2. {bl_console_utils → _bl_console_utils}/autocomplete/complete_import/__init__.pyi +0 -5
  3. {bl_console_utils → _bl_console_utils}/autocomplete/complete_namespace/__init__.pyi +0 -11
  4. {bl_console_utils → _bl_console_utils}/autocomplete/intellisense/__init__.pyi +0 -10
  5. {bl_i18n_utils → _bl_i18n_utils}/__init__.pyi +1 -0
  6. {bl_i18n_utils → _bl_i18n_utils}/bl_extract_messages/__init__.pyi +1 -0
  7. {bl_i18n_utils → _bl_i18n_utils}/settings/__init__.pyi +3 -1
  8. {bl_i18n_utils → _bl_i18n_utils}/utils/__init__.pyi +4 -4
  9. _bl_i18n_utils/utils_spell_check/__init__.pyi +22 -0
  10. {bl_ui_utils → _bl_ui_utils}/__init__.pyi +1 -0
  11. _blendfile_header/__init__.pyi +48 -0
  12. _bpy_internal/__init__.pyi +4 -1
  13. _bpy_internal/assets/__init__.pyi +5 -0
  14. _bpy_internal/assets/remote_library_listing/__init__.pyi +5 -0
  15. _bpy_internal/assets/remote_library_listing/blender_asset_library_openapi/__init__.pyi +13 -0
  16. _bpy_internal/disk_file_hash_service/__init__.pyi +19 -0
  17. _bpy_internal/disk_file_hash_service/backend_sqlite/__init__.pyi +48 -0
  18. _bpy_internal/disk_file_hash_service/hash_service/__init__.pyi +64 -0
  19. _bpy_internal/disk_file_hash_service/types/__init__.pyi +53 -0
  20. _bpy_internal/extensions/wheel_manager/__init__.pyi +1 -1
  21. _bpy_internal/filesystem/__init__.pyi +5 -0
  22. _bpy_internal/filesystem/locking/__init__.pyi +28 -0
  23. _bpy_internal/grease_pencil/stroke/__init__.pyi +2 -2
  24. _bpy_internal/platform/__init__.pyi +5 -0
  25. _bpy_types/__init__.pyi +1592 -0
  26. {keyingsets_utils → _keyingsets_utils}/__init__.pyi +2 -0
  27. {rna_info → _rna_info}/__init__.pyi +4 -2
  28. addon_utils/__init__.pyi +0 -13
  29. aud/__init__.pyi +122 -145
  30. bl_app_templates_system/Storyboarding/__init__.pyi +11 -0
  31. bl_app_templates_system/__init__.pyi +5 -0
  32. bl_app_templates_system/py.typed +0 -0
  33. bl_math/__init__.pyi +3 -13
  34. bl_operators/__init__.pyi +1 -0
  35. bl_operators/add_mesh_torus/__init__.pyi +2 -3
  36. bl_operators/anim/__init__.pyi +62 -38
  37. bl_operators/assets/__init__.pyi +4 -9
  38. bl_operators/bone_selection_sets/__init__.pyi +15 -42
  39. bl_operators/clip/__init__.pyi +12 -31
  40. bl_operators/connect_to_output/__init__.pyi +2 -3
  41. bl_operators/console/__init__.pyi +6 -15
  42. bl_operators/constraint/__init__.pyi +6 -13
  43. bl_operators/copy_global_transform/__init__.pyi +261 -0
  44. bl_operators/file/__init__.pyi +6 -11
  45. bl_operators/freestyle/__init__.pyi +5 -12
  46. bl_operators/geometry_nodes/__init__.pyi +5 -12
  47. bl_operators/grease_pencil/__init__.pyi +2 -3
  48. bl_operators/image/__init__.pyi +6 -15
  49. bl_operators/image_as_planes/__init__.pyi +3 -10
  50. bl_operators/mesh/__init__.pyi +3 -49
  51. bl_operators/node/__init__.pyi +294 -73
  52. bl_operators/object/__init__.pyi +17 -53
  53. bl_operators/object_align/__init__.pyi +2 -3
  54. bl_operators/object_quick_effects/__init__.pyi +5 -12
  55. bl_operators/object_randomize_transform/__init__.pyi +2 -3
  56. bl_operators/presets/__init__.pyi +27 -76
  57. bl_operators/rigidbody/__init__.pyi +4 -9
  58. bl_operators/screen_play_rendered_anim/__init__.pyi +2 -3
  59. bl_operators/sequencer/__init__.pyi +12 -27
  60. bl_operators/spreadsheet/__init__.pyi +2 -3
  61. bl_operators/userpref/__init__.pyi +26 -75
  62. bl_operators/uvcalc_follow_active/__init__.pyi +3 -4
  63. bl_operators/uvcalc_lightmap/__init__.pyi +3 -4
  64. bl_operators/uvcalc_transform/__init__.pyi +26 -16
  65. bl_operators/vertexpaint_dirt/__init__.pyi +2 -3
  66. bl_operators/view3d/__init__.pyi +9 -24
  67. bl_operators/wm/__init__.pyi +48 -139
  68. bl_operators/world/__init__.pyi +3 -4
  69. bl_ui/__init__.pyi +7 -7
  70. bl_ui/anim/__init__.pyi +2 -3
  71. bl_ui/asset_shelf/__init__.pyi +2 -3
  72. bl_ui/generic_ui_list/__init__.pyi +4 -19
  73. bl_ui/node_add_menu/__init__.pyi +263 -7
  74. bl_ui/node_add_menu_compositor/__init__.pyi +96 -79
  75. bl_ui/node_add_menu_geometry/__init__.pyi +309 -270
  76. bl_ui/node_add_menu_shader/__init__.pyi +49 -49
  77. bl_ui/node_add_menu_texture/__init__.pyi +17 -62
  78. bl_ui/properties_collection/__init__.pyi +9 -22
  79. bl_ui/properties_constraint/__init__.pyi +129 -282
  80. bl_ui/properties_data_armature/__init__.pyi +22 -57
  81. bl_ui/properties_data_bone/__init__.pyi +12 -31
  82. bl_ui/properties_data_camera/__init__.pyi +18 -47
  83. bl_ui/properties_data_curve/__init__.pyi +18 -47
  84. bl_ui/properties_data_curves/__init__.pyi +11 -26
  85. bl_ui/properties_data_empty/__init__.pyi +3 -6
  86. bl_ui/properties_data_grease_pencil/__init__.pyi +23 -62
  87. bl_ui/properties_data_lattice/__init__.pyi +7 -14
  88. bl_ui/properties_data_light/__init__.pyi +13 -32
  89. bl_ui/properties_data_lightprobe/__init__.pyi +16 -43
  90. bl_ui/properties_data_mesh/__init__.pyi +47 -62
  91. bl_ui/properties_data_metaball/__init__.pyi +9 -20
  92. bl_ui/properties_data_modifier/__init__.pyi +22 -28
  93. bl_ui/properties_data_pointcloud/__init__.pyi +8 -19
  94. bl_ui/properties_data_shaderfx/__init__.pyi +2 -3
  95. bl_ui/properties_data_speaker/__init__.pyi +9 -20
  96. bl_ui/properties_data_volume/__init__.pyi +12 -29
  97. bl_ui/properties_freestyle/__init__.pyi +27 -76
  98. bl_ui/properties_grease_pencil_common/__init__.pyi +10 -168
  99. bl_ui/properties_mask_common/__init__.pyi +8 -21
  100. bl_ui/properties_material/__init__.pyi +26 -86
  101. bl_ui/properties_material_gpencil/__init__.pyi +36 -57
  102. bl_ui/properties_object/__init__.pyi +59 -65
  103. bl_ui/properties_output/__init__.pyi +21 -60
  104. bl_ui/properties_paint_common/__init__.pyi +30 -22
  105. bl_ui/properties_particle/__init__.pyi +58 -161
  106. bl_ui/properties_physics_cloth/__init__.pyi +15 -42
  107. bl_ui/properties_physics_common/__init__.pyi +2 -3
  108. bl_ui/properties_physics_dynamicpaint/__init__.pyi +23 -66
  109. bl_ui/properties_physics_field/__init__.pyi +11 -30
  110. bl_ui/properties_physics_fluid/__init__.pyi +29 -84
  111. bl_ui/properties_physics_geometry_nodes/__init__.pyi +2 -3
  112. bl_ui/properties_physics_rigidbody/__init__.pyi +9 -24
  113. bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +14 -39
  114. bl_ui/properties_physics_softbody/__init__.pyi +16 -45
  115. bl_ui/properties_render/__init__.pyi +139 -197
  116. bl_ui/properties_scene/__init__.pyi +46 -50
  117. bl_ui/properties_strip/__init__.pyi +744 -0
  118. bl_ui/properties_strip_modifier/__init__.pyi +45 -0
  119. bl_ui/properties_texture/__init__.pyi +30 -83
  120. bl_ui/properties_view_layer/__init__.pyi +84 -39
  121. bl_ui/properties_workspace/__init__.pyi +6 -13
  122. bl_ui/properties_world/__init__.pyi +14 -35
  123. bl_ui/space_clip/__init__.pyi +150 -231
  124. bl_ui/space_console/__init__.pyi +7 -18
  125. bl_ui/space_dopesheet/__init__.pyi +143 -100
  126. bl_ui/space_filebrowser/__init__.pyi +33 -90
  127. bl_ui/space_graph/__init__.pyi +48 -85
  128. bl_ui/space_image/__init__.pyi +111 -229
  129. bl_ui/space_info/__init__.pyi +7 -18
  130. bl_ui/space_nla/__init__.pyi +44 -73
  131. bl_ui/space_node/__init__.pyi +161 -123
  132. bl_ui/space_outliner/__init__.pyi +16 -45
  133. bl_ui/space_properties/__init__.pyi +34 -10
  134. bl_ui/space_sequencer/__init__.pyi +164 -901
  135. bl_ui/space_spreadsheet/__init__.pyi +4 -9
  136. bl_ui/space_statusbar/__init__.pyi +2 -3
  137. bl_ui/space_text/__init__.pyi +17 -48
  138. bl_ui/space_time/__init__.pyi +25 -71
  139. bl_ui/space_toolsystem_common/__init__.pyi +2 -2
  140. bl_ui/space_toolsystem_toolbar/__init__.pyi +30 -7
  141. bl_ui/space_topbar/__init__.pyi +35 -79
  142. bl_ui/space_userpref/__init__.pyi +185 -321
  143. bl_ui/space_view3d/__init__.pyi +337 -817
  144. bl_ui/space_view3d_sidebar/__init__.pyi +127 -0
  145. bl_ui/space_view3d_toolbar/__init__.pyi +110 -880
  146. bl_ui/utils/__init__.pyi +0 -17
  147. blend_render_info/__init__.pyi +1 -0
  148. blf/__init__.pyi +8 -54
  149. bmesh/__init__.pyi +2 -9
  150. bmesh/geometry/__init__.pyi +1 -4
  151. bmesh/ops/__init__.pyi +125 -508
  152. bmesh/types/__init__.pyi +318 -664
  153. bmesh/utils/__init__.pyi +17 -43
  154. bpy/__init__.pyi +1 -1
  155. bpy/app/__init__.pyi +93 -88
  156. bpy/app/handlers/__init__.pyi +19 -19
  157. bpy/app/icons/__init__.pyi +0 -6
  158. bpy/app/timers/__init__.pyi +2 -7
  159. bpy/app/translations/__init__.pyi +8 -23
  160. bpy/msgbus/__init__.pyi +4 -6
  161. bpy/ops/action/__init__.pyi +68 -199
  162. bpy/ops/anim/__init__.pyi +142 -299
  163. bpy/ops/armature/__init__.pyi +78 -209
  164. bpy/ops/asset/__init__.pyi +46 -108
  165. bpy/ops/boid/__init__.pyi +28 -45
  166. bpy/ops/brush/__init__.pyi +13 -108
  167. bpy/ops/buttons/__init__.pyi +16 -75
  168. bpy/ops/cachefile/__init__.pyi +8 -65
  169. bpy/ops/camera/__init__.pyi +0 -11
  170. bpy/ops/clip/__init__.pyi +173 -471
  171. bpy/ops/cloth/__init__.pyi +0 -5
  172. bpy/ops/collection/__init__.pyi +23 -36
  173. bpy/ops/console/__init__.pyi +40 -98
  174. bpy/ops/constraint/__init__.pyi +14 -85
  175. bpy/ops/curve/__init__.pyi +94 -277
  176. bpy/ops/curves/__init__.pyi +119 -166
  177. bpy/ops/cycles/__init__.pyi +4 -15
  178. bpy/ops/dpaint/__init__.pyi +14 -24
  179. bpy/ops/ed/__init__.pyi +44 -92
  180. bpy/ops/export_anim/__init__.pyi +2 -10
  181. bpy/ops/export_scene/__init__.pyi +16 -170
  182. bpy/ops/extensions/__init__.pyi +60 -165
  183. bpy/ops/file/__init__.pyi +110 -246
  184. bpy/ops/fluid/__init__.pyi +52 -83
  185. bpy/ops/font/__init__.pyi +40 -144
  186. bpy/ops/geometry/__init__.pyi +12 -127
  187. bpy/ops/gizmogroup/__init__.pyi +4 -13
  188. bpy/ops/gpencil/__init__.pyi +22 -54
  189. bpy/ops/graph/__init__.pyi +92 -343
  190. bpy/ops/grease_pencil/__init__.pyi +218 -550
  191. bpy/ops/image/__init__.pyi +85 -435
  192. bpy/ops/import_anim/__init__.pyi +3 -17
  193. bpy/ops/import_curve/__init__.pyi +2 -5
  194. bpy/ops/import_scene/__init__.pyi +15 -49
  195. bpy/ops/info/__init__.pyi +16 -39
  196. bpy/ops/lattice/__init__.pyi +12 -36
  197. bpy/ops/marker/__init__.pyi +12 -51
  198. bpy/ops/mask/__init__.pyi +68 -193
  199. bpy/ops/material/__init__.pyi +18 -18
  200. bpy/ops/mball/__init__.pyi +4 -31
  201. bpy/ops/mesh/__init__.pyi +140 -967
  202. bpy/ops/nla/__init__.pyi +87 -206
  203. bpy/ops/node/__init__.pyi +714 -744
  204. bpy/ops/object/__init__.pyi +461 -1341
  205. bpy/ops/outliner/__init__.pyi +192 -376
  206. bpy/ops/paint/__init__.pyi +94 -319
  207. bpy/ops/paintcurve/__init__.pyi +20 -40
  208. bpy/ops/palette/__init__.pyi +14 -30
  209. bpy/ops/particle/__init__.pyi +86 -184
  210. bpy/ops/pointcloud/__init__.pyi +12 -38
  211. bpy/ops/pose/__init__.pyi +108 -261
  212. bpy/ops/poselib/__init__.pyi +32 -67
  213. bpy/ops/preferences/__init__.pyi +37 -187
  214. bpy/ops/ptcache/__init__.pyi +22 -36
  215. bpy/ops/render/__init__.pyi +20 -72
  216. bpy/ops/rigidbody/__init__.pyi +25 -63
  217. bpy/ops/scene/__init__.pyi +122 -181
  218. bpy/ops/screen/__init__.pyi +93 -221
  219. bpy/ops/script/__init__.pyi +4 -13
  220. bpy/ops/sculpt/__init__.pyi +69 -324
  221. bpy/ops/sculpt_curves/__init__.pyi +10 -23
  222. bpy/ops/sequencer/__init__.pyi +410 -730
  223. bpy/ops/sound/__init__.pyi +16 -114
  224. bpy/ops/spreadsheet/__init__.pyi +20 -37
  225. bpy/ops/surface/__init__.pyi +0 -48
  226. bpy/ops/text/__init__.pyi +112 -250
  227. bpy/ops/text_editor/__init__.pyi +0 -5
  228. bpy/ops/texture/__init__.pyi +14 -21
  229. bpy/ops/transform/__init__.pyi +18 -386
  230. bpy/ops/ui/__init__.pyi +117 -188
  231. bpy/ops/uilist/__init__.pyi +0 -13
  232. bpy/ops/uv/__init__.pyi +238 -305
  233. bpy/ops/view2d/__init__.pyi +16 -76
  234. bpy/ops/view3d/__init__.pyi +153 -377
  235. bpy/ops/wm/__init__.pyi +277 -1397
  236. bpy/ops/workspace/__init__.pyi +32 -39
  237. bpy/ops/world/__init__.pyi +10 -12
  238. bpy/path/__init__.pyi +1 -35
  239. bpy/props/__init__.pyi +347 -218
  240. bpy/stub_internal/rna_enums/__init__.pyi +142 -108
  241. bpy/types/__init__.pyi +77367 -101305
  242. bpy/utils/__init__.pyi +11 -82
  243. bpy/utils/previews/__init__.pyi +2 -11
  244. bpy/utils/units/__init__.pyi +5 -15
  245. bpy_extras/anim_utils/__init__.pyi +24 -16
  246. bpy_extras/bmesh_utils/__init__.pyi +0 -1
  247. bpy_extras/id_map_utils/__init__.pyi +14 -6
  248. bpy_extras/image_utils/__init__.pyi +2 -11
  249. bpy_extras/io_utils/__init__.pyi +8 -27
  250. bpy_extras/keyconfig_utils/__init__.pyi +1 -1
  251. bpy_extras/mesh_utils/__init__.pyi +0 -12
  252. bpy_extras/node_shader_utils/__init__.pyi +1 -9
  253. bpy_extras/object_utils/__init__.pyi +1 -15
  254. bpy_extras/view3d_utils/__init__.pyi +0 -18
  255. bpy_extras/wm_utils/progress_report/__init__.pyi +1 -1
  256. {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/METADATA +4 -1
  257. fake_bpy_module-20260118.dist-info/RECORD +385 -0
  258. {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/top_level.txt +17 -16
  259. freestyle/chainingiterators/__init__.pyi +5 -27
  260. freestyle/functions/__init__.pyi +0 -139
  261. freestyle/predicates/__init__.pyi +2 -53
  262. freestyle/shaders/__init__.pyi +15 -81
  263. freestyle/types/__init__.pyi +159 -799
  264. freestyle/utils/ContextFunctions/__init__.pyi +0 -23
  265. freestyle/utils/__init__.pyi +5 -11
  266. gpu/capabilities/__init__.pyi +0 -21
  267. gpu/matrix/__init__.pyi +1 -10
  268. gpu/platform/__init__.pyi +2 -7
  269. gpu/shader/__init__.pyi +26 -9
  270. gpu/state/__init__.pyi +60 -39
  271. gpu/texture/__init__.pyi +3 -5
  272. gpu/types/__init__.pyi +116 -184
  273. gpu_extras/batch/__init__.pyi +1 -5
  274. gpu_extras/presets/__init__.pyi +6 -8
  275. idprop/types/__init__.pyi +6 -6
  276. imbuf/__init__.pyi +3 -10
  277. imbuf/types/__init__.pyi +7 -21
  278. keyingsets_builtins/__init__.pyi +24 -67
  279. mathutils/__init__.pyi +241 -2207
  280. mathutils/bvhtree/__init__.pyi +18 -26
  281. mathutils/geometry/__init__.pyi +82 -132
  282. mathutils/interpolate/__init__.pyi +6 -5
  283. mathutils/kdtree/__init__.pyi +1 -11
  284. mathutils/noise/__init__.pyi +61 -106
  285. rna_prop_ui/__init__.pyi +1 -1
  286. bgl/__init__.pyi +0 -4256
  287. bpy_types/__init__.pyi +0 -30
  288. fake_bpy_module-20250612.dist-info/RECORD +0 -367
  289. {animsys_refactor → _animsys_refactor}/__init__.pyi +0 -0
  290. {animsys_refactor → _animsys_refactor}/py.typed +0 -0
  291. {bl_console_utils → _bl_console_utils}/__init__.pyi +0 -0
  292. {bl_console_utils → _bl_console_utils}/autocomplete/__init__.pyi +0 -0
  293. {bgl → _bl_console_utils}/py.typed +0 -0
  294. {bl_i18n_utils → _bl_i18n_utils}/merge_po/__init__.pyi +0 -0
  295. {bl_console_utils → _bl_i18n_utils}/py.typed +0 -0
  296. {bl_i18n_utils → _bl_i18n_utils}/utils_cli/__init__.pyi +0 -0
  297. {bl_i18n_utils → _bl_i18n_utils}/utils_languages_menu/__init__.pyi +0 -0
  298. {bl_i18n_utils → _bl_i18n_utils}/utils_rtl/__init__.pyi +0 -0
  299. {bl_previews_utils → _bl_previews_utils}/__init__.pyi +0 -0
  300. {bl_previews_utils → _bl_previews_utils}/bl_previews_render/__init__.pyi +0 -0
  301. {bl_i18n_utils → _bl_previews_utils}/py.typed +0 -0
  302. {bl_rna_utils → _bl_rna_utils}/__init__.pyi +0 -0
  303. {bl_rna_utils → _bl_rna_utils}/data_path/__init__.pyi +0 -0
  304. {bl_previews_utils → _bl_rna_utils}/py.typed +0 -0
  305. {bl_text_utils → _bl_text_utils}/__init__.pyi +0 -0
  306. {bl_text_utils → _bl_text_utils}/external_editor/__init__.pyi +0 -0
  307. {bl_rna_utils → _bl_text_utils}/py.typed +0 -0
  308. {bl_ui_utils → _bl_ui_utils}/layout/__init__.pyi +0 -0
  309. {bl_text_utils → _bl_ui_utils}/py.typed +0 -0
  310. {bl_ui_utils → _blendfile_header}/py.typed +0 -0
  311. /_bpy_internal/{freedesktop → platform/freedesktop}/__init__.pyi +0 -0
  312. {bpy_restrict_state → _bpy_restrict_state}/__init__.pyi +0 -0
  313. {bpy_restrict_state → _bpy_restrict_state}/py.typed +0 -0
  314. {bpy_types → _bpy_types}/py.typed +0 -0
  315. {console_python → _console_python}/__init__.pyi +0 -0
  316. {console_python → _console_python}/py.typed +0 -0
  317. {console_shell → _console_shell}/__init__.pyi +0 -0
  318. {console_shell → _console_shell}/py.typed +0 -0
  319. {graphviz_export → _graphviz_export}/__init__.pyi +0 -0
  320. {graphviz_export → _graphviz_export}/py.typed +0 -0
  321. {keyingsets_utils → _keyingsets_utils}/py.typed +0 -0
  322. {rna_info → _rna_info}/py.typed +0 -0
  323. {rna_xml → _rna_xml}/__init__.pyi +0 -0
  324. {rna_xml → _rna_xml}/py.typed +0 -0
  325. {fake_bpy_module-20250612.dist-info → fake_bpy_module-20260118.dist-info}/WHEEL +0 -0
bpy/utils/__init__.pyi CHANGED
@@ -23,41 +23,32 @@ def app_template_paths(*, path: str | None = None) -> None:
23
23
  """Returns valid application template paths.
24
24
 
25
25
  :param path: Optional subdir.
26
- :type path: str | None
27
26
  :return: App template paths.
28
27
  """
29
28
 
30
29
  def blend_paths(
31
- absolute: bool = False, packed: bool = False, local: bool = False
30
+ *, absolute: bool = False, packed: bool = False, local: bool = False
32
31
  ) -> list[str]:
33
32
  """Returns a list of paths to external files referenced by the loaded .blend file.
34
33
 
35
34
  :param absolute: When true the paths returned are made absolute.
36
- :type absolute: bool
37
- :param packed: When true skip file paths for packed data.
38
- :type packed: bool
35
+ :param packed: When true include file paths for packed data.
39
36
  :param local: When true skip linked library paths.
40
- :type local: bool
41
37
  :return: path list.
42
- :rtype: list[str]
43
38
  """
44
39
 
45
40
  def escape_identifier(string: str) -> str:
46
41
  """Simple string escaping function used for animation paths.
47
42
 
48
43
  :param string: text
49
- :type string: str
50
44
  :return: The escaped string.
51
- :rtype: str
52
45
  """
53
46
 
54
47
  def execfile(filepath: str, *, mod: None | None = None) -> None:
55
48
  """Execute a file path as a Python script.
56
49
 
57
50
  :param filepath: Path of the script to execute.
58
- :type filepath: str
59
51
  :param mod: Optional cached module, the result of a previous execution.
60
- :type mod: None | None
61
52
  :return: The module which can be passed back in as mod.
62
53
  """
63
54
 
@@ -72,41 +63,30 @@ def extension_path_user(package: str, *, path: str = "", create: bool = False) -
72
63
  """Return a user writable directory associated with an extension.
73
64
 
74
65
  :param package: The __package__ of the extension.
75
- :type package: str
76
66
  :param path: Optional subdirectory.
77
- :type path: str
78
67
  :param create: Treat the path as a directory and create it if its not existing.
79
- :type create: bool
80
68
  :return: a path.
81
- :rtype: str
82
69
  """
83
70
 
84
- def flip_name(name: str, strip_digits: bool = False) -> str:
71
+ def flip_name(name: str, *, strip_digits: bool = False) -> str:
85
72
  """Flip a name between left/right sides, useful for
86
73
  mirroring bone names.
87
74
 
88
75
  :param name: Bone name to flip.
89
- :type name: str
90
76
  :param strip_digits: Whether to remove .### suffix.
91
- :type strip_digits: bool
92
77
  :return: The flipped name.
93
- :rtype: str
94
78
  """
95
79
 
96
80
  def is_path_builtin(path: str) -> bool:
97
81
  """Returns True if the path is one of the built-in paths used by Blender.
98
82
 
99
83
  :param path: Path you want to check if it is in the built-in settings directory
100
- :type path: str
101
- :rtype: bool
102
84
  """
103
85
 
104
86
  def is_path_extension(path: str) -> bool:
105
87
  """Returns True if the path is from an extensions repository.
106
88
 
107
89
  :param path: Path to check if it is within an extension repository.
108
- :type path: str
109
- :rtype: bool
110
90
  """
111
91
 
112
92
  def keyconfig_init() -> None: ...
@@ -121,12 +101,9 @@ def load_scripts(
121
101
 
122
102
  :param reload_scripts: Causes all scripts to have their unregister method
123
103
  called before loading.
124
- :type reload_scripts: bool
125
104
  :param refresh_scripts: only load scripts which are not already loaded
126
105
  as modules.
127
- :type refresh_scripts: bool
128
106
  :param extensions: Loads additional scripts (add-ons & app-templates).
129
- :type extensions: bool
130
107
  """
131
108
 
132
109
  def load_scripts_extensions(*, reload_scripts: bool = False) -> None:
@@ -134,7 +111,6 @@ def load_scripts_extensions(*, reload_scripts: bool = False) -> None:
134
111
 
135
112
  :param reload_scripts: Causes all scripts to have their unregister method
136
113
  called before loading.
137
- :type reload_scripts: bool
138
114
  """
139
115
 
140
116
  def make_rna_paths(
@@ -143,15 +119,11 @@ def make_rna_paths(
143
119
  """Create RNA "paths" from given names.
144
120
 
145
121
  :param struct_name: Name of a RNA struct (like e.g. "Scene").
146
- :type struct_name: str
147
- :param prop_name: Name of a RNA struct's property.
148
- :type prop_name: str
122
+ :param prop_name: Name of a RNA structs property.
149
123
  :param enum_name: Name of a RNA enum identifier.
150
- :type enum_name: str
151
124
  :return: A triple of three "RNA paths"
152
- (most_complete_path, "struct.prop", "struct.prop:'enum'").
125
+ (most_complete_path, "struct.prop", "struct.prop:enum").
153
126
  If no enum_name is given, the third element will always be void.
154
- :rtype: tuple[str, str, str]
155
127
  """
156
128
 
157
129
  def manual_language_code(default="en") -> str:
@@ -159,19 +131,16 @@ def manual_language_code(default="en") -> str:
159
131
 
160
132
  :return: The language code used for user manual URL component based on the current language user-preference,
161
133
  falling back to the default when unavailable.
162
- :rtype: str
163
134
  """
164
135
 
165
136
  def manual_map() -> None: ...
166
- def modules_from_path(path: str, loaded_modules) -> list:
137
+ def modules_from_path(path: str, loaded_modules: set) -> list:
167
138
  """Load all modules in a path and return them as a list.
168
139
 
169
140
  :param path: this path is scanned for scripts and packages.
170
- :type path: str
171
141
  :param loaded_modules: already loaded module names, files matching these
172
142
  names will be ignored.
173
143
  :return: all loaded modules.
174
- :rtype: list
175
144
  """
176
145
 
177
146
  def preset_find(name, preset_path, *, display_name=False, ext=".py") -> None: ...
@@ -179,9 +148,7 @@ def preset_paths(subdir: str) -> list[str]:
179
148
  """Returns a list of paths for a specific preset.
180
149
 
181
150
  :param subdir: preset subdirectory (must not be an absolute path).
182
- :type subdir: str
183
151
  :return: Script paths.
184
- :rtype: list[str]
185
152
  """
186
153
 
187
154
  def refresh_script_paths() -> None:
@@ -208,7 +175,6 @@ def register_class(
208
175
  """Register a subclass of a Blender type class.
209
176
 
210
177
  :param cls: Registerable Blender class type.
211
- :type cls: type[bpy.types.Panel | bpy.types.UIList | bpy.types.Menu | bpy.types.Header | bpy.types.Operator | bpy.types.KeyingSetInfo | bpy.types.RenderEngine | bpy.types.AssetShelf | bpy.types.FileHandler | bpy.types.PropertyGroup | bpy.types.AddonPreferences | bpy.types.NodeTree | bpy.types.Node | bpy.types.NodeSocket]
212
178
  """
213
179
 
214
180
  def register_classes_factory(classes) -> None:
@@ -225,14 +191,12 @@ def register_cli_command(id: str, execute: collections.abc.Callable) -> None:
225
191
  :param id: The command identifier (must pass an str.isidentifier check).
226
192
 
227
193
  If the id is already registered, a warning is printed and the command is inaccessible to prevent accidents invoking the wrong command.
228
- :type id: str
229
194
  :param execute: Callback, taking a single list of strings and returns an int.
230
195
  The arguments are built from all command-line arguments following the command id.
231
196
  The return value should be 0 for success, 1 on failure (specific error codes from the os module can also be used).
232
- :type execute: collections.abc.Callable
233
197
  :return: The command handle which can be passed to `unregister_cli_command`.
234
198
 
235
- This uses Python's capsule type however the result should be considered an opaque handle only used for unregistering.
199
+ This uses Pythons capsule type however the result should be considered an opaque handle only used for unregistering.
236
200
  """
237
201
 
238
202
  def register_manual_map(manual_hook) -> None: ...
@@ -247,9 +211,7 @@ def register_preset_path(path: str) -> bool:
247
211
  When the __init__.py is in the same location as a presets directory.
248
212
  For example an operators preset would be located under: presets/operator/{operator.id}/
249
213
  where operator.id is the bl_idname of the operator.
250
- :type path: str
251
214
  :return: success
252
- :rtype: bool
253
215
  """
254
216
 
255
217
  def register_submodule_factory(
@@ -260,45 +222,34 @@ def register_submodule_factory(
260
222
  calling their register & unregister functions.
261
223
 
262
224
  :param module_name: The module name, typically __name__.
263
- :type module_name: str
264
225
  :param submodule_names: List of submodule names to load and unload.
265
- :type submodule_names: list[str]
266
226
  :return: register and unregister functions.
267
- :rtype: tuple[collections.abc.Callable[None], collections.abc.Callable[None]]
268
227
  """
269
228
 
270
229
  def register_tool(
271
230
  tool_cls: type[bpy.types.WorkSpaceTool],
272
231
  *,
273
- after: None | collections.abc.Sequence[str] | None = None,
232
+ after: None | collections.abc.Sequence[str] | set[str] | None = None,
274
233
  separator: bool = False,
275
234
  group: bool = False,
276
235
  ) -> None:
277
236
  """Register a tool in the toolbar.
278
237
 
279
238
  :param tool_cls: A tool subclass.
280
- :type tool_cls: type[bpy.types.WorkSpaceTool]
281
239
  :param after: Optional identifiers this tool will be added after.
282
- :type after: None | collections.abc.Sequence[str] | None
283
240
  :param separator: When true, add a separator before this tool.
284
- :type separator: bool
285
241
  :param group: When true, add a new nested group of tools.
286
- :type group: bool
287
242
  """
288
243
 
289
244
  def resource_path(
290
- type: str, major: int = bpy.app.version[0], minor: str = bpy.app.version[1]
245
+ type: str, *, major: int = bpy.app.version[0], minor: int = bpy.app.version[1]
291
246
  ) -> str:
292
247
  """Return the base path for storing system files.
293
248
 
294
- :param type: string in ['USER', 'LOCAL', 'SYSTEM'].
295
- :type type: str
249
+ :param type: string in [USER, LOCAL, SYSTEM].
296
250
  :param major: major version, defaults to current.
297
- :type major: int
298
251
  :param minor: minor version, defaults to current.
299
- :type minor: str
300
252
  :return: the resource path (not necessarily existing).
301
- :rtype: str
302
253
  """
303
254
 
304
255
  def script_path_user() -> None:
@@ -315,17 +266,11 @@ def script_paths(
315
266
  """Returns a list of valid script paths.
316
267
 
317
268
  :param subdir: Optional subdir.
318
- :type subdir: str | None
319
269
  :param user_pref: Include the user preference script paths.
320
- :type user_pref: bool
321
270
  :param check_all: Include local, user and system paths rather just the paths Blender uses.
322
- :type check_all: bool
323
271
  :param use_user: Include user paths
324
- :type use_user: bool
325
272
  :param use_system_environment: Include BLENDER_SYSTEM_SCRIPTS variable path
326
- :type use_system_environment: bool
327
273
  :return: script paths.
328
- :rtype: list[str]
329
274
  """
330
275
 
331
276
  def script_paths_pref() -> None:
@@ -339,9 +284,7 @@ def smpte_from_frame(frame: float, *, fps=None, fps_base=None) -> str:
339
284
  HH:MM:SS:FF.If fps and fps_base are not given the current scene is used.
340
285
 
341
286
  :param frame: frame number.
342
- :type frame: float
343
287
  :return: the frame string.
344
- :rtype: str
345
288
  """
346
289
 
347
290
  def smpte_from_seconds(time: float, *, fps=None, fps_base=None) -> str:
@@ -349,16 +292,13 @@ def smpte_from_seconds(time: float, *, fps=None, fps_base=None) -> str:
349
292
  HH:MM:SS:FF.If fps and fps_base are not given the current scene is used.
350
293
 
351
294
  :param time: time in seconds.
352
- :type time: float
353
295
  :return: the frame string.
354
- :rtype: str
355
296
  """
356
297
 
357
298
  def time_from_frame(frame: float, *, fps=None, fps_base=None) -> None:
358
299
  """Returns the time from a frame number .If fps and fps_base are not given the current scene is used.
359
300
 
360
301
  :param frame: number.
361
- :type frame: float
362
302
  :return: the time in seconds.
363
303
  """
364
304
 
@@ -367,9 +307,7 @@ def time_to_frame(time: float, *, fps=None, fps_base=None) -> float:
367
307
  as a datetime.timedelta object.If fps and fps_base are not given the current scene is used.
368
308
 
369
309
  :param time: time in seconds.
370
- :type time: float
371
310
  :return: The frame.
372
- :rtype: float
373
311
  """
374
312
 
375
313
  def unescape_identifier(string: str) -> str:
@@ -377,9 +315,7 @@ def unescape_identifier(string: str) -> str:
377
315
  This performs the reverse of `escape_identifier`.
378
316
 
379
317
  :param string: text
380
- :type string: str
381
318
  :return: The un-escaped string.
382
- :rtype: str
383
319
  """
384
320
 
385
321
  def unregister_class(
@@ -405,7 +341,6 @@ def unregister_class(
405
341
  :param cls: Blender type class,
406
342
  see `bpy.utils.register_class` for classes which can
407
343
  be registered.
408
- :type cls: type[bpy.types.Panel | bpy.types.UIList | bpy.types.Menu | bpy.types.Header | bpy.types.Operator | bpy.types.KeyingSetInfo | bpy.types.RenderEngine | bpy.types.AssetShelf | bpy.types.FileHandler | bpy.types.PropertyGroup | bpy.types.AddonPreferences | bpy.types.NodeTree | bpy.types.Node | bpy.types.NodeSocket]
409
344
  """
410
345
 
411
346
  def unregister_cli_command(handle) -> None:
@@ -421,21 +356,15 @@ def unregister_preset_path(path: str) -> bool:
421
356
  :param path: preset directory (must be an absolute path).
422
357
 
423
358
  This must match the registered path exactly.
424
- :type path: str
425
359
  :return: success
426
- :rtype: bool
427
360
  """
428
361
 
429
362
  def unregister_tool(tool_cls) -> None: ...
430
363
  def user_resource(resource_type: str, *, path: str = "", create: bool = False) -> str:
431
364
  """Return a user resource path (normally from the users home directory).
432
365
 
433
- :param resource_type: Resource type in ['DATAFILES', 'CONFIG', 'SCRIPTS', 'EXTENSIONS'].
434
- :type resource_type: str
366
+ :param resource_type: Resource type in [DATAFILES, CONFIG, SCRIPTS, EXTENSIONS].
435
367
  :param path: Optional subdirectory.
436
- :type path: str
437
368
  :param create: Treat the path as a directory and create it if its not existing.
438
- :type create: bool
439
369
  :return: a path.
440
- :rtype: str
441
370
  """
@@ -20,7 +20,7 @@ import numpy.typing as npt
20
20
  import bpy.types
21
21
 
22
22
  class ImagePreviewCollection(dict[str, bpy.types.ImagePreview]):
23
- """Dictionary-like class of previews.This is a subclass of Python's built-in dict type,
23
+ """Dictionary-like class of previews.This is a subclass of Pythons built-in dict type,
24
24
  used to store multiple image previews.
25
25
  """
26
26
 
@@ -40,36 +40,27 @@ class ImagePreviewCollection(dict[str, bpy.types.ImagePreview]):
40
40
  """Generate a new preview from given file path.
41
41
 
42
42
  :param name: The name (unique id) identifying the preview.
43
- :type name: str | None
44
43
  :param filepath: The file path to generate the preview from.
45
- :type filepath: bytes | str | None
46
- :param filetype: The type of file, needed to generate the preview in ['IMAGE', 'MOVIE', 'BLEND', 'FONT'].
47
- :type filetype: str | None
44
+ :param filetype: The type of file, needed to generate the preview in [IMAGE, MOVIE, BLEND, FONT, OBJECT_IO].
48
45
  :param force_reload: If True, force running thumbnail manager even if preview already exists in cache.
49
- :type force_reload: bool | None
50
46
  :return: The Preview matching given name, or a new empty one.
51
- :rtype: bpy.types.ImagePreview
52
47
  """
53
48
 
54
49
  def new(self, name: str | None) -> bpy.types.ImagePreview:
55
50
  """Generate a new empty preview.
56
51
 
57
52
  :param name: The name (unique id) identifying the preview.
58
- :type name: str | None
59
53
  :return: The Preview matching given name, or a new empty one.
60
- :rtype: bpy.types.ImagePreview
61
54
  """
62
55
 
63
56
  def new() -> ImagePreviewCollection:
64
57
  """
65
58
 
66
59
  :return: a new preview collection.
67
- :rtype: ImagePreviewCollection
68
60
  """
69
61
 
70
62
  def remove(pcoll: ImagePreviewCollection | None) -> None:
71
63
  """Remove the specified previews collection.
72
64
 
73
65
  :param pcoll: Preview collection to close.
74
- :type pcoll: ImagePreviewCollection | None
75
66
  """
@@ -12,6 +12,7 @@ def to_string(
12
12
  unit_system: str | None,
13
13
  unit_category: str | None,
14
14
  value: float | None,
15
+ *,
15
16
  precision: int | None = 3,
16
17
  split_unit: bool | None = False,
17
18
  compatible_unit: bool | None = False,
@@ -19,47 +20,36 @@ def to_string(
19
20
  """Convert a given input float value into a string with units.
20
21
 
21
22
  :param unit_system: The unit system, from `bpy.utils.units.systems`.
22
- :type unit_system: str | None
23
23
  :param unit_category: The category of data we are converting (length, area, rotation, etc.),
24
24
  from `bpy.utils.units.categories`.
25
- :type unit_category: str | None
26
25
  :param value: The value to convert to a string.
27
- :type value: float | None
28
26
  :param precision: Number of digits after the comma.
29
- :type precision: int | None
30
27
  :param split_unit: Whether to use several units if needed (1m1cm), or always only one (1.01m).
31
- :type split_unit: bool | None
32
- :param compatible_unit: Whether to use keyboard-friendly units (1m2) or nicer UTF8 ones (1m²).
33
- :type compatible_unit: bool | None
28
+ :param compatible_unit: Whether to use keyboard-friendly units (1m2) or nicer UTF8 ones (1m).
34
29
  :return: The converted string.
35
- :rtype: str
36
30
  """
37
31
 
38
32
  def to_value(
39
33
  unit_system: str | None,
40
34
  unit_category: str | None,
41
35
  str_input: str | None,
36
+ *,
42
37
  str_ref_unit: None | str | None = None,
43
38
  ) -> float:
44
39
  """Convert a given input string into a float value.
45
40
 
46
41
  :param unit_system: The unit system, from `bpy.utils.units.systems`.
47
- :type unit_system: str | None
48
42
  :param unit_category: The category of data we are converting (length, area, rotation, etc.),
49
43
  from `bpy.utils.units.categories`.
50
- :type unit_category: str | None
51
44
  :param str_input: The string to convert to a float value.
52
- :type str_input: str | None
53
45
  :param str_ref_unit: A reference string from which to extract a default unit, if none is found in str_input.
54
- :type str_ref_unit: None | str | None
55
46
  :return: The converted/interpreted value.
56
- :rtype: float
57
47
  """
58
48
 
59
49
  categories: typing.Any
60
- """ Constant value bpy.utils.units.categories(NONE='NONE', LENGTH='LENGTH', AREA='AREA', VOLUME='VOLUME', MASS='MASS', ROTATION='ROTATION', TIME='TIME', TIME_ABSOLUTE='TIME_ABSOLUTE', VELOCITY='VELOCITY', ACCELERATION='ACCELERATION', CAMERA='CAMERA', POWER='POWER', TEMPERATURE='TEMPERATURE', WAVELENGTH='WAVELENGTH', COLOR_TEMPERATURE='COLOR_TEMPERATURE', FREQUENCY='FREQUENCY')
50
+ """ Constant value bpy.utils.units.categories(NONE=NONE, LENGTH=LENGTH, AREA=AREA, VOLUME=VOLUME, MASS=MASS, ROTATION=ROTATION, TIME=TIME, TIME_ABSOLUTE=TIME_ABSOLUTE, VELOCITY=VELOCITY, ACCELERATION=ACCELERATION, CAMERA=CAMERA, POWER=POWER, TEMPERATURE=TEMPERATURE, WAVELENGTH=WAVELENGTH, COLOR_TEMPERATURE=COLOR_TEMPERATURE, FREQUENCY=FREQUENCY)
61
51
  """
62
52
 
63
53
  systems: typing.Any
64
- """ Constant value bpy.utils.units.systems(NONE='NONE', METRIC='METRIC', IMPERIAL='IMPERIAL')
54
+ """ Constant value bpy.utils.units.systems(NONE=NONE, METRIC=METRIC, IMPERIAL=IMPERIAL)
65
55
  """
@@ -4,6 +4,9 @@ import typing_extensions
4
4
  import numpy.typing as npt
5
5
  import bpy.types
6
6
 
7
+ class AutoKeying:
8
+ """Auto-keying support.Retrieve the lock status for 4D rotation."""
9
+
7
10
  class BakeOptions:
8
11
  """BakeOptions(only_selected: bool, do_pose: bool, do_object: bool, do_visual_keying: bool, do_constraint_clear: bool, do_parents_clear: bool, do_clean: bool, do_location: bool, do_rotation: bool, do_scale: bool, do_bbone: bool, do_custom_props: bool)"""
9
12
 
@@ -40,30 +43,31 @@ class KeyframesCo:
40
43
  """
41
44
 
42
45
  def insert_keyframes_into_existing_action(
43
- self, lookup_fcurves, total_new_keys, action, action_slot
46
+ self, lookup_fcurves, total_new_keys, channelbag
44
47
  ) -> None:
45
48
  """Assumes the action already exists, that it might already have F-curves. Otherwise, the
46
49
  only difference between versions is performance and implementation simplicity.
47
50
 
48
51
  :param lookup_fcurves: : This is only used for efficiency.
49
- It's a substitute for action.fcurves.find() which is a potentially expensive linear search.
52
+ Its a substitute for channelbag.fcurves.find() which is a potentially expensive linear search.
50
53
  :param total_new_keys:
51
- :param action:
52
- :param action_slot:
54
+ :param channelbag:
53
55
  """
54
56
 
55
57
  def insert_keyframes_into_new_action(
56
- self, total_new_keys, action, action_group_name: str
58
+ self, total_new_keys, channelbag, group_name
57
59
  ) -> None:
58
60
  """Assumes the action is new, that it has no F-curves. Otherwise, the only difference between versions is
59
61
  performance and implementation simplicity.
60
62
 
61
63
  :param total_new_keys:
62
- :param action:
63
- :param action_group_name: Name of Action Group that F-curves are added to.
64
- :type action_group_name: str
64
+ :param channelbag:
65
+ :param group_name: Name of the Group that F-curves are added to.
65
66
  """
66
67
 
68
+ def action_ensure_channelbag_for_slot(action, slot) -> None:
69
+ """Ensure a layer and a keyframe strip exists, then ensure that strip has a channelbag for the slot."""
70
+
67
71
  def action_get_channelbag_for_slot(action, slot) -> None:
68
72
  """Returns the first channelbag found for the slot.
69
73
  In case there are multiple layers or strips they are iterated until a
@@ -71,21 +75,29 @@ def action_get_channelbag_for_slot(action, slot) -> None:
71
75
 
72
76
  """
73
77
 
78
+ def action_get_first_suitable_slot(action, target_id_type) -> None:
79
+ """Return the first Slot of the given Action thats suitable for the given ID type.Typically you should not need this function; when an Action is assigned to a
80
+ data-block, just use the slot that was assigned along with it.
81
+
82
+ """
83
+
84
+ def animdata_get_channelbag_for_assigned_slot(anim_data) -> None:
85
+ """Return the channelbag used in the given anim_data or None if there is no Action
86
+ + Slot combination defined.
87
+
88
+ """
89
+
74
90
  def bake_action(
75
91
  obj: bpy.types.Object, *, action: None | bpy.types.Action, frames: int, bake_options
76
92
  ) -> None | bpy.types.Action:
77
93
  """
78
94
 
79
95
  :param obj: Object to bake.
80
- :type obj: bpy.types.Object
81
96
  :param action: An action to bake the data into, or None for a new action
82
97
  to be created.
83
- :type action: None | bpy.types.Action
84
98
  :param frames: Frames to bake.
85
- :type frames: int
86
99
  :param bake_options: Options for baking.
87
100
  :return: Action or None.
88
- :rtype: None | bpy.types.Action
89
101
  """
90
102
 
91
103
  def bake_action_iter(
@@ -94,13 +106,10 @@ def bake_action_iter(
94
106
  """An coroutine that bakes action for a single object.
95
107
 
96
108
  :param obj: Object to bake.
97
- :type obj: bpy.types.Object
98
109
  :param action: An action to bake the data into, or None for a new action
99
110
  to be created.
100
- :type action: None | bpy.types.Action
101
111
  :param bake_options: Boolean options of what to include into the action bake.
102
112
  :return: an action or None
103
- :rtype: bpy.types.Action
104
113
  """
105
114
 
106
115
  def bake_action_objects(
@@ -111,7 +120,6 @@ def bake_action_objects(
111
120
  :param frames: Frames to bake.
112
121
  :param bake_options: Options for baking.
113
122
  :return: A sequence of Action or None types (aligned with object_action_pairs)
114
- :rtype: collections.abc.Sequence[bpy.types.Action]
115
123
  """
116
124
 
117
125
  def bake_action_objects_iter(object_action_pairs, bake_options) -> None:
@@ -9,7 +9,6 @@ def bmesh_linked_uv_islands(bm, uv_layer) -> list[list[int]]:
9
9
  :param bm: the bmesh used to group with.
10
10
  :param uv_layer: the UV layer to source UVs from.
11
11
  :return: list of lists containing polygon indices
12
- :rtype: list[list[int]]
13
12
  """
14
13
 
15
14
  def match_uv(face, vert, uv, uv_layer) -> None: ...
@@ -2,12 +2,20 @@ import typing
2
2
  import collections.abc
3
3
  import typing_extensions
4
4
  import numpy.typing as npt
5
+ import bpy.types
5
6
 
6
- def get_all_referenced_ids(id, ref_map) -> None:
7
- """Return a set of IDs directly or indirectly referenced by id."""
7
+ def get_all_referenced_ids(
8
+ id: bpy.types.ID, ref_map: dict[bpy.types.ID, set[bpy.types.ID]]
9
+ ) -> set[bpy.types.ID]:
10
+ """Return a set of IDs directly or indirectly referenced by id.
8
11
 
9
- def get_id_reference_map() -> None:
10
- """Return a dictionary of direct datablock references for every datablock in the blend file."""
12
+ :param id: Datablock whose references were interested in.
13
+ :param ref_map: The global ID reference map, retrieved from get_id_reference_map()
14
+ :return: Set of datablocks referenced by id.
15
+ """
11
16
 
12
- def recursive_get_referenced_ids(ref_map, id, referenced_ids, visited) -> None:
13
- """Recursively populate referenced_ids with IDs referenced by id."""
17
+ def get_id_reference_map() -> dict[bpy.types.ID, set[bpy.types.ID]]:
18
+ """Return a dictionary of direct data-block references for every data-block in the blend file.
19
+
20
+ :return: Each datablock of the .blend file mapped to the set of IDs they directly reference.
21
+ """
@@ -21,32 +21,23 @@ def load_image(
21
21
 
22
22
  :param dirname: is the directory where the image may be located - any file at
23
23
  the end will be ignored.
24
- :type dirname: str
25
24
  :param place_holder: if True a new place holder image will be created.
26
25
  this is useful so later you can relink the image to its original data.
27
- :type place_holder: bool
28
26
  :param recursive: If True, directories will be recursively searched.
29
27
  Be careful with this if you have files in your root directory because
30
28
  it may take a long time.
31
- :type recursive: bool
32
29
  :param ncase_cmp: on non windows systems, find the correct case for the file.
33
- :type ncase_cmp: bool
34
30
  :param convert_callback: a function that takes an existing path and returns
35
31
  a new one. Use this when loading image formats blender may not support,
36
32
  the CONVERT_CALLBACK can take the path for a GIF (for example),
37
- convert it to a PNG and return the PNG's path.
33
+ convert it to a PNG and return the PNGs path.
38
34
  For formats blender can read, simply return the path that is given.
39
- :type convert_callback: typing.Any | None
40
35
  :param relpath: If not None, make the file relative to this path.
41
- :type relpath: None | str | None
42
36
  :param check_existing: If true,
43
- returns already loaded image datablock if possible
37
+ returns already loaded image data-block if possible
44
38
  (based on file path).
45
- :type check_existing: bool
46
39
  :param force_reload: If true,
47
40
  force reloading of image (only useful when check_existing
48
41
  is also enabled).
49
- :type force_reload: bool
50
42
  :return: an image or None
51
- :rtype: None | bpy.types.Image
52
43
  """