From eef5547a2c48f46a289eb2935a4a194c4921ca41 Mon Sep 17 00:00:00 2001 From: Raincloud Date: Tue, 17 Mar 2026 15:34:28 -0600 Subject: [PATCH] 2026-03-11_4 --- config/bookmarks.txt | 18 +- config/flamenco-manager-info.json | 636 +- config/platform_support.txt | 5 +- config/recent-files.txt | 62 +- config/recent-searches.txt | Bin 23185 -> 24051 bytes config/startup.blend | 4 +- config/userpref.blend | 4 +- extensions/.cache/compat.dat | 4 +- .../blender_org/.blender_ext/index.json | 2 +- .../blender_org/.blender_ext/index.json@15284 | 1 + .../blender_org/.blender_ext/index.json@33f8 | 1 - .../blender_org/.blender_ext/index.json@6ba0 | 1 - .../blender_org/.blender_ext/index.json@76300 | 1 + .../blender_org/.blender_ext/index.json@c22c | 1 - .../blender_org/bone_widget}/LICENSE | 0 .../blender_org/bone_widget}/__init__.py | 58 +- .../bone_widget/blender_manifest.toml | 34 + extensions/blender_org/bone_widget/classes.py | 168 + .../bone_widget/functions/__init__.py | 1 + .../bone_widget/functions/json_functions.py | 647 ++ .../bone_widget/functions/main_functions.py | 614 ++ .../functions/preview_functions.py | 301 + extensions/blender_org/bone_widget/menus.py | 59 + .../blender_org/bone_widget/operators.py | 1620 ++++ extensions/blender_org/bone_widget/panels.py | 280 + extensions/blender_org/bone_widget/prefs.py | 203 + extensions/blender_org/bone_widget/props.py | 197 + .../bone_widget}/thumbnails/3 Axes.png | 0 .../bone_widget}/thumbnails/6 Axes.png | 0 .../thumbnails/Arrow Double (curved).png | 0 .../thumbnails/Arrow Double (straight).png | 0 .../thumbnails/Arrow Single (straight).png | 0 .../bone_widget}/thumbnails/Chest.png | 0 .../bone_widget}/thumbnails/Circle.png | 0 .../bone_widget}/thumbnails/Clavicle.png | 0 .../bone_widget}/thumbnails/Cube.png | 0 .../bone_widget}/thumbnails/Eye Target 1.png | 0 .../bone_widget}/thumbnails/Eye Target 2.png | 0 .../bone_widget}/thumbnails/FK Limb 1.png | 0 .../bone_widget}/thumbnails/FK Limb 2.png | 0 .../bone_widget}/thumbnails/Gear Complex.png | 0 .../bone_widget}/thumbnails/Gear Simple.png | 0 .../bone_widget}/thumbnails/Line.png | 0 .../thumbnails/Paddle (rounded).png | 0 .../thumbnails/Paddle (square).png | 0 .../thumbnails/Plane (rounded).png | 0 .../bone_widget}/thumbnails/Plane.png | 0 .../bone_widget}/thumbnails/Pyramid.png | 0 .../bone_widget}/thumbnails/Rhomboid.png | 0 .../bone_widget}/thumbnails/Roll 1.png | 0 .../bone_widget}/thumbnails/Roll 2.png | 0 .../bone_widget}/thumbnails/Roll 3.png | 0 .../bone_widget/thumbnails/Roll IK.png | 0 .../bone_widget}/thumbnails/Root 1.png | 0 .../bone_widget}/thumbnails/Root 2.png | 0 .../bone_widget}/thumbnails/Saddle.png | 0 .../bone_widget}/thumbnails/Sphere (half).png | 0 .../bone_widget}/thumbnails/Sphere.png | 0 .../bone_widget}/thumbnails/Tile.png | 0 .../bone_widget}/thumbnails/Torso.png | 0 .../bone_widget}/thumbnails/Triangle.png | 0 .../bone_widget}/thumbnails/missing_image.png | 0 .../bone_widget}/thumbnails/user_defined.png | 0 .../blender_org/bone_widget/widgets.json | 1 + .../blender_org/extra_mesh_objects/Blocks.py | 1817 +++++ .../extra_mesh_objects/Wallfactory.py | 979 +++ .../extra_mesh_objects/__init__.py | 460 ++ .../extra_mesh_objects/add_empty_as_parent.py | 133 + .../add_mesh_3d_function_surface.py | 612 ++ .../add_mesh_beam_builder.py | 822 ++ .../extra_mesh_objects/add_mesh_gears.py | 987 +++ .../extra_mesh_objects/add_mesh_gemstones.py | 516 ++ .../extra_mesh_objects/add_mesh_honeycomb.py | 341 + .../add_mesh_menger_sponge.py | 198 + .../extra_mesh_objects/add_mesh_pipe_joint.py | 1428 ++++ .../extra_mesh_objects/add_mesh_pyramid.py | 223 + .../add_mesh_rocks/__init__.py | 36 + .../add_mesh_rocks/add_mesh_rocks.xml | 403 + .../add_mesh_rocks/factory.xml | 403 + .../add_mesh_rocks/randomize_texture.py | 161 + .../add_mesh_rocks/rockgen.py | 1178 +++ .../add_mesh_rocks/settings.py | 144 + .../add_mesh_rocks/utils.py | 141 + .../add_mesh_round_brilliant.py | 500 ++ .../extra_mesh_objects/add_mesh_round_cube.py | 521 ++ .../extra_mesh_objects/add_mesh_solid.py | 405 + .../extra_mesh_objects/add_mesh_star.py | 285 + .../add_mesh_supertoroid.py | 331 + .../extra_mesh_objects/add_mesh_teapot.py | 865 ++ .../extra_mesh_objects/add_mesh_torusknot.py | 201 + .../extra_mesh_objects/add_mesh_triangles.py | 313 + .../add_mesh_twisted_torus.py | 327 + .../extra_mesh_objects/add_mesh_vertex.py | 144 + .../extra_mesh_objects/blender_manifest.toml | 12 + .../extra_mesh_objects/interface.py | 9 + .../extra_mesh_objects/preferences.py | 58 + .../mesh.primitive_round_cube_add/Capsule.py | 8 + .../mesh.primitive_round_cube_add/Clay_Bar.py | 8 + .../mesh.primitive_round_cube_add/Cube.py | 9 + .../mesh.primitive_round_cube_add/Grid_3D.py | 7 + .../Octahedron.py | 9 + .../Quadsphere.py | 8 + .../Rounded_Cube.py | 8 + .../mesh.primitive_solid_add/Cuboctahedron.py | 8 + .../Deltoidal_Hexecontahedron.py | 8 + .../Deltoidal_Icositetrahedron.py | 8 + .../Disdyakis_Dodecahedron.py | 8 + .../Disdyakis_Triacontahedron.py | 8 + .../Icosidodecahedron.py | 8 + .../Pentagonal_Hexecontahedron.py | 8 + .../Pentagonal_Icositetrahedron.py | 8 + .../Pentakis_Dodecahedron.py | 8 + .../Rhombic_Dodecahedron.py | 8 + .../Rhombic_Triacontahedron.py | 8 + .../Rhombicosidodecahedron.py | 8 + .../Rhombicuboctahedron.py | 8 + .../mesh.primitive_solid_add/Snub_Cube.py | 8 + .../Snub_Dodecahedron.py | 8 + .../Tetrakis_Hexahedron.py | 8 + .../Triakis_Icosahedron.py | 8 + .../Triakis_Octahedron.py | 8 + .../Triakis_Tetrahedron.py | 8 + .../Truncated_Cube.py | 8 + .../Truncated_Cuboctahedron.py | 8 + .../Truncated_Dodecahedron.py | 8 + .../Truncated_Icosahedron.py | 8 + .../Truncated_Icosidodecahedron.py | 8 + .../Truncated_Octahedron.py | 8 + .../Truncated_Tetrahedron.py | 8 + .../bonbon.py | 22 + .../boy.py | 22 + .../catalan.py | 22 + .../catenoid.py | 22 + .../clifford_torus.py | 22 + .../cochlea.py | 22 + .../cosinus.py | 22 + .../dini.py | 22 + .../enneper.py | 22 + .../helicoidal.py | 22 + .../helix.py | 22 + .../hexahedron.py | 22 + .../hyperhelicoidal.py | 22 + .../klein.py | 22 + .../moebius.py | 22 + .../pseudo_catenoid.py | 22 + .../pseudosphere.py | 22 + .../ridged_torus.py | 22 + .../shell.py | 22 + .../sine.py | 22 + .../snake.py | 22 + .../sterosphere.py | 22 + .../torus.py | 22 + .../twisted_torus.py | 22 + .../blender_org/ik_fk_snapping_tool}/LICENSE | 0 .../ik_fk_snapping_tool/__init__.py | 50 + .../ik_fk_snapping_tool/blender_manifest.toml | 12 + .../ik_fk_snapping_tool/load_modules.py | 34 + .../ik_fk_snapping_tool/operators.py | 356 + .../blender_org/ik_fk_snapping_tool/ui.py | 364 + .../ik_fk_snapping_tool/utilities.py | 124 + .../blender_manifest.toml | 2 +- .../operators/renaming_utilities.py | 20 +- .../{index.json@4dc8 => index.json@23a6c} | 0 .../{index.json@5498 => index.json@48bc4} | 0 .../.blender_ext/index.json@6f6c | 78 - .../{index.json@9a58 => index.json@76dd8} | 32 +- .../.blender_ext/index.json@a0d8 | 78 - ...ser_default.blenderkit_updater_status.json | 2 +- .../dynamiclinkmanager/blender_manifest.toml | 2 +- .../dynamiclinkmanager/ops/fk_rotations.py | 403 + .../dynamiclinkmanager/ops/migrator.py | 44 +- .../dynamiclinkmanager/ui/operators.py | 198 +- .../dynamiclinkmanager/ui/panels.py | 55 +- .../dynamiclinkmanager/ui/properties.py | 7 +- .../ffengine/lib/ff_alembic_exporter_linux | Bin 183976 -> 0 bytes .../ffengine/lib/ff_alembic_exporter_macos | Bin 447128 -> 0 bytes .../ffengine/lib/libAlembic.1.8.8.dylib | 3 - .../ffengine/lib/libAlembic.so.1.8.8 | Bin 4630224 -> 0 bytes .../ffengine/lib/libImath-3_1.29.11.0.dylib | 3 - .../ffengine/lib/libImath-3_1.so.29.11.0 | Bin 340680 -> 0 bytes .../lib/libffalembicengine-universal.dylib | 3 - .../ffengine/lib/libffengine-universal.dylib | 3 - .../.blender_ext/index.json | 2 +- .../.blender_ext/index.json@140c0 | 1 + .../{index.json@5200 => index.json@14b68} | 0 .../.blender_ext/index.json@154a8 | 1 + .../.blender_ext/index.json@15acc | 1 + .../.blender_ext/index.json@15d78 | 1 + .../.blender_ext/index.json@16464 | 1 + .../.blender_ext/index.json@16b24 | 1 + .../{index.json@64d0 => index.json@18540} | 2 +- .../{index.json@56e8 => index.json@185dc} | 2 +- .../.blender_ext/index.json@19a20 | 1 + .../{index.json@5e00 => index.json@1c650} | 2 +- .../{index.json@1130 => index.json@28154} | 2 +- .../.blender_ext/index.json@2adbc | 1 + .../.blender_ext/index.json@2b840 | 1 + .../.blender_ext/index.json@2b904 | 1 + .../.blender_ext/index.json@2bbbc | 1 + .../.blender_ext/index.json@3143c | 1 + .../.blender_ext/index.json@35334 | 1 + .../.blender_ext/index.json@37d34 | 1 + .../.blender_ext/index.json@39d80 | 1 + .../.blender_ext/index.json@3b128 | 1 + .../.blender_ext/index.json@3b594 | 1 + .../.blender_ext/index.json@3e58 | 1 + .../.blender_ext/index.json@46e48 | 1 + .../{index.json@68a0 => index.json@4843c} | 0 .../{index.json@2bf0 => index.json@48ce4} | 2 +- .../.blender_ext/index.json@4a27c | 1 + .../.blender_ext/index.json@55a4 | 1 - .../.blender_ext/index.json@5678 | 1 - .../{index.json@8e6c => index.json@59c18} | 0 .../.blender_ext/index.json@6098 | 1 - .../.blender_ext/index.json@6bf4 | 1 - .../.blender_ext/index.json@7098 | 1 + .../.blender_ext/index.json@72c0 | 1 - .../.blender_ext/index.json@75d44 | 1 + .../.blender_ext/index.json@76300 | 1 + .../{index.json@98a0 => index.json@76a0} | 2 +- .../.blender_ext/index.json@76f2c | 1 + .../.blender_ext/index.json@7829c | 1 + .../.blender_ext/index.json@8190 | 1 - .../.blender_ext/index.json@84d4 | 1 - .../{index.json@8c38 => index.json@84e4} | 0 .../.blender_ext/index.json@8a84 | 1 + .../.blender_ext/index.json@8e58 | 1 + .../.blender_ext/index.json@8fbc | 1 - .../.blender_ext/index.json@9354 | 1 - .../.blender_ext/index.json@9830 | 1 - .../.blender_ext/index.json@b3e4 | 1 - .../.blender_ext/index.json@c22c | 1 - .../.blender_ext/index.json@c2c | 1 - .../.blender_ext/index.json@d2dc | 1 - .../.blender_ext/index.json@d2ec | 1 - .../.blender_ext/index.json@e874 | 1 - .../Animation_Layers_updater_status.json | 2 +- .../addons/IconOperator/Data/icons/square.png | 3 + .../IconOperator/Data/icons/triangle.png | 3 + scripts/addons/IconOperator/__init__.py | 96 + scripts/addons/blender_kitsu/README.md | 2 - scripts/addons/blender_kitsu/__init__.py | 114 - scripts/addons/blender_kitsu/anim/__init__.py | 29 - scripts/addons/blender_kitsu/anim/ops.py | 504 -- scripts/addons/blender_kitsu/anim/opsdata.py | 281 - scripts/addons/blender_kitsu/anim/ui.py | 103 - scripts/addons/blender_kitsu/auth/__init__.py | 27 - scripts/addons/blender_kitsu/auth/ops.py | 145 - scripts/addons/blender_kitsu/auth/ui.py | 72 - scripts/addons/blender_kitsu/bkglobals.py | 88 - .../blender_kitsu/blender_manifest.toml | 26 - scripts/addons/blender_kitsu/cache.py | 831 -- .../addons/blender_kitsu/context/__init__.py | 27 - scripts/addons/blender_kitsu/context/core.py | 80 - scripts/addons/blender_kitsu/context/ops.py | 343 - scripts/addons/blender_kitsu/context/ui.py | 156 - scripts/addons/blender_kitsu/dependencies.py | 17 - scripts/addons/blender_kitsu/edit/__init__.py | 27 - scripts/addons/blender_kitsu/edit/core.py | 95 - scripts/addons/blender_kitsu/edit/ops.py | 355 - scripts/addons/blender_kitsu/edit/opsdata.py | 97 - scripts/addons/blender_kitsu/edit/ui.py | 116 - scripts/addons/blender_kitsu/exception.py | 10 - .../filetrees/filetree_default.py | 54 - .../addons/blender_kitsu/generic/__init__.py | 23 - scripts/addons/blender_kitsu/generic/ops.py | 79 - scripts/addons/blender_kitsu/logger.py | 47 - .../addons/blender_kitsu/lookdev/__init__.py | 41 - scripts/addons/blender_kitsu/lookdev/ops.py | 106 - .../addons/blender_kitsu/lookdev/opsdata.py | 109 - scripts/addons/blender_kitsu/lookdev/prefs.py | 87 - scripts/addons/blender_kitsu/lookdev/props.py | 42 - scripts/addons/blender_kitsu/lookdev/ui.py | 97 - scripts/addons/blender_kitsu/models.py | 191 - .../blender_kitsu/playblast/__init__.py | 27 - .../addons/blender_kitsu/playblast/core.py | 320 - scripts/addons/blender_kitsu/playblast/ops.py | 680 -- .../addons/blender_kitsu/playblast/opsdata.py | 96 - scripts/addons/blender_kitsu/playblast/ui.py | 119 - scripts/addons/blender_kitsu/prefs.py | 818 -- scripts/addons/blender_kitsu/props.py | 949 --- scripts/addons/blender_kitsu/propsdata.py | 225 - .../blender_kitsu/render_review/__init__.py | 44 - .../blender_kitsu/render_review/checksqe.py | 78 - .../blender_kitsu/render_review/draw.py | 207 - .../blender_kitsu/render_review/exception.py | 8 - .../addons/blender_kitsu/render_review/ops.py | 1040 --- .../blender_kitsu/render_review/opsdata.py | 431 - .../blender_kitsu/render_review/props.py | 86 - .../addons/blender_kitsu/render_review/ui.py | 166 - .../blender_kitsu/render_review/util.py | 28 - .../blender_kitsu/render_review/vars.py | 8 - .../addons/blender_kitsu/res/metastrip.mp4 | 3 - .../blender_kitsu/shot_builder/__init__.py | 16 - .../blender_kitsu/shot_builder/assets.py | 45 - .../blender_kitsu/shot_builder/config.py | 121 - .../shot_builder/config_examples/hooks.py | 53 - .../config_examples/settings.json | 50 - .../addons/blender_kitsu/shot_builder/core.py | 219 - .../blender_kitsu/shot_builder/file_save.py | 22 - .../blender_kitsu/shot_builder/hooks.py | 162 - .../addons/blender_kitsu/shot_builder/ops.py | 632 -- .../blender_kitsu/shot_builder/template.py | 69 - .../shot_builder/templates/Animation.blend | 3 - .../shot_builder/templates/Asset.blend | 3 - .../shot_builder/templates/Compositing.blend | 3 - .../shot_builder/templates/Edit.blend | 3 - .../shot_builder/templates/FX.blend | 3 - .../shot_builder/templates/Layout.blend | 3 - .../shot_builder/templates/Lighting.blend | 3 - .../shot_builder/templates/README.md | 12 - .../addons/blender_kitsu/shot_builder/ui.py | 63 - scripts/addons/blender_kitsu/sqe/__init__.py | 39 - scripts/addons/blender_kitsu/sqe/checksqe.py | 72 - .../addons/blender_kitsu/sqe/checkstrip.py | 131 - scripts/addons/blender_kitsu/sqe/draw.py | 126 - scripts/addons/blender_kitsu/sqe/ops.py | 2719 ------- scripts/addons/blender_kitsu/sqe/opsdata.py | 265 - scripts/addons/blender_kitsu/sqe/pull.py | 42 - scripts/addons/blender_kitsu/sqe/push.py | 94 - scripts/addons/blender_kitsu/sqe/ui.py | 770 -- .../addons/blender_kitsu/tasks/__init__.py | 27 - scripts/addons/blender_kitsu/tasks/ops.py | 60 - scripts/addons/blender_kitsu/tasks/opsdata.py | 12 - scripts/addons/blender_kitsu/tasks/ui.py | 90 - scripts/addons/blender_kitsu/types.py | 1468 ---- scripts/addons/blender_kitsu/ui.py | 84 - scripts/addons/blender_kitsu/util.py | 42 - .../addons/blender_kitsu/wheels/__init__.py | 135 - .../wheels/bidict-0.22.1-py3-none-any.whl | 3 - .../wheels/gazu-0.9.4-py2.py3-none-any.whl | 3 - .../python_engineio-4.5.1-py3-none-any.whl | 3 - .../python_socketio-5.8.0-py3-none-any.whl | 3 - scripts/addons/blender_svn/README.md | 4 - scripts/addons/blender_svn/__init__.py | 76 - .../addons/blender_svn/blender_manifest.toml | 29 - scripts/addons/blender_svn/constants.py | 122 - .../addons/blender_svn/operators/__init__.py | 19 - .../blender_svn/operators/simple_commands.py | 503 -- .../blender_svn/operators/svn_checkout.py | 98 - .../blender_svn/operators/svn_commit.py | 234 - .../blender_svn/operators/svn_update.py | 96 - .../blender_svn/operators/ui_operators.py | 77 - scripts/addons/blender_svn/prefs.py | 190 - scripts/addons/blender_svn/props.py | 52 - scripts/addons/blender_svn/repository.py | 606 -- scripts/addons/blender_svn/svn_info.py | 47 - .../addons/blender_svn/threaded/__init__.py | 25 - .../threaded/background_process.py | 277 - scripts/addons/blender_svn/threaded/commit.py | 70 - .../threaded/execute_subprocess.py | 72 - .../threaded/filebrowser_activate_file.py | 37 - .../blender_svn/threaded/redraw_viewport.py | 27 - .../addons/blender_svn/threaded/svn_log.py | 190 - .../addons/blender_svn/threaded/svn_status.py | 395 - scripts/addons/blender_svn/threaded/update.py | 93 - scripts/addons/blender_svn/ui/__init__.py | 23 - .../addons/blender_svn/ui/ui_context_menus.py | 70 - scripts/addons/blender_svn/ui/ui_file_list.py | 233 - .../addons/blender_svn/ui/ui_filebrowser.py | 59 - scripts/addons/blender_svn/ui/ui_log.py | 279 - .../blender_svn/ui/ui_outdated_warning.py | 39 - scripts/addons/blender_svn/ui/ui_repo_list.py | 276 - scripts/addons/blender_svn/ui/ui_sidebar.py | 63 - scripts/addons/blender_svn/util.py | 27 - .../wheels/Send2Trash-1.8.0-py3-none-any.whl | 3 - scripts/addons/blender_svn/wheels/__init__.py | 144 - ...python_dateutil-2.8.2-py2.py3-none-any.whl | 3 - .../wheels/six-1.16.0-py2.py3-none-any.whl | 3 - .../xmltodict-0.12.0-py2.py3-none-any.whl | 3 - .../boneWidget-boneWidget_0_2_1/README.md | 279 - .../bl_class_registry.py | 67 - .../functions/__init__.py | 3 - .../functions/jsonFunctions.py | 291 - .../functions/mainFunctions.py | 482 -- .../functions/previewFunctions.py | 108 - .../images/bone_widget_UI.png | 3 - .../images/bone_widget_redo_panel.png | 3 - .../images/bone_widget_specials_menu.png | 3 - .../images/bone_widget_user_prefs.png | 3 - .../boneWidget-boneWidget_0_2_1/menus.py | 32 - .../boneWidget-boneWidget_0_2_1/operators.py | 784 -- .../boneWidget-boneWidget_0_2_1/panels.py | 131 - .../boneWidget-boneWidget_0_2_1/prefs.py | 129 - .../boneWidget-boneWidget_0_2_1/widgets.json | 1 - scripts/addons/btoon/__init__.py | 285 - scripts/addons/btoon/library.blend | 3 - .../CC3_Eye_Displacement_Map.png | 3 + .../LICENSE | 0 .../addons/cc_blender_tools-2_4_0/README.md | 915 +++ .../cc_blender_tools-2_4_0/_LIB293.blend | 3 + .../cc_blender_tools-2_4_0/_LIB341.blend | 3 + .../addons/cc_blender_tools-2_4_0/__init__.py | 298 + .../cc_blender_tools-2_4_0/addon_updater.py | 1714 ++++ .../addon_updater_ops.py | 1513 ++++ scripts/addons/cc_blender_tools-2_4_0/bake.py | 3577 +++++++++ .../addons/cc_blender_tools-2_4_0/basic.py | 500 ++ .../addons/cc_blender_tools-2_4_0/bones.py | 2029 +++++ scripts/addons/cc_blender_tools-2_4_0/cc.py | 133 + ...cc_blender_tools-2_4_0_updater_status.json | 9 + .../cc_blender_tools-2_4_0/channel_mixer.py | 468 ++ .../cc_blender_tools-2_4_0/characters.py | 2588 ++++++ .../cc_blender_tools-2_4_0/colorspace.py | 182 + .../addons/cc_blender_tools-2_4_0/drivers.py | 1058 +++ .../addons/cc_blender_tools-2_4_0/exporter.py | 2744 +++++++ .../addons/cc_blender_tools-2_4_0/facerig.py | 2323 ++++++ .../cc_blender_tools-2_4_0/facerig_data.py | 6991 +++++++++++++++++ scripts/addons/cc_blender_tools-2_4_0/geom.py | 905 +++ scripts/addons/cc_blender_tools-2_4_0/hair.py | 2139 +++++ scripts/addons/cc_blender_tools-2_4_0/hik.py | 423 + .../hik/RLRigify.3dxProfile | 3 + .../hik/vroid.3dxProfile | 3 + .../icons/wrinkle_bg.png | 3 + .../cc_blender_tools-2_4_0/iconutils.py | 39 + .../cc_blender_tools-2_4_0/imageutils.py | 468 ++ .../addons/cc_blender_tools-2_4_0/importer.py | 2079 +++++ .../cc_blender_tools-2_4_0/jsonutils.py | 711 ++ scripts/addons/cc_blender_tools-2_4_0/lib.py | 172 + scripts/addons/cc_blender_tools-2_4_0/link.py | 4991 ++++++++++++ .../cc_blender_tools-2_4_0/materials.py | 1078 +++ .../cc_blender_tools-2_4_0/meshutils.py | 733 ++ .../cc_blender_tools-2_4_0/modifiers.py | 512 ++ .../cc_blender_tools-2_4_0/nodeutils.py | 1253 +++ .../addons/cc_blender_tools-2_4_0/normal.py | 124 + .../addons/cc_blender_tools-2_4_0/panels.py | 4507 +++++++++++ .../addons/cc_blender_tools-2_4_0/params.py | 2474 ++++++ .../addons/cc_blender_tools-2_4_0/physics.py | 1733 ++++ .../cc_blender_tools-2_4_0/preferences.py | 735 ++ .../presets/kiara_1_dawn_4k.hdr | 3 + .../presets/veranda_4k.hdr | 3 + .../cc_blender_tools-2_4_0/properties.py | 3644 +++++++++ .../cc_blender_tools-2_4_0/proportion.py | 218 + .../addons/cc_blender_tools-2_4_0/rigging.py | 4620 +++++++++++ .../cc_blender_tools-2_4_0/rigidbody.py | 1178 +++ .../rigify_mapping_data.py | 1714 ++++ .../addons/cc_blender_tools-2_4_0/rigutils.py | 4685 +++++++++++ scripts/addons/cc_blender_tools-2_4_0/rlx.py | 850 ++ .../addons/cc_blender_tools-2_4_0/scene.py | 2798 +++++++ .../cc_blender_tools-2_4_0/sculpting.py | 1112 +++ .../addons/cc_blender_tools-2_4_0/shaders.py | 1515 ++++ .../cc_blender_tools-2_4_0/springbones.py | 585 ++ .../RL_CC3_Plus_EyeTearlineNormal.TGA | 3 + .../textures/RL_SkinMicroCavityMap.png | 3 + .../textures/RL_SkinSpecDetail.png | 3 + .../textures/RL_WrinkleMask_Set123.png | 3 + .../textures/RL_WrinkleMask_Set1A.png | 3 + .../textures/RL_WrinkleMask_Set1B.png | 3 + .../textures/RL_WrinkleMask_Set2.png | 3 + .../textures/RL_WrinkleMask_Set3.png | 3 + .../addons/cc_blender_tools-2_4_0/utils.py | 3162 ++++++++ scripts/addons/cc_blender_tools-2_4_0/vars.py | 595 ++ .../addons/cc_blender_tools-2_4_0/world.py | 110 + .../addons/cc_blender_tools-2_4_0/wrinkle.py | 1096 +++ scripts/addons/dynamic_parent.py | 21 +- scripts/addons/flamenco/operators.py | 233 +- ...ender_asset_tracer-1.22a1-py3-none-any.whl | 3 - .../__init__.py | 4 +- .../core/detection_manager.py | 9 +- .../core/library_manager.py | 104 +- .../core/login_manager.py | 10 +- .../core/recorder.py | 7 +- .../core/utils.py | 61 +- .../operators/login.py | 23 +- .../operators/retargeting.py | 27 +- .../version_compatibility.json | 4 + .../presets/interface_theme/Blender_Dark.xml | 1666 ---- .../interface_theme/maya_blue_theme.xml | 125 +- .../interface_theme/maya_theme_gradient.xml | 1534 ++++ .../presets/interface_theme/modo_theme.xml | 1534 ++++ scripts/presets/interface_theme/sketchup.xml | 1534 ++++ .../interface_theme/white_bg_theme.xml | 1534 ++++ scripts/presets/keyconfig/fa_hotkeys.py | 2560 ++++-- .../keyconfig/keymap_data/blender_default.py | 1567 +++- .../keymap_data/industry_compatible_data.py | 859 +- 474 files changed, 113268 insertions(+), 27500 deletions(-) create mode 100644 extensions/blender_org/.blender_ext/index.json@15284 delete mode 100644 extensions/blender_org/.blender_ext/index.json@33f8 delete mode 100644 extensions/blender_org/.blender_ext/index.json@6ba0 create mode 100644 extensions/blender_org/.blender_ext/index.json@76300 delete mode 100644 extensions/blender_org/.blender_ext/index.json@c22c rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/LICENSE (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/__init__.py (56%) create mode 100644 extensions/blender_org/bone_widget/blender_manifest.toml create mode 100644 extensions/blender_org/bone_widget/classes.py create mode 100644 extensions/blender_org/bone_widget/functions/__init__.py create mode 100644 extensions/blender_org/bone_widget/functions/json_functions.py create mode 100644 extensions/blender_org/bone_widget/functions/main_functions.py create mode 100644 extensions/blender_org/bone_widget/functions/preview_functions.py create mode 100644 extensions/blender_org/bone_widget/menus.py create mode 100644 extensions/blender_org/bone_widget/operators.py create mode 100644 extensions/blender_org/bone_widget/panels.py create mode 100644 extensions/blender_org/bone_widget/prefs.py create mode 100644 extensions/blender_org/bone_widget/props.py rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/3 Axes.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/6 Axes.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Arrow Double (curved).png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Arrow Double (straight).png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Arrow Single (straight).png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Chest.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Circle.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Clavicle.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Cube.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Eye Target 1.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Eye Target 2.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/FK Limb 1.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/FK Limb 2.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Gear Complex.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Gear Simple.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Line.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Paddle (rounded).png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Paddle (square).png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Plane (rounded).png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Plane.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Pyramid.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Rhomboid.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Roll 1.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Roll 2.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Roll 3.png (100%) rename scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Roll_IK.png => extensions/blender_org/bone_widget/thumbnails/Roll IK.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Root 1.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Root 2.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Saddle.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Sphere (half).png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Sphere.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Tile.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Torso.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/Triangle.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/missing_image.png (100%) rename {scripts/addons/boneWidget-boneWidget_0_2_1 => extensions/blender_org/bone_widget}/thumbnails/user_defined.png (100%) create mode 100644 extensions/blender_org/bone_widget/widgets.json create mode 100644 extensions/blender_org/extra_mesh_objects/Blocks.py create mode 100644 extensions/blender_org/extra_mesh_objects/Wallfactory.py create mode 100644 extensions/blender_org/extra_mesh_objects/__init__.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_empty_as_parent.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_3d_function_surface.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_beam_builder.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_gears.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_gemstones.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_honeycomb.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_menger_sponge.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_pipe_joint.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_pyramid.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_rocks/__init__.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_rocks/add_mesh_rocks.xml create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_rocks/factory.xml create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_rocks/randomize_texture.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_rocks/rockgen.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_rocks/settings.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_rocks/utils.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_round_brilliant.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_round_cube.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_solid.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_star.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_supertoroid.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_teapot.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_torusknot.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_triangles.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_twisted_torus.py create mode 100644 extensions/blender_org/extra_mesh_objects/add_mesh_vertex.py create mode 100644 extensions/blender_org/extra_mesh_objects/blender_manifest.toml create mode 100644 extensions/blender_org/extra_mesh_objects/interface.py create mode 100644 extensions/blender_org/extra_mesh_objects/preferences.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Capsule.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Clay_Bar.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Cube.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Grid_3D.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Octahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Quadsphere.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Rounded_Cube.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Cuboctahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Deltoidal_Hexecontahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Deltoidal_Icositetrahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Disdyakis_Dodecahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Disdyakis_Triacontahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Icosidodecahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentagonal_Hexecontahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentagonal_Icositetrahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentakis_Dodecahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombic_Dodecahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombic_Triacontahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombicosidodecahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombicuboctahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Snub_Cube.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Snub_Dodecahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Tetrakis_Hexahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Icosahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Octahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Tetrahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Cube.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Cuboctahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Dodecahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Icosahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Icosidodecahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Octahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Tetrahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/bonbon.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/boy.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/catalan.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/catenoid.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/clifford_torus.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/cochlea.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/cosinus.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/dini.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/enneper.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/helicoidal.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/helix.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/hexahedron.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/hyperhelicoidal.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/klein.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/moebius.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/pseudo_catenoid.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/pseudosphere.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/ridged_torus.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/shell.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/sine.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/snake.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/sterosphere.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/torus.py create mode 100644 extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/twisted_torus.py rename {scripts/addons/blender_kitsu => extensions/blender_org/ik_fk_snapping_tool}/LICENSE (100%) create mode 100644 extensions/blender_org/ik_fk_snapping_tool/__init__.py create mode 100644 extensions/blender_org/ik_fk_snapping_tool/blender_manifest.toml create mode 100644 extensions/blender_org/ik_fk_snapping_tool/load_modules.py create mode 100644 extensions/blender_org/ik_fk_snapping_tool/operators.py create mode 100644 extensions/blender_org/ik_fk_snapping_tool/ui.py create mode 100644 extensions/blender_org/ik_fk_snapping_tool/utilities.py rename extensions/rainys_extensions/.blender_ext/{index.json@4dc8 => index.json@23a6c} (100%) rename extensions/rainys_extensions/.blender_ext/{index.json@5498 => index.json@48bc4} (100%) delete mode 100644 extensions/rainys_extensions/.blender_ext/index.json@6f6c rename extensions/rainys_extensions/.blender_ext/{index.json@9a58 => index.json@76dd8} (72%) delete mode 100644 extensions/rainys_extensions/.blender_ext/index.json@a0d8 create mode 100644 extensions/user_default/dynamiclinkmanager/ops/fk_rotations.py delete mode 100644 extensions/user_default/flip_fluids_addon/ffengine/lib/ff_alembic_exporter_linux delete mode 100644 extensions/user_default/flip_fluids_addon/ffengine/lib/ff_alembic_exporter_macos delete mode 100644 extensions/user_default/flip_fluids_addon/ffengine/lib/libAlembic.1.8.8.dylib delete mode 100644 extensions/user_default/flip_fluids_addon/ffengine/lib/libAlembic.so.1.8.8 delete mode 100644 extensions/user_default/flip_fluids_addon/ffengine/lib/libImath-3_1.29.11.0.dylib delete mode 100644 extensions/user_default/flip_fluids_addon/ffengine/lib/libImath-3_1.so.29.11.0 delete mode 100644 extensions/user_default/flip_fluids_addon/ffengine/lib/libffalembicengine-universal.dylib delete mode 100644 extensions/user_default/flip_fluids_addon/ffengine/lib/libffengine-universal.dylib create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@140c0 rename extensions/www_blenderkit_com/.blender_ext/{index.json@5200 => index.json@14b68} (100%) create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@154a8 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@15acc create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@15d78 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@16464 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@16b24 rename extensions/www_blenderkit_com/.blender_ext/{index.json@64d0 => index.json@18540} (83%) rename extensions/www_blenderkit_com/.blender_ext/{index.json@56e8 => index.json@185dc} (83%) create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@19a20 rename extensions/www_blenderkit_com/.blender_ext/{index.json@5e00 => index.json@1c650} (62%) rename extensions/www_blenderkit_com/.blender_ext/{index.json@1130 => index.json@28154} (62%) create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@2adbc create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@2b840 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@2b904 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@2bbbc create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@3143c create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@35334 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@37d34 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@39d80 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@3b128 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@3b594 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@3e58 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@46e48 rename extensions/www_blenderkit_com/.blender_ext/{index.json@68a0 => index.json@4843c} (100%) rename extensions/www_blenderkit_com/.blender_ext/{index.json@2bf0 => index.json@48ce4} (99%) create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@4a27c delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@55a4 delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@5678 rename extensions/www_blenderkit_com/.blender_ext/{index.json@8e6c => index.json@59c18} (100%) delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@6098 delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@6bf4 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@7098 delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@72c0 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@75d44 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@76300 rename extensions/www_blenderkit_com/.blender_ext/{index.json@98a0 => index.json@76a0} (99%) create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@76f2c create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@7829c delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@8190 delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@84d4 rename extensions/www_blenderkit_com/.blender_ext/{index.json@8c38 => index.json@84e4} (100%) create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@8a84 create mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@8e58 delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@8fbc delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@9354 delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@9830 delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@b3e4 delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@c22c delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@c2c delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@d2dc delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@d2ec delete mode 100644 extensions/www_blenderkit_com/.blender_ext/index.json@e874 create mode 100644 scripts/addons/IconOperator/Data/icons/square.png create mode 100644 scripts/addons/IconOperator/Data/icons/triangle.png create mode 100644 scripts/addons/IconOperator/__init__.py delete mode 100644 scripts/addons/blender_kitsu/README.md delete mode 100644 scripts/addons/blender_kitsu/__init__.py delete mode 100644 scripts/addons/blender_kitsu/anim/__init__.py delete mode 100644 scripts/addons/blender_kitsu/anim/ops.py delete mode 100644 scripts/addons/blender_kitsu/anim/opsdata.py delete mode 100644 scripts/addons/blender_kitsu/anim/ui.py delete mode 100644 scripts/addons/blender_kitsu/auth/__init__.py delete mode 100644 scripts/addons/blender_kitsu/auth/ops.py delete mode 100644 scripts/addons/blender_kitsu/auth/ui.py delete mode 100644 scripts/addons/blender_kitsu/bkglobals.py delete mode 100644 scripts/addons/blender_kitsu/blender_manifest.toml delete mode 100644 scripts/addons/blender_kitsu/cache.py delete mode 100644 scripts/addons/blender_kitsu/context/__init__.py delete mode 100644 scripts/addons/blender_kitsu/context/core.py delete mode 100644 scripts/addons/blender_kitsu/context/ops.py delete mode 100644 scripts/addons/blender_kitsu/context/ui.py delete mode 100644 scripts/addons/blender_kitsu/dependencies.py delete mode 100644 scripts/addons/blender_kitsu/edit/__init__.py delete mode 100644 scripts/addons/blender_kitsu/edit/core.py delete mode 100644 scripts/addons/blender_kitsu/edit/ops.py delete mode 100644 scripts/addons/blender_kitsu/edit/opsdata.py delete mode 100644 scripts/addons/blender_kitsu/edit/ui.py delete mode 100644 scripts/addons/blender_kitsu/exception.py delete mode 100644 scripts/addons/blender_kitsu/filetrees/filetree_default.py delete mode 100644 scripts/addons/blender_kitsu/generic/__init__.py delete mode 100644 scripts/addons/blender_kitsu/generic/ops.py delete mode 100644 scripts/addons/blender_kitsu/logger.py delete mode 100644 scripts/addons/blender_kitsu/lookdev/__init__.py delete mode 100644 scripts/addons/blender_kitsu/lookdev/ops.py delete mode 100644 scripts/addons/blender_kitsu/lookdev/opsdata.py delete mode 100644 scripts/addons/blender_kitsu/lookdev/prefs.py delete mode 100644 scripts/addons/blender_kitsu/lookdev/props.py delete mode 100644 scripts/addons/blender_kitsu/lookdev/ui.py delete mode 100644 scripts/addons/blender_kitsu/models.py delete mode 100644 scripts/addons/blender_kitsu/playblast/__init__.py delete mode 100644 scripts/addons/blender_kitsu/playblast/core.py delete mode 100644 scripts/addons/blender_kitsu/playblast/ops.py delete mode 100644 scripts/addons/blender_kitsu/playblast/opsdata.py delete mode 100644 scripts/addons/blender_kitsu/playblast/ui.py delete mode 100644 scripts/addons/blender_kitsu/prefs.py delete mode 100644 scripts/addons/blender_kitsu/props.py delete mode 100644 scripts/addons/blender_kitsu/propsdata.py delete mode 100644 scripts/addons/blender_kitsu/render_review/__init__.py delete mode 100644 scripts/addons/blender_kitsu/render_review/checksqe.py delete mode 100644 scripts/addons/blender_kitsu/render_review/draw.py delete mode 100644 scripts/addons/blender_kitsu/render_review/exception.py delete mode 100644 scripts/addons/blender_kitsu/render_review/ops.py delete mode 100644 scripts/addons/blender_kitsu/render_review/opsdata.py delete mode 100644 scripts/addons/blender_kitsu/render_review/props.py delete mode 100644 scripts/addons/blender_kitsu/render_review/ui.py delete mode 100644 scripts/addons/blender_kitsu/render_review/util.py delete mode 100644 scripts/addons/blender_kitsu/render_review/vars.py delete mode 100644 scripts/addons/blender_kitsu/res/metastrip.mp4 delete mode 100644 scripts/addons/blender_kitsu/shot_builder/__init__.py delete mode 100644 scripts/addons/blender_kitsu/shot_builder/assets.py delete mode 100644 scripts/addons/blender_kitsu/shot_builder/config.py delete mode 100644 scripts/addons/blender_kitsu/shot_builder/config_examples/hooks.py delete mode 100644 scripts/addons/blender_kitsu/shot_builder/config_examples/settings.json delete mode 100644 scripts/addons/blender_kitsu/shot_builder/core.py delete mode 100644 scripts/addons/blender_kitsu/shot_builder/file_save.py delete mode 100644 scripts/addons/blender_kitsu/shot_builder/hooks.py delete mode 100644 scripts/addons/blender_kitsu/shot_builder/ops.py delete mode 100644 scripts/addons/blender_kitsu/shot_builder/template.py delete mode 100644 scripts/addons/blender_kitsu/shot_builder/templates/Animation.blend delete mode 100644 scripts/addons/blender_kitsu/shot_builder/templates/Asset.blend delete mode 100644 scripts/addons/blender_kitsu/shot_builder/templates/Compositing.blend delete mode 100644 scripts/addons/blender_kitsu/shot_builder/templates/Edit.blend delete mode 100644 scripts/addons/blender_kitsu/shot_builder/templates/FX.blend delete mode 100644 scripts/addons/blender_kitsu/shot_builder/templates/Layout.blend delete mode 100644 scripts/addons/blender_kitsu/shot_builder/templates/Lighting.blend delete mode 100644 scripts/addons/blender_kitsu/shot_builder/templates/README.md delete mode 100644 scripts/addons/blender_kitsu/shot_builder/ui.py delete mode 100644 scripts/addons/blender_kitsu/sqe/__init__.py delete mode 100644 scripts/addons/blender_kitsu/sqe/checksqe.py delete mode 100644 scripts/addons/blender_kitsu/sqe/checkstrip.py delete mode 100644 scripts/addons/blender_kitsu/sqe/draw.py delete mode 100644 scripts/addons/blender_kitsu/sqe/ops.py delete mode 100644 scripts/addons/blender_kitsu/sqe/opsdata.py delete mode 100644 scripts/addons/blender_kitsu/sqe/pull.py delete mode 100644 scripts/addons/blender_kitsu/sqe/push.py delete mode 100644 scripts/addons/blender_kitsu/sqe/ui.py delete mode 100644 scripts/addons/blender_kitsu/tasks/__init__.py delete mode 100644 scripts/addons/blender_kitsu/tasks/ops.py delete mode 100644 scripts/addons/blender_kitsu/tasks/opsdata.py delete mode 100644 scripts/addons/blender_kitsu/tasks/ui.py delete mode 100644 scripts/addons/blender_kitsu/types.py delete mode 100644 scripts/addons/blender_kitsu/ui.py delete mode 100644 scripts/addons/blender_kitsu/util.py delete mode 100644 scripts/addons/blender_kitsu/wheels/__init__.py delete mode 100644 scripts/addons/blender_kitsu/wheels/bidict-0.22.1-py3-none-any.whl delete mode 100644 scripts/addons/blender_kitsu/wheels/gazu-0.9.4-py2.py3-none-any.whl delete mode 100644 scripts/addons/blender_kitsu/wheels/python_engineio-4.5.1-py3-none-any.whl delete mode 100644 scripts/addons/blender_kitsu/wheels/python_socketio-5.8.0-py3-none-any.whl delete mode 100644 scripts/addons/blender_svn/README.md delete mode 100644 scripts/addons/blender_svn/__init__.py delete mode 100644 scripts/addons/blender_svn/blender_manifest.toml delete mode 100644 scripts/addons/blender_svn/constants.py delete mode 100644 scripts/addons/blender_svn/operators/__init__.py delete mode 100644 scripts/addons/blender_svn/operators/simple_commands.py delete mode 100644 scripts/addons/blender_svn/operators/svn_checkout.py delete mode 100644 scripts/addons/blender_svn/operators/svn_commit.py delete mode 100644 scripts/addons/blender_svn/operators/svn_update.py delete mode 100644 scripts/addons/blender_svn/operators/ui_operators.py delete mode 100644 scripts/addons/blender_svn/prefs.py delete mode 100644 scripts/addons/blender_svn/props.py delete mode 100644 scripts/addons/blender_svn/repository.py delete mode 100644 scripts/addons/blender_svn/svn_info.py delete mode 100644 scripts/addons/blender_svn/threaded/__init__.py delete mode 100644 scripts/addons/blender_svn/threaded/background_process.py delete mode 100644 scripts/addons/blender_svn/threaded/commit.py delete mode 100644 scripts/addons/blender_svn/threaded/execute_subprocess.py delete mode 100644 scripts/addons/blender_svn/threaded/filebrowser_activate_file.py delete mode 100644 scripts/addons/blender_svn/threaded/redraw_viewport.py delete mode 100644 scripts/addons/blender_svn/threaded/svn_log.py delete mode 100644 scripts/addons/blender_svn/threaded/svn_status.py delete mode 100644 scripts/addons/blender_svn/threaded/update.py delete mode 100644 scripts/addons/blender_svn/ui/__init__.py delete mode 100644 scripts/addons/blender_svn/ui/ui_context_menus.py delete mode 100644 scripts/addons/blender_svn/ui/ui_file_list.py delete mode 100644 scripts/addons/blender_svn/ui/ui_filebrowser.py delete mode 100644 scripts/addons/blender_svn/ui/ui_log.py delete mode 100644 scripts/addons/blender_svn/ui/ui_outdated_warning.py delete mode 100644 scripts/addons/blender_svn/ui/ui_repo_list.py delete mode 100644 scripts/addons/blender_svn/ui/ui_sidebar.py delete mode 100644 scripts/addons/blender_svn/util.py delete mode 100644 scripts/addons/blender_svn/wheels/Send2Trash-1.8.0-py3-none-any.whl delete mode 100644 scripts/addons/blender_svn/wheels/__init__.py delete mode 100644 scripts/addons/blender_svn/wheels/python_dateutil-2.8.2-py2.py3-none-any.whl delete mode 100644 scripts/addons/blender_svn/wheels/six-1.16.0-py2.py3-none-any.whl delete mode 100644 scripts/addons/blender_svn/wheels/xmltodict-0.12.0-py2.py3-none-any.whl delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/README.md delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/bl_class_registry.py delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/functions/__init__.py delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/functions/jsonFunctions.py delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/functions/mainFunctions.py delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/functions/previewFunctions.py delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/images/bone_widget_UI.png delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/images/bone_widget_redo_panel.png delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/images/bone_widget_specials_menu.png delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/images/bone_widget_user_prefs.png delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/menus.py delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/operators.py delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/panels.py delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/prefs.py delete mode 100644 scripts/addons/boneWidget-boneWidget_0_2_1/widgets.json delete mode 100644 scripts/addons/btoon/__init__.py delete mode 100644 scripts/addons/btoon/library.blend create mode 100644 scripts/addons/cc_blender_tools-2_4_0/CC3_Eye_Displacement_Map.png rename scripts/addons/{blender_svn => cc_blender_tools-2_4_0}/LICENSE (100%) create mode 100644 scripts/addons/cc_blender_tools-2_4_0/README.md create mode 100644 scripts/addons/cc_blender_tools-2_4_0/_LIB293.blend create mode 100644 scripts/addons/cc_blender_tools-2_4_0/_LIB341.blend create mode 100644 scripts/addons/cc_blender_tools-2_4_0/__init__.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/addon_updater.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/addon_updater_ops.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/bake.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/basic.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/bones.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/cc.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/cc_blender_tools-2_4_0_updater/cc_blender_tools-2_4_0_updater_status.json create mode 100644 scripts/addons/cc_blender_tools-2_4_0/channel_mixer.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/characters.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/colorspace.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/drivers.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/exporter.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/facerig.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/facerig_data.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/geom.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/hair.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/hik.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/hik/RLRigify.3dxProfile create mode 100644 scripts/addons/cc_blender_tools-2_4_0/hik/vroid.3dxProfile create mode 100644 scripts/addons/cc_blender_tools-2_4_0/icons/wrinkle_bg.png create mode 100644 scripts/addons/cc_blender_tools-2_4_0/iconutils.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/imageutils.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/importer.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/jsonutils.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/lib.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/link.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/materials.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/meshutils.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/modifiers.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/nodeutils.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/normal.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/panels.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/params.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/physics.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/preferences.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/presets/kiara_1_dawn_4k.hdr create mode 100644 scripts/addons/cc_blender_tools-2_4_0/presets/veranda_4k.hdr create mode 100644 scripts/addons/cc_blender_tools-2_4_0/properties.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/proportion.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/rigging.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/rigidbody.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/rigify_mapping_data.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/rigutils.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/rlx.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/scene.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/sculpting.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/shaders.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/springbones.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/textures/RL_CC3_Plus_EyeTearlineNormal.TGA create mode 100644 scripts/addons/cc_blender_tools-2_4_0/textures/RL_SkinMicroCavityMap.png create mode 100644 scripts/addons/cc_blender_tools-2_4_0/textures/RL_SkinSpecDetail.png create mode 100644 scripts/addons/cc_blender_tools-2_4_0/textures/RL_WrinkleMask_Set123.png create mode 100644 scripts/addons/cc_blender_tools-2_4_0/textures/RL_WrinkleMask_Set1A.png create mode 100644 scripts/addons/cc_blender_tools-2_4_0/textures/RL_WrinkleMask_Set1B.png create mode 100644 scripts/addons/cc_blender_tools-2_4_0/textures/RL_WrinkleMask_Set2.png create mode 100644 scripts/addons/cc_blender_tools-2_4_0/textures/RL_WrinkleMask_Set3.png create mode 100644 scripts/addons/cc_blender_tools-2_4_0/utils.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/vars.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/world.py create mode 100644 scripts/addons/cc_blender_tools-2_4_0/wrinkle.py delete mode 100644 scripts/addons/flamenco/wheels/blender_asset_tracer-1.22a1-py3-none-any.whl create mode 100644 scripts/presets/interface_theme/maya_theme_gradient.xml create mode 100644 scripts/presets/interface_theme/modo_theme.xml create mode 100644 scripts/presets/interface_theme/sketchup.xml create mode 100644 scripts/presets/interface_theme/white_bg_theme.xml diff --git a/config/bookmarks.txt b/config/bookmarks.txt index b7a6c11..8526bba 100644 --- a/config/bookmarks.txt +++ b/config/bookmarks.txt @@ -10,13 +10,13 @@ D:\Work\9 iClone\Amazon\ D:\Amazon\00_external-files\ N:\1. CHARACTERS\remapping\ [Recent] +P:\260217_Jarvis-Defense\Assets\CCiC\ +P:\260217_Jarvis-Defense\Assets\Blends\Char\ C:\Users\Nathan\Downloads\ -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\ -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Blends\animations\ -C:\Users\Nathan\AppData\Local\Temp\ -C:\Program Files\Blender Foundation\Blender 5.0\5.0\datafiles\assets\nodes\ -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Char\ -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\ -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Vehicles\ -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\ -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Props\ +C:\Users\Nathan\Desktop\ +C:\Program Files\Blender Foundation\Blender 5.0\ +P:\260217_Jarvis-Defense\Blends\animations\ +P:\260217_Jarvis-Defense\Assets\Blends\ +C:\Program Files (x86)\Steam\steamapps\common\Blender\5.0\scripts\startup\ +F:\renders\ +P:\260217_Jarvis-Defense\Assets\Blends\Vehicles\ diff --git a/config/flamenco-manager-info.json b/config/flamenco-manager-info.json index fe3a012..7ac99cb 100644 --- a/config/flamenco-manager-info.json +++ b/config/flamenco-manager-info.json @@ -6,13 +6,647 @@ "git": "51a41a19" }, "shared_storage": { - "location": "G:\\Flamenco\\jobs", + "location": "F:\\jobs", "audience": "users", "platform": "windows", "shaman_enabled": true }, "job_types": { "job_types": [ + { + "name": "BasedPlayblast", + "label": "BasedPlayblast", + "settings": [ + { + "key": "frames", + "type": "string", + "description": "Frame range to playblast. Examples: '47', '1-30', '3, 5-10, 47-327'", + "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", + "eval_info": { + "show_link_button": true, + "description": "Scene frame range" + }, + "required": true + }, + { + "key": "chunk_size", + "type": "int32", + "default": 5.0, + "description": "Number of frames to playblast in one Blender task", + "visible": "submission" + }, + { + "key": "playblast_output_root", + "type": "string", + "default": "//", + "description": "Base directory of where playblast output is stored. Will have some job-specific parts appended to it", + "required": true, + "subtype": "dir_path", + "visible": "submission" + }, + { + "key": "add_path_components", + "type": "int32", + "default": 0.0, + "description": "Number of path components of the current blend file to use in the playblast output path", + "propargs": { + "max": 32.0, + "min": 0.0 + }, + "required": true, + "visible": "submission" + }, + { + "key": "playblast_output_path", + "type": "string", + "description": "Final file path of where playblast output will be saved", + "editable": false, + "eval": "str(Path(abspath(settings.playblast_output_root), last_n_dir_parts(settings.add_path_components), 'blast', jobname, jobname + '_######'))", + "subtype": "file_path" + }, + { + "key": "resolution_percentage", + "type": "int32", + "default": 100.0, + "description": "Percentage of the render resolution to use for playblast", + "propargs": { + "max": 100.0, + "min": 1.0 + }, + "visible": "submission" + }, + { + "key": "png_compression", + "type": "int32", + "default": 15.0, + "description": "PNG compression level (0-100, higher = smaller file)", + "propargs": { + "max": 100.0, + "min": 0.0 + }, + "visible": "submission" + }, + { + "key": "keep_frames", + "type": "bool", + "default": false, + "description": "Keep the individual playblast frames after video creation", + "visible": "submission" + }, + { + "key": "blendfile", + "type": "string", + "description": "Path of the Blend file to playblast", + "required": true, + "visible": "web" + }, + { + "key": "fps", + "type": "float", + "eval": "C.scene.render.fps / C.scene.render.fps_base", + "visible": "hidden" + }, + { + "key": "format", + "type": "string", + "default": "PNG", + "description": "Image format for playblast frames", + "required": true, + "visible": "web" + }, + { + "key": "image_file_extension", + "type": "string", + "default": ".png", + "description": "File extension used when creating playblast images", + "required": true, + "visible": "hidden" + }, + { + "key": "scene", + "type": "string", + "description": "Name of the scene to playblast.", + "eval": "C.scene.name", + "required": true, + "visible": "web" + } + ], + "etag": "0cf19bc1871973734e485ebd4477e7688997cc3d", + "description": "Create a viewport preview/playblast and generate a video file" + }, + { + "name": "BasedPlayblast-Optix-GPU", + "label": "BasedPlayblast OPTIX GPU", + "settings": [ + { + "key": "frames", + "type": "string", + "description": "Frame range to playblast. Examples: '47', '1-30', '3, 5-10, 47-327'", + "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", + "eval_info": { + "show_link_button": true, + "description": "Scene frame range" + }, + "required": true + }, + { + "key": "chunk_size", + "type": "int32", + "default": 5.0, + "description": "Number of frames to playblast in one Blender task", + "visible": "submission" + }, + { + "key": "playblast_output_root", + "type": "string", + "default": "//", + "description": "Base directory of where playblast output is stored. Will have some job-specific parts appended to it", + "required": true, + "subtype": "dir_path", + "visible": "submission" + }, + { + "key": "add_path_components", + "type": "int32", + "default": 0.0, + "description": "Number of path components of the current blend file to use in the playblast output path", + "propargs": { + "max": 32.0, + "min": 0.0 + }, + "required": true, + "visible": "submission" + }, + { + "key": "playblast_output_path", + "type": "string", + "description": "Final file path of where playblast output will be saved", + "editable": false, + "eval": "str(Path(abspath(settings.playblast_output_root), last_n_dir_parts(settings.add_path_components), 'blast', jobname, jobname + '_######'))", + "subtype": "file_path" + }, + { + "key": "resolution_percentage", + "type": "int32", + "default": 100.0, + "description": "Percentage of the render resolution to use for playblast", + "propargs": { + "max": 100.0, + "min": 1.0 + }, + "visible": "submission" + }, + { + "key": "png_compression", + "type": "int32", + "default": 15.0, + "description": "PNG compression level (0-100, higher = smaller file)", + "propargs": { + "max": 100.0, + "min": 0.0 + }, + "visible": "submission" + }, + { + "key": "keep_frames", + "type": "bool", + "default": false, + "description": "Keep the individual playblast frames after video creation", + "visible": "submission" + }, + { + "key": "experimental_gp3", + "type": "bool", + "description": "Experimental Flag: Grease Pencil 3", + "label": "Experimental: GPv3", + "required": false + }, + { + "key": "experimental_new_anim", + "type": "bool", + "description": "Experimental Flag: New Animation Data-block", + "label": "Experimental: Baklava", + "required": false + }, + { + "key": "blender_args_before", + "type": "string", + "description": "CLI arguments for Blender, placed before the .blend filename", + "label": "Blender CLI args: Before", + "required": false + }, + { + "key": "blender_args_after", + "type": "string", + "description": "CLI arguments for Blender, placed after the .blend filename", + "label": "After", + "required": false + }, + { + "key": "blendfile", + "type": "string", + "description": "Path of the Blend file to playblast", + "required": true, + "visible": "web" + }, + { + "key": "fps", + "type": "float", + "eval": "C.scene.render.fps / C.scene.render.fps_base", + "visible": "hidden" + }, + { + "key": "format", + "type": "string", + "default": "PNG", + "description": "Image format for playblast frames", + "required": true, + "visible": "web" + }, + { + "key": "image_file_extension", + "type": "string", + "default": ".png", + "description": "File extension used when creating playblast images", + "required": true, + "visible": "hidden" + }, + { + "key": "scene", + "type": "string", + "description": "Name of the scene to playblast.", + "eval": "C.scene.name", + "required": true, + "visible": "web" + } + ], + "etag": "fe38e5ae9b3e640119d0d55fc7cbf4f8f15f2982", + "description": "Create a viewport preview/playblast using Cycles OPTIX GPU rendering and generate a video file" + }, + { + "name": "TalkingHeads Custom Render", + "label": "TalkingHeads Custom Render", + "settings": [ + { + "key": "frames", + "type": "string", + "description": "Frame range to render. Examples: '47', '1-30', '3, 5-10, 47-327'", + "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", + "eval_info": { + "show_link_button": true, + "description": "Scene frame range" + }, + "required": true + }, + { + "key": "chunk_size", + "type": "int32", + "default": 1.0, + "description": "Number of frames to render in one Blender render task", + "visible": "submission" + }, + { + "key": "blendfile", + "type": "string", + "description": "Path of the Blend file to render", + "eval": "bpy.data.filepath", + "required": true, + "visible": "web" + }, + { + "key": "render_output_root", + "type": "string", + "description": "Base path where renders are stored, typically the project's Renders folder. If empty, derived automatically.", + "eval": "__import__('os').path.normpath(__import__('os').path.join(((__import__('re').search(r'^(.*?)[\\/][Bb]lends[\\/]', bpy.data.filepath.replace('\\\\','/')) and __import__('re').search(r'^(.*?)[\\/][Bb]lends[\\/]', bpy.data.filepath.replace('\\\\','/')).group(1)) or __import__('os').path.dirname(bpy.data.filepath)), 'Renders'))", + "eval_info": { + "show_link_button": true, + "description": "Auto-detect the project's Renders folder" + }, + "required": false, + "subtype": "dir_path", + "visible": "submission" + }, + { + "key": "use_submodule", + "type": "bool", + "default": false, + "description": "Include a submodule folder under Renders. Turn off to omit submodule entirely.", + "label": "Use Submodule", + "required": false, + "visible": "submission" + }, + { + "key": "submodule", + "type": "string", + "description": "Optional submodule under Renders (e.g. 'Waterspider B'). If empty, omitted.", + "eval": "(__import__('os').path.basename(__import__('os').path.dirname(bpy.data.filepath)) if settings.use_submodule else '')", + "eval_info": { + "show_link_button": true, + "description": "Auto-fill with the current .blend file's parent folder" + }, + "required": false, + "visible": "submission" + }, + { + "key": "render_output_path", + "type": "string", + "description": "Final file path of where render output will be saved", + "editable": false, + "eval": "((lambda Path, abspath, os_path, settings_obj, jobname: str(Path(abspath(settings_obj.render_output_root or '//')) / (((str(settings_obj.submodule or '').strip()) if (settings_obj.use_submodule and str(settings_obj.submodule or '').strip()) else ((os_path.basename(os_path.dirname(bpy.data.filepath))) if settings_obj.use_submodule else ''))) / jobname / (jobname + '_######')))(__import__('pathlib').Path, __import__('os').path.abspath, __import__('os').path, settings, (job.name if 'job' in dir() and job and job.name else __import__('os').path.splitext(__import__('os').path.basename(bpy.data.filepath))[0])))", + "subtype": "file_path" + }, + { + "key": "fps", + "type": "float", + "eval": "C.scene.render.fps / C.scene.render.fps_base", + "visible": "hidden" + }, + { + "key": "format", + "type": "string", + "eval": "C.scene.render.image_settings.file_format", + "required": true, + "visible": "web" + }, + { + "key": "image_file_extension", + "type": "string", + "description": "File extension used when rendering images", + "eval": "C.scene.render.file_extension", + "required": true, + "visible": "hidden" + }, + { + "key": "has_previews", + "type": "bool", + "description": "Whether Blender will render preview images.", + "eval": "C.scene.render.image_settings.use_preview", + "required": false, + "visible": "hidden" + }, + { + "key": "scene", + "type": "string", + "description": "Name of the scene to render.", + "eval": "C.scene.name", + "required": true, + "visible": "web" + } + ], + "etag": "5f716e7195e55712daee20c237d95f748e2c3d1e", + "description": "Render a sequence of frames, and create a preview video file" + }, + { + "name": "TalkingHeads cycles-optix-gpu", + "label": "TalkingHeads Cycles OPTIX GPU", + "settings": [ + { + "key": "frames", + "type": "string", + "description": "Frame range to render. Examples: '47', '1-30', '3, 5-10, 47-327'", + "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", + "eval_info": { + "show_link_button": true, + "description": "Scene frame range" + }, + "required": true + }, + { + "key": "chunk_size", + "type": "int32", + "default": 1.0, + "description": "Number of frames to render in one Blender render task", + "visible": "submission" + }, + { + "key": "render_output_root", + "type": "string", + "description": "Base path where renders are stored, typically the project's Renders folder. If empty, derived automatically.", + "eval": "__import__('os').path.normpath(__import__('os').path.join(((__import__('re').search(r'^(.*?)[\\/][Bb]lends[\\/]', bpy.data.filepath.replace('\\\\','/')) and __import__('re').search(r'^(.*?)[\\/][Bb]lends[\\/]', bpy.data.filepath.replace('\\\\','/')).group(1)) or __import__('os').path.dirname(bpy.data.filepath)), 'Renders'))", + "eval_info": { + "show_link_button": true, + "description": "Auto-detect the project's Renders folder" + }, + "required": false, + "subtype": "dir_path", + "visible": "submission" + }, + { + "key": "use_submodule", + "type": "bool", + "default": false, + "description": "Include a submodule folder under Renders. Turn off to omit submodule entirely.", + "label": "Use Submodule", + "required": false, + "visible": "submission" + }, + { + "key": "submodule", + "type": "string", + "description": "Optional submodule under Renders (e.g. 'Waterspider B'). If empty, omitted.", + "eval": "(__import__('os').path.basename(__import__('os').path.dirname(bpy.data.filepath)) if settings.use_submodule else '')", + "eval_info": { + "show_link_button": true, + "description": "Auto-fill with the current .blend file's parent folder" + }, + "required": false, + "visible": "submission" + }, + { + "key": "render_output_path", + "type": "string", + "description": "Final file path of where render output will be saved", + "editable": false, + "eval": "((lambda Path, abspath, os_path, settings_obj, jobname: str(Path(abspath(settings_obj.render_output_root or '//')) / (((str(settings_obj.submodule or '').strip()) if (settings_obj.use_submodule and str(settings_obj.submodule or '').strip()) else ((os_path.basename(os_path.dirname(bpy.data.filepath))) if settings_obj.use_submodule else ''))) / jobname / (jobname + '_######')))(__import__('pathlib').Path, __import__('os').path.abspath, __import__('os').path, settings, (job.name if 'job' in dir() and job and job.name else __import__('os').path.splitext(__import__('os').path.basename(bpy.data.filepath))[0])))", + "subtype": "file_path" + }, + { + "key": "experimental_gp3", + "type": "bool", + "description": "Experimental Flag: Grease Pencil 3", + "label": "Experimental: GPv3", + "required": false + }, + { + "key": "experimental_new_anim", + "type": "bool", + "description": "Experimental Flag: New Animation Data-block", + "label": "Experimental: Baklava", + "required": false + }, + { + "key": "blender_args_before", + "type": "string", + "description": "CLI arguments for Blender, placed before the .blend filename", + "label": "Blender CLI args: Before", + "required": false + }, + { + "key": "blender_args_after", + "type": "string", + "description": "CLI arguments for Blender, placed after the .blend filename", + "label": "After", + "required": false + }, + { + "key": "blendfile", + "type": "string", + "description": "Path of the Blend file to render", + "eval": "bpy.data.filepath", + "required": true, + "visible": "web" + }, + { + "key": "fps", + "type": "float", + "eval": "C.scene.render.fps / C.scene.render.fps_base", + "visible": "hidden" + }, + { + "key": "format", + "type": "string", + "eval": "C.scene.render.image_settings.file_format", + "required": true, + "visible": "web" + }, + { + "key": "image_file_extension", + "type": "string", + "description": "File extension used when rendering images", + "eval": "C.scene.render.file_extension", + "required": true, + "visible": "hidden" + }, + { + "key": "has_previews", + "type": "bool", + "description": "Whether Blender will render preview images.", + "eval": "C.scene.render.image_settings.use_preview", + "required": false, + "visible": "hidden" + } + ], + "etag": "758c56b672b0970896f30b85ee5165a5c096aec4", + "description": "OPTIX GPU rendering + extra checkboxes for some experimental features + extra CLI args for Blender" + }, + { + "name": "cycles-optix-gpu", + "label": "Cycles OPTIX GPU", + "settings": [ + { + "key": "frames", + "type": "string", + "description": "Frame range to render. Examples: '47', '1-30', '3, 5-10, 47-327'", + "eval": "f'{C.scene.frame_start}-{C.scene.frame_end}'", + "eval_info": { + "show_link_button": true, + "description": "Scene frame range" + }, + "required": true + }, + { + "key": "chunk_size", + "type": "int32", + "default": 1.0, + "description": "Number of frames to render in one Blender render task", + "visible": "submission" + }, + { + "key": "render_output_root", + "type": "string", + "description": "Base directory of where render output is stored. Will have some job-specific parts appended to it", + "required": true, + "subtype": "dir_path", + "visible": "submission" + }, + { + "key": "add_path_components", + "type": "int32", + "default": 0.0, + "description": "Number of path components of the current blend file to use in the render output path", + "propargs": { + "max": 32.0, + "min": 0.0 + }, + "required": true, + "visible": "submission" + }, + { + "key": "render_output_path", + "type": "string", + "description": "Final file path of where render output will be saved", + "editable": false, + "eval": "str(Path(abspath(settings.render_output_root), last_n_dir_parts(settings.add_path_components), jobname, '{timestamp}', '######'))", + "subtype": "file_path" + }, + { + "key": "experimental_gp3", + "type": "bool", + "description": "Experimental Flag: Grease Pencil 3", + "label": "Experimental: GPv3", + "required": false + }, + { + "key": "experimental_new_anim", + "type": "bool", + "description": "Experimental Flag: New Animation Data-block", + "label": "Experimental: Baklava", + "required": false + }, + { + "key": "blender_args_before", + "type": "string", + "description": "CLI arguments for Blender, placed before the .blend filename", + "label": "Blender CLI args: Before", + "required": false + }, + { + "key": "blender_args_after", + "type": "string", + "description": "CLI arguments for Blender, placed after the .blend filename", + "label": "After", + "required": false + }, + { + "key": "blendfile", + "type": "string", + "description": "Path of the Blend file to render", + "required": true, + "visible": "web" + }, + { + "key": "fps", + "type": "float", + "eval": "C.scene.render.fps / C.scene.render.fps_base", + "visible": "hidden" + }, + { + "key": "format", + "type": "string", + "eval": "C.scene.render.image_settings.file_format", + "required": true, + "visible": "web" + }, + { + "key": "image_file_extension", + "type": "string", + "description": "File extension used when rendering images", + "eval": "C.scene.render.file_extension", + "required": true, + "visible": "hidden" + }, + { + "key": "has_previews", + "type": "bool", + "description": "Whether Blender will render preview images.", + "eval": "C.scene.render.image_settings.use_preview", + "required": false, + "visible": "hidden" + } + ], + "etag": "ebed5e28846668474299cd2a8b55fb47b69b54d7", + "description": "OPTIX GPU rendering + extra checkboxes for some experimental features + extra CLI args for Blender" + }, { "name": "echo-sleep-test", "label": "Echo Sleep Test", diff --git a/config/platform_support.txt b/config/platform_support.txt index af82da4..df5e2aa 100644 --- a/config/platform_support.txt +++ b/config/platform_support.txt @@ -12,6 +12,5 @@ {NVIDIA Corporation/NVIDIA GeForce RTX 4080 SUPER/PCIe/SSE2/4.6.0 NVIDIA 581.57}=SUPPORTED {NVIDIA Corporation/NVIDIA GeForce RTX 4080 SUPER/NVIDIA 591.44}=SUPPORTED {NVIDIA Corporation/NVIDIA GeForce RTX 4080 SUPER/NVIDIA 591.74}=SUPPORTED -{NVIDIA Corporation/NVIDIA GeForce RTX 3090/NVIDIA 591.86}=SUPPORTED -{NVIDIA Corporation/NVIDIA GeForce RTX 3090/NVIDIA 595.71}=SUPPORTED -{NVIDIA Corporation/NVIDIA GeForce RTX 3090/NVIDIA 595.79}=SUPPORTED +{NVIDIA Corporation/NVIDIA GeForce RTX 4080 SUPER/NVIDIA 595.79}=SUPPORTED +{NVIDIA Corporation/NVIDIA GeForce RTX 4080 SUPER/PCIe/SSE2/4.6.0 NVIDIA 595.79}=SUPPORTED diff --git a/config/recent-files.txt b/config/recent-files.txt index ce848ba..84fca32 100644 --- a/config/recent-files.txt +++ b/config/recent-files.txt @@ -1,30 +1,34 @@ -C:\Users\Nathan\Downloads\Shot5c\Shot5c.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Blends\animations\Shot_Q.blend -D:\NSFWAssets\char\Scrag_Boy\SquirrelFucker_v1.2.blend -C:\Users\Nathan\Downloads\Shot_4_g.blend -C:\Users\Nathan\Downloads\Shot_4_e.blend -C:\Users\Nathan\Downloads\Shot_4_d.blend -C:\Users\Nathan\Downloads\Shot_4_b.blend -C:\Users\Nathan\Downloads\Shot_4_f.blend -C:\Users\Nathan\Downloads\Shot_4_a.blend +P:\260217_Jarvis-Defense\Blends\animations\Shot_Q.blend +P:\260217_Jarvis-Defense\Assets\Blends\Char\Chase_v3.0.blend +P:\260217_Jarvis-Defense\Assets\Blends\Char\Russell_v4.0.blend +P:\260217_Jarvis-Defense\Blends\animations\Shot_4.blend +P:\260217_Jarvis-Defense\Assets\Blends\Char\Priest_v3.0.blend +P:\260217_Jarvis-Defense\Assets\Blends\Char\Priest_v2.0.blend +D:\Work\9 iClone\Jarvis Defense\Blender\Dec_v5.blend +C:\Users\Nathan\Desktop\Shot5c.blend +C:\Users\Nathan\Downloads\startup.blend +P:\260217_Jarvis-Defense\Blends\animations\Shot_L.blend +P:\260217_Jarvis-Defense\Assets\Blends\3075 Decade Dr.blend +P:\260217_Jarvis-Defense\Assets\Blends\Vehicles\Ford 250_v2.0.blend +C:\Users\Nathan\Downloads\Shot_4_c.blend C:\Users\Nathan\Downloads\Shot_4.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Blends\animations\Shot_4.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Blends\animations\Jarvis-Defense_L.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Vehicles\Ford 250.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Blends\animations\shot 2 avoid.blend -C:\Users\Nathan\AppData\Local\Temp\2026-03-07_12-15_Shot_4.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Blends\animations\erratic_movement_powerwalk.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\lipsync.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Blends\animations\welcome_to_SLC.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Blends\animations\welcome_to_staten_island.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Char\Priest_v2.0.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Char\Russell_v3.0.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Char\Kayla_Russell_v4_gw.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Blends\animations\Shot_1.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\3075 Decade Dr.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Blends\animations\mocap_test_driver_v1.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Char\Chase_v2.0.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Char\Russell_v2.0.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Vehicles\Pop Up Camper.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Pop Up Camper.blend -C:\Users\Nathan\Desktop\260217_Jarvis-Defense\Assets\Blends\Props\Ruger Holster.blend +P:\260217_Jarvis-Defense\Blends\animations\shot 3.blend +P:\260217_Jarvis-Defense\Assets\Blends\Vehicles\Ford 250.blend +P:\260217_Jarvis-Defense\Assets\Blends\Vehicles\Ford 250_NL.blend +C:\Users\Nathan\AppData\Local\Temp\2026-03-10_11-52_Ford 250.blend +P:\260217_Jarvis-Defense\Blends\animations\Shot_1.blend +F:\jobs\Shot_jeds_long_take-uwhb\Shot_4.flamenco.blend +P:\260217_Jarvis-Defense\Blends\animations\Shot_2.blend +P:\260217_Jarvis-Defense\Assets\Blends\Char\Chase_v2.0.blend +\\NEXUS\proj\260217_Jarvis-Defense\Assets\Blends\Char\Chase_v3.0.blend +P:\260217_Jarvis-Defense\Assets\Blends\Char\Russell_v3.1.blend +P:\260217_Jarvis-Defense\Assets\Blends\Char\Russell_v3.0.blend +D:\Work\9 iClone\Jarvis Defense\Blender\Kayla_Russell_v4.blend +D:\Work\9 iClone\Jarvis Defense\Blender\Kayla_Russell_dress.blend +P:\260217_Jarvis-Defense\Blends\animations\Jarvis-Defense_L.blend +P:\260217_Jarvis-Defense\Blends\animations\shot 2 avoid.blend +P:\260217_Jarvis-Defense\Assets\Blends\Vehicles\Pop Up Camper.blend +C:\Users\Nathan\SynologyDrive\Desktop\260217_Jarvis-Defense\Blends\animations\Shot_4.blend +P:\260217_Jarvis-Defense\Assets\Blends\Char\Russell_v2.0.blend +P:\260217_Jarvis-Defense\Assets\Blends\Char\Russell_v1.0.blend +C:\Users\Nathan\SynologyDrive\Desktop\260217_Jarvis-Defense\Assets\Blends\Char\Russell_v2.0.blend diff --git a/config/recent-searches.txt b/config/recent-searches.txt index 6d48be23ed1b0a8153a2f46de99aa33d97189ae0..fbaca948b998f4f52129184c6bc0c0c41b50f0fc 100644 GIT binary patch delta 1202 zcma)6&1(}u6ep!0vXFw>T5X}urP@QYZnxB!i;`@U^ea@7wn?h8PIjlsG`lllb`y=1 z2E2(U8R)@F58g!#g5agtYw_qGAb9ZPLBXrDyGfg358n2@c^|*`d%w4@K7@XK3cXv2 zwhyAap|%=(JJ9}l_fmiRg7&bly`TIXYFENZ3XFx&_iyJPcBrKiv zdU2YjC!mA$1T~x8D3N3#?{Ni*WV0zy`!%zO=nR+jI+knAu#_YX@NNGiSYXI;M7xgB z3aqe{76UTqqQH*~YzreSWgv4aP|xBr-WF8=s8W}92F+R21%9tyTtWX7ScKR@%}!<) z>=|cRS}V17km340v&e$p+>UQ$U=@K?L8v9mvhRsomX~l6pF=KK69Z!6KX*P|3et$$ z$YlcUe?&`QZUJa@=1|7}j7Rv3{4gJmjq#(+%QtQ0RAh_NnoFtW=p}~Da==d__`D?$ zZoB+(beYrSDBoKhZ>=*(oNdbN9vE@c^dYXJr>;j~+=kC60ZF@r7!X2h_{0i#2|5lm zDT|b>y1!CK2qNM_Rz^W$1F>c#T_;^S<6VbWHjB!5o^*HBk%4kvS%B~7bX8Gr>vMPH zom!b6PL1`agsS<$#*J2-iPhH`l4ql;Uw0`T$<}>+W@DaX8L|d;PQ|tRK&yDFY^bsl z9MYqnuv6(|MIk>@yec4JL8A&*5p*kvb^D|!E17yqomaw=(5zi^n?7|KX5xZ+J#oh9 z6Gt2gIKeA~e?m-mhR!hva)>F|&LXF7iH%K+@Z;ijPSTV7W%1&0cS9Pq#S!qqtyrNV negGaSPsdF6*II)N5yM-S@~=1GTLGGYMf8j~D}Sp!W)Sfgz^t0P delta 415 zcmeyon{nb+#tq))qVB1AsYQt;sS1y#?ND$@P0q{(awad1@|t{HTW52Vxhv!3_$aQ; zyDWCIau+8j=INFs7Nw__Y%a7DV_^+WPRvQ&-0Bp^H2G1Kf&h|9jzvX@m75>B9AV^h zOi2M7?wptlv}yBVw=Jv!uDJyzm0(ez!u;~$&7nS0Op}8mMKVSI9p> z-_+s^h~CPa%)FG;qRHDrwI*MRmY)0|v~KeJa5)1*551(E)Vvg4u8h<~AQ@be5+9tM znHTQ?rU;k? z63@;r$ key implementation for Blender","archive_hash":"sha256:63e0b7ffb93d0651424f0cd46e9b88186d8d84e63d85bf2ce8d816aa0dcbe49d","archive_size":178683,"archive_url":"https://extensions.blender.org/download/sha256:63e0b7ffb93d0651424f0cd46e9b88186d8d84e63d85bf2ce8d816aa0dcbe49d/add-on-chordsong-v1.1.6.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/chordsong/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Development"]},{"id":"keyboard_layout_emulation","schema_version":"1.0.0","name":"Keyboard Layout Emulation","version":"1.0.2","tagline":"Emulate QWERTY keyboard shortcuts on non-QWERTY keyboard layouts","archive_hash":"sha256:16913e50665a8e293b248d82aec64859f67c4c0932a3ef41b765cbcb603b2e04","archive_size":32090,"archive_url":"https://extensions.blender.org/download/sha256:16913e50665a8e293b248d82aec64859f67c4c0932a3ef41b765cbcb603b2e04/add-on-keyboard-layout-emulation-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyboard-layout-emulation/","maintainer":"endorh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export keyboard layouts/add-on preferences"},"tags":["User Interface"]},{"id":"ghostview","schema_version":"1.0.0","name":"GhostView","version":"1.0.2","tagline":"Adjust Window Opacity","archive_hash":"sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2","archive_size":1997,"archive_url":"https://extensions.blender.org/download/sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2/add-on-ghostview-v1.0.2-windows-x64-windows-arm64-macos-x64-macos-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ghostview/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","windows-arm64","macos-x64","macos-arm64"],"tags":["User Interface","System"]},{"id":"majik_blender_edu_teacher","schema_version":"1.0.0","name":"Majik Blender Edu","version":"1.1.4","tagline":"Submission integrity tool for educators to verify students' work","archive_hash":"sha256:fc1007990be6653f524611f8c7f1daf8b043dcb0bc55d7fb103d26612786446f","archive_size":3743388,"archive_url":"https://extensions.blender.org/download/sha256:fc1007990be6653f524611f8c7f1daf8b043dcb0bc55d7fb103d26612786446f/add-on-majik-blender-edu-teacher-v1.1.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/majik-blender-edu-teacher/","maintainer":"Zelijah","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write keys and logs as JSON for integrity verification","network":"Access required for JSON file analysis"},"platforms":["windows-x64"],"tags":["Pipeline"]},{"id":"theme_elsyiun_like","schema_version":"1.0.0","name":"elsyiun like","version":"1.1.0","tagline":"A flat dark theme that is easy on the eyes","archive_hash":"sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1","archive_size":5639,"archive_url":"https://extensions.blender.org/download/sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1/theme-theme-elsyiun-like-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-elsyiun-like/","maintainer":"modekichi","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"only_blends_mixer","schema_version":"1.0.0","name":"OnlyBlends.Mixer","version":"0.1.4","tagline":"An extension to turn Blender into a Mixer... of Sounds","archive_hash":"sha256:9b4dfdd0e1da99931f745bd89229c3ed3edb2fa89bedfd0b6afc481b8a3bf347","archive_size":54096,"archive_url":"https://extensions.blender.org/download/sha256:9b4dfdd0e1da99931f745bd89229c3ed3edb2fa89bedfd0b6afc481b8a3bf347/add-on-only-blends-mixer-v0.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-mixer/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline"]},{"id":"viewport_navigation_display","schema_version":"1.0.0","name":"Viewport Navigation Display","version":"1.2.1","tagline":"Visualize and control other viewports from TOP view","archive_hash":"sha256:3764c677ad34d57510e22257ff61646ab4ec8a25d2599486588d2bf9ab2bba01","archive_size":44446,"archive_url":"https://extensions.blender.org/download/sha256:3764c677ad34d57510e22257ff61646ab4ec8a25d2599486588d2bf9ab2bba01/add-on-viewport-navigation-display-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-navigation-display/","maintainer":"Cristiano-Tosoni","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","User Interface"]},{"id":"viewport_fps","schema_version":"1.0.0","name":"Viewport FPS","version":"1.0.2","tagline":"Displays frames per second in current 3D viewport","archive_hash":"sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f","archive_size":3040,"archive_url":"https://extensions.blender.org/download/sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f/add-on-viewport-fps-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-fps/","maintainer":"Pazelock","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","System"]},{"id":"asset_shelf_shortcut_display","schema_version":"1.0.0","name":"Asset Shelf Shortcut Display","version":"1.0.0","tagline":"Adds a line with hotkey/shortcut of the asset in the shelf","archive_hash":"sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad","archive_size":2816,"archive_url":"https://extensions.blender.org/download/sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad/add-on-asset-shelf-shortcut-display-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/asset-shelf-shortcut-display/","maintainer":"The-Loose-Spirit","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_signs","schema_version":"1.0.0","name":"QuickSigns","version":"1.0.1","tagline":"Create 3D text signs with Google Fonts integration","archive_hash":"sha256:d24a17ff92d6a2bbcbc7767c5c4f0a92eee7c6a564e900db4fd993545f9d9959","archive_size":9089,"archive_url":"https://extensions.blender.org/download/sha256:d24a17ff92d6a2bbcbc7767c5c4f0a92eee7c6a564e900db4fd993545f9d9959/add-on-quick-signs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-signs/","maintainer":"Marin-Brouwers","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write font files to local storage","network":"Access Google Fonts API for font search and download"},"tags":["Import-Export"]},{"id":"dy_pack_master","schema_version":"1.0.0","name":"dy Pack Master","version":"1.0.1","tagline":"Make Blender projects portable for render farms","archive_hash":"sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f","archive_size":34845,"archive_url":"https://extensions.blender.org/download/sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f/add-on-dy-pack-master-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dy-pack-master/","maintainer":"cdordelly","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Copies and localizes external assets to project directory"},"tags":["Pipeline","Import-Export","System"]},{"id":"cycles_bake_info","schema_version":"1.0.0","name":"Bake Info","version":"1.0.2","tagline":"fast bake checkup","archive_hash":"sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5/add-on-cycles-bake-info-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cycles-bake-info/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"Areas_by_Materials","schema_version":"1.0.0","name":"Areas by Materials","version":"1.6.0","tagline":"Displays information about areas of materials in selection","archive_hash":"sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9","archive_size":3609,"archive_url":"https://extensions.blender.org/download/sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9/add-on-areas-by-materials-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/areas-by-materials/","maintainer":"Justinas-Dudenas","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","User Interface"]},{"id":"quill","schema_version":"1.0.0","name":"Quill Import/Export","version":"1.4.2","tagline":"Import and export Quill VR illustrations and animations","archive_hash":"sha256:cf17224facfb070004066cbdd94970612938ededfc654573a7ce1b787e7a5daf","archive_size":52095,"archive_url":"https://extensions.blender.org/download/sha256:cf17224facfb070004066cbdd94970612938ededfc654573a7ce1b787e7a5daf/add-on-quill-v1.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quill/","maintainer":"Joan-Charmant","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export Quill projects from/to disk"},"tags":["Import-Export"]},{"id":"splats","schema_version":"1.0.0","name":"Splats","version":"1.0.1","tagline":"Generate multi-view training data for Gaussian Splatting","archive_hash":"sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2","archive_size":15856,"archive_url":"https://extensions.blender.org/download/sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2/add-on-splats-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/splats/","maintainer":"Dev.Patel","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PLY point clouds and render output files"},"tags":["Render","Camera"]},{"id":"export_curve_as_svg","schema_version":"1.0.0","name":"Export Curve as SVG","version":"1.0.0","tagline":"Export selected Bezier and Poly curves as SVG files","archive_hash":"sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990","archive_size":16937,"archive_url":"https://extensions.blender.org/download/sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990/add-on-export-curve-as-svg-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-curve-as-svg/","maintainer":"Gilberto.R","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"asset_library_tools","schema_version":"1.0.0","name":"Asset Library Tools","version":"1.0.0","tagline":"Filter assets by tags and catalogue backups for asset libraries","archive_hash":"sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37","archive_size":15607,"archive_url":"https://extensions.blender.org/download/sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37/add-on-asset-library-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-library-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write tag indexes and catalogue backup files"},"tags":["System","User Interface","Pipeline"]},{"id":"redlix_theme","schema_version":"1.0.0","name":"Redlix Theme","version":"1.0.0","tagline":"Cooperative brutalist framework - retro-futuristic design system","archive_hash":"sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8","archive_size":4968,"archive_url":"https://extensions.blender.org/download/sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8/theme-redlix-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redlix-theme/","maintainer":"redlix","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"ftw_flattening_toolset","schema_version":"1.0.0","name":"FTW Flattening Toolset","version":"2.0.0","tagline":"UV workflow: flattening, curve alignment, scaling, UV transfer","archive_hash":"sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a","archive_size":1176759,"archive_url":"https://extensions.blender.org/download/sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a/add-on-ftw-flattening-toolset-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw-flattening-toolset/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"]},{"id":"folded_paper_engine","schema_version":"1.0.0","name":"Folded Paper Engine","version":"1.0.9","tagline":"Define gameplay in Blender and play in Godot with a few clicks","archive_hash":"sha256:a39e163e5a7474b155fb9ece5e01077e573ba876db37ddd8306fab9c216a886c","archive_size":13999,"archive_url":"https://extensions.blender.org/download/sha256:a39e163e5a7474b155fb9ece5e01077e573ba876db37ddd8306fab9c216a886c/add-on-folded-paper-engine-v1.0.9.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/folded-paper-engine/","maintainer":"Papercraft-Games","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"tags":["Import-Export","Game Engine","Pipeline"]},{"id":"gather_resources","schema_version":"1.0.0","name":"Gather Resources","version":"0.5.2","tagline":"Collect project media into a local folder","archive_hash":"sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3","archive_size":10373,"archive_url":"https://extensions.blender.org/download/sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3/add-on-gather-resources-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gather-resources/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read project media files and copy them into a local directory"},"tags":["System","Pipeline"]},{"id":"rendercue","schema_version":"1.0.0","name":"RenderCue","version":"1.1.3","tagline":"Sequence. Queue. Render","archive_hash":"sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b","archive_size":52378,"archive_url":"https://extensions.blender.org/download/sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b/add-on-rendercue-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rendercue/","maintainer":"UsamaSQ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save renders to user-defined directories","network":"Send render notifications via Webhooks"},"tags":["Render","Pipeline"]},{"id":"character_pipeline_tracker","schema_version":"1.0.0","name":"Character Pipeline Tracker","version":"1.0.0","tagline":"Track and automate character creation pipeline stages","archive_hash":"sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010","archive_size":27555,"archive_url":"https://extensions.blender.org/download/sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010/add-on-character-pipeline-tracker-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/character-pipeline-tracker/","maintainer":"Evgeny-Lisichik","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"spine_io","schema_version":"1.0.0","name":"Spine IO","version":"0.0.3","tagline":"Export bone-driven Spine 4.3 JSON files","archive_hash":"sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e","archive_size":29815,"archive_url":"https://extensions.blender.org/download/sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e/add-on-spine-io-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spine-io/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read textures and write Spine JSON"},"tags":["Import-Export","Rigging","Animation"]},{"id":"cam_tools","schema_version":"1.0.0","name":"Cam Tools","version":"1.1.0","tagline":"Streamlined camera workflow toolkit","archive_hash":"sha256:1140c5de02db1814f024ce9838b0aa772901ccccb320b6c79613932d61b8fc3c","archive_size":39272,"archive_url":"https://extensions.blender.org/download/sha256:1140c5de02db1814f024ce9838b0aa772901ccccb320b6c79613932d61b8fc3c/add-on-cam-tools-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cam-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"camfree","schema_version":"1.0.0","name":"CamFree","version":"1.0.5","tagline":"Fly/Walk Navigation on Cameras with Constraints","archive_hash":"sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344","archive_size":2409,"archive_url":"https://extensions.blender.org/download/sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344/add-on-camfree-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camfree/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"sort_viewlayers_rmb","schema_version":"1.0.0","name":"RMB Sort View Layers Alphabetically in Outliner-Scenes","version":"0.0.2","tagline":"RMB Sort View Layers Alphabetically in Outliner-Scenes","archive_hash":"sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0","archive_size":2908,"archive_url":"https://extensions.blender.org/download/sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0/add-on-sort-viewlayers-rmb-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sort-viewlayers-rmb/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"voda_theme_cinnamon","schema_version":"1.0.0","name":"Cinnamon","version":"1.0.0","tagline":"Cinnamon-Orange themed Blender with a gradiented kick","archive_hash":"sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d","archive_size":6549,"archive_url":"https://extensions.blender.org/download/sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d/theme-voda-theme-cinnamon-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/voda-theme-cinnamon/","maintainer":"VaVo","license":["SPDX:CC0-1.0"]},{"id":"Studio_Dark","schema_version":"1.0.0","name":"Studio Dark","version":"1.7.3","tagline":"Sharp colors, comfortable contrast, white select, green active","archive_hash":"sha256:1a2a0dc3b02ecf95c26cb51b4c2043ecfb9d03c722550d5a123d742f2f5fcdd2","archive_size":5412,"archive_url":"https://extensions.blender.org/download/sha256:1a2a0dc3b02ecf95c26cb51b4c2043ecfb9d03c722550d5a123d742f2f5fcdd2/theme-studio-dark-v1.7.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/studio-dark/","maintainer":"3DDinosaur","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"khellstr_light","schema_version":"1.0.0","name":"khellstr light theme","version":"1.0.0","tagline":"Balanced Light Theme for Blender","archive_hash":"sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d","archive_size":6493,"archive_url":"https://extensions.blender.org/download/sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d/theme-khellstr-light-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/khellstr-light/","maintainer":"Kimmo-Hellström","license":["SPDX:GPL-3.0-or-later"]},{"id":"Black","schema_version":"1.0.0","name":"Black","version":"5.0.4","tagline":"A black theme, probably the blackest one","archive_hash":"sha256:3167d027740b8693d0a97af41ee0fbedfde3fc378c8900ddb43adf5935600f64","archive_size":5200,"archive_url":"https://extensions.blender.org/download/sha256:3167d027740b8693d0a97af41ee0fbedfde3fc378c8900ddb43adf5935600f64/theme-black-v5.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/black/","maintainer":"Gurra","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"root_maker","schema_version":"1.0.0","name":"RootMaker","version":"1.0.1","tagline":"Create root bone & bake into actions","archive_hash":"sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3","archive_size":6592,"archive_url":"https://extensions.blender.org/download/sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3/add-on-root-maker-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/root-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging","Bake"]},{"id":"k_tools_texture_map_loader","schema_version":"1.0.0","name":"K-Tools: Texture Map Loader","version":"1.0.9","tagline":" An easy way to load Texture Sets in your Shader Material","archive_hash":"sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495","archive_size":787239,"archive_url":"https://extensions.blender.org/download/sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495/add-on-k-tools-texture-map-loader-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-texture-map-loader/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load Node Groups from disk"},"tags":["Material"]},{"id":"MetahumanToManny","schema_version":"1.0.0","name":"MetaHumanToManny","version":"1.2.0","tagline":"Clean up MetaHuman meshes and match them to UE5 Manny","archive_hash":"sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685","archive_size":21164,"archive_url":"https://extensions.blender.org/download/sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685/add-on-metahumantomanny-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/metahumantomanny/","maintainer":"hakan-erunsal","license":["SPDX:GPL-3.0-or-later"]},{"id":"cad_helper","schema_version":"1.0.0","name":"CAD-Helper","version":"0.6.1","tagline":"Blender Extension to manage imported CAD assemblies","archive_hash":"sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6","archive_size":34745,"archive_url":"https://extensions.blender.org/download/sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6/add-on-cad-helper-v0.6.1-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/cad-helper/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Object"]},{"id":"momo_dark","schema_version":"1.0.0","name":"Momo Dark","version":"5.0.2","tagline":"Momo Dark - theme inspired by Modo","archive_hash":"sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36","archive_size":6454,"archive_url":"https://extensions.blender.org/download/sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36/theme-momo-dark-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo-dark/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"rss_theme_cyberpunk","schema_version":"1.0.0","name":"RedSavStudios: Cyberpunk","version":"0.5.5","tagline":"A dark blue cyberpunk-inspired theme with neon highlights","archive_hash":"sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c","archive_size":5501,"archive_url":"https://extensions.blender.org/download/sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c/theme-rss-theme-cyberpunk-v0.5.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-cyberpunk/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"rss_theme_nord","schema_version":"1.0.0","name":"RedSavStudios: Nord (Aurora)","version":"0.5.2","tagline":"Nord Theme With Aurora Accents","archive_hash":"sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50","archive_size":5196,"archive_url":"https://extensions.blender.org/download/sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50/theme-rss-theme-nord-v0.5.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-nord/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"randomize_noise_offset","schema_version":"1.0.0","name":"Randomize Noise Offset","version":"1.0.3","tagline":"Randomize Noise Offset for F-Curves","archive_hash":"sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9","archive_size":2500,"archive_url":"https://extensions.blender.org/download/sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9/add-on-randomize-noise-offset-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-noise-offset/","maintainer":"a.a.andrusenko","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"mirror_image","schema_version":"1.0.0","name":"Mirror Image","version":"1.0.0","tagline":"Applies mirroring to the active image","archive_hash":"sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46","archive_size":2540,"archive_url":"https://extensions.blender.org/download/sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46/add-on-mirror-image-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mirror-image/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"toggle_orbit_method","schema_version":"1.0.0","name":"Toggle Orbit Method (Turntable / Trackball)","version":"1.0.0","tagline":"Quickly toggles between Turntable and Trackball orbit modes","archive_hash":"sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4","archive_size":1369,"archive_url":"https://extensions.blender.org/download/sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4/add-on-toggle-orbit-method-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-orbit-method/","maintainer":"ArgelliKa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"blender_vnf_exporter_extension","schema_version":"1.0.0","name":"VNF Export Extension","version":"1.0.0","tagline":"Export blender mesh to openscad vnf","archive_hash":"sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e","archive_size":14400,"archive_url":"https://extensions.blender.org/download/sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e/add-on-blender-vnf-exporter-extension-v1.0.0-windows-x64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-vnf-exporter-extension/","maintainer":"runerback","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .scad to disk"},"platforms":["windows-x64","linux-x64"],"tags":["Import-Export"]},{"id":"vray_arena_setup","schema_version":"1.0.0","name":"Vray Arena Setup","version":"2.5.0","tagline":"Export VRay Cosmos assets, scene textures, and stage cube setup","archive_hash":"sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f","archive_size":6050,"archive_url":"https://extensions.blender.org/download/sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f/add-on-vray-arena-setup-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/vray-arena-setup/","maintainer":"Darsh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write project and resources directories"},"tags":["Import-Export","Material"]},{"id":"Minimal","schema_version":"1.0.0","name":"Minimal","version":"1.0.0","tagline":"Dark minimal theme","archive_hash":"sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb","archive_size":5620,"archive_url":"https://extensions.blender.org/download/sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb/theme-minimal-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/minimal/","maintainer":"A7medKhaled.me","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"auto_track_weights","schema_version":"1.0.0","name":"Auto Track Weights","version":"0.2.1","tagline":"Automatically adjust the weights of tracking markers","archive_hash":"sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be","archive_size":2415,"archive_url":"https://extensions.blender.org/download/sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be/add-on-auto-track-weights-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track-weights/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"batch_bone_constraints","schema_version":"1.0.0","name":"Batch Bone Constraints","version":"1.1.4","tagline":"Batch bone constraints to the selected multiple armatures","archive_hash":"sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee","archive_size":6589,"archive_url":"https://extensions.blender.org/download/sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee/add-on-batch-bone-constraints-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-bone-constraints/","maintainer":"distinctive-mark","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"theme_BlueInvasion","schema_version":"1.0.0","name":"Blue Invasion","version":"1.0.3-1","tagline":"A theme inspired by Winamp's blue invasion theme","archive_hash":"sha256:aaa50db52785b547c7902f7dea3808dbd06ba8a27b989b96de0640590a7863f2","archive_size":6165,"archive_url":"https://extensions.blender.org/download/sha256:aaa50db52785b547c7902f7dea3808dbd06ba8a27b989b96de0640590a7863f2/theme-theme-blueinvasion-v1.0.3-1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-blueinvasion/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"trident","schema_version":"1.0.0","name":"TRIDENT","version":"0.2.1","tagline":"3D UMAP/t-SNE embeddings into Blender","archive_hash":"sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a","archive_size":128117,"archive_url":"https://extensions.blender.org/download/sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a/add-on-trident-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trident/","maintainer":"ccordi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write data files and build outputs"},"platforms":["windows-x64"],"tags":["3D View","Object"]},{"id":"FrameFlowBlender","schema_version":"1.0.0","name":"Frame Flow Beta","version":"1.4.1","tagline":"Advanced Node Frame Add-on for Blender","archive_hash":"sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f","archive_size":922364,"archive_url":"https://extensions.blender.org/download/sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f/add-on-frameflowblender-v1.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/frameflowblender/","maintainer":"abhi.01","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Text Editor"]},{"id":"pataz_thumbnail_toolz","schema_version":"1.0.0","name":"Pataz Thumbnail Toolz","version":"1.0.0","tagline":"Tools for managing asset thumbnails","archive_hash":"sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac","archive_size":2763,"archive_url":"https://extensions.blender.org/download/sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac/add-on-pataz-thumbnail-toolz-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-thumbnail-toolz/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load files from disk"},"tags":["Pipeline"]},{"id":"io_scene_jsbsim","schema_version":"1.0.0","name":"JSBSim Viewer","version":"0.2.3","tagline":"Import and visualize JSBSim FDM aircraft XML metrics","archive_hash":"sha256:3d97352d2c89e76944575b20004a05aeb07c771412a6ffda6b375f973b8dff5f","archive_size":6721,"archive_url":"https://extensions.blender.org/download/sha256:3d97352d2c89e76944575b20004a05aeb07c771412a6ffda6b375f973b8dff5f/add-on-io-scene-jsbsim-v0.2.3.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/io-scene-jsbsim/","maintainer":"RenanMsV","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"multi_adjust","schema_version":"1.0.0","name":"Multi Adjust","version":"1.0.1","tagline":"Edits properties of multiple things together","archive_hash":"sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed","archive_size":9515,"archive_url":"https://extensions.blender.org/download/sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed/add-on-multi-adjust-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multi-adjust/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"replace_with_copy","schema_version":"1.0.0","name":"Replace With Copy","version":"1.0.1","tagline":"Batch replace multiple objects with a template","archive_hash":"sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf","archive_size":4116,"archive_url":"https://extensions.blender.org/download/sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf/add-on-replace-with-copy-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/replace-with-copy/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"sierpinski_triangle","schema_version":"1.0.0","name":"Sierpinski Triangle","version":"1.0.4","tagline":"This add-on creates Sierpinski triangles","archive_hash":"sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05","archive_size":4106,"archive_url":"https://extensions.blender.org/download/sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05/add-on-sierpinski-triangle-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sierpinski-triangle/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"]},{"id":"light_generator","schema_version":"1.0.0","name":"Light Generator","version":"1.2.0","tagline":"Generate lights with advanced distribution","archive_hash":"sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05","archive_size":5837,"archive_url":"https://extensions.blender.org/download/sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05/add-on-light-generator-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/light-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting"]},{"id":"nfc_card_keychain_generator","schema_version":"1.0.0","name":"NFC Card and Keychain Generator","version":"1.2.2","tagline":"Generate customizable 3D-printable cards, tags, and keychains","archive_hash":"sha256:61fc9b726002f7cd17ffb5b1e54bfa1827e8edf538881e72749f4faf931dc384","archive_size":513576,"archive_url":"https://extensions.blender.org/download/sha256:61fc9b726002f7cd17ffb5b1e54bfa1827e8edf538881e72749f4faf931dc384/add-on-nfc-card-keychain-generator-v1.2.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/nfc-card-keychain-generator/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For custom SVG import and file saving operations"},"tags":["Modeling","Object"]},{"id":"Physical_Motion_Blur","schema_version":"1.0.0","name":"Physical Motion Blur","version":"1.1.0","tagline":"Adds intuitive shutter speed and angle controls for motion blur","archive_hash":"sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438","archive_size":2605,"archive_url":"https://extensions.blender.org/download/sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438/add-on-physical-motion-blur-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/physical-motion-blur/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render","Animation"]},{"id":"utility_materials","schema_version":"1.0.0","name":"Utility Materials","version":"1.1.5","tagline":"Industrial design theme in the Utility Materials universe","archive_hash":"sha256:1060b83f61823e30cac6147ad365e0e2532132ba85719a73fb8a881b1daee82f","archive_size":5294,"archive_url":"https://extensions.blender.org/download/sha256:1060b83f61823e30cac6147ad365e0e2532132ba85719a73fb8a881b1daee82f/theme-utility-materials-v1.1.5.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/utility-materials/","maintainer":"Utility-Materials","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"AddShaderAttribute","schema_version":"1.0.0","name":"Add Shader Attribute","version":"0.3.0","tagline":"Add attribute directly in shader nodetree","archive_hash":"sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707","archive_size":2591,"archive_url":"https://extensions.blender.org/download/sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707/add-on-addshaderattribute-v0.3.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/addshaderattribute/","maintainer":"atticuslv","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"all_objects_into_assets","schema_version":"1.0.0","name":"All Objects into Assets","version":"1.0.4","tagline":"Create collection assets and catalogs automatically","archive_hash":"sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7","archive_size":9361,"archive_url":"https://extensions.blender.org/download/sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7/add-on-all-objects-into-assets-v1.0.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/all-objects-into-assets/","maintainer":"StellArc","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset library catalogs file"}},{"id":"goldsrc_model_helper","schema_version":"1.0.0","name":"GS Model Helper","version":"2.2.0","tagline":"A set of tools for working with Goldsource models in Blender","archive_hash":"sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df","archive_size":7626,"archive_url":"https://extensions.blender.org/download/sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df/add-on-goldsrc-model-helper-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/goldsrc-model-helper/","maintainer":"DaKashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to rename and clean up materials/textures"}},{"id":"pjavel_theme","schema_version":"1.0.0","name":"Pjavel Theme","version":"1.1.1","tagline":"Green accent theme","archive_hash":"sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece","archive_size":18590,"archive_url":"https://extensions.blender.org/download/sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece/theme-pjavel-theme-v1.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/pjavel-theme/","maintainer":"Zexyp","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"bfds","schema_version":"1.0.0","name":"BFDS fire simulations","version":"7.0.0","tagline":"Create and manage NIST FDS fire simulations","archive_hash":"sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6","archive_size":370951,"archive_url":"https://extensions.blender.org/download/sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6/add-on-bfds-v7.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bfds/","maintainer":"emanuele.gissi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FDS files from/to disk","network":"Display geographic positions, convert coordinates"},"tags":["Import-Export"]},{"id":"sciblend","schema_version":"1.0.0","name":"SciBlend","version":"1.1.2","tagline":"Scientific visualization tools for Blender","archive_hash":"sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d","archive_size":143536802,"archive_url":"https://extensions.blender.org/download/sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d/add-on-sciblend-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/sciblend/","maintainer":"José-Marín","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"navigation_puck_addon","schema_version":"1.0.0","name":"Navigation Puck Addon","version":"1.0.1","tagline":"Navigation Puck like in Sketchbook Pro","archive_hash":"sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51","archive_size":14528,"archive_url":"https://extensions.blender.org/download/sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51/add-on-navigation-puck-addon-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation-puck-addon/","maintainer":"IliaVerpa","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"midicontroller","schema_version":"1.0.0","name":"MidiController","version":"0.1.6","tagline":"Control objects properties through midi","archive_hash":"sha256:bb2e01e67b347e8b11cce2b30d2b037fb5eb45e183815c5c5d546a03941d08a0","archive_size":165336,"archive_url":"https://extensions.blender.org/download/sha256:bb2e01e67b347e8b11cce2b30d2b037fb5eb45e183815c5c5d546a03941d08a0/add-on-midicontroller-v0.1.6-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/midicontroller/","maintainer":"Eldin-Zenderink","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"mc_animaker","schema_version":"1.0.0","name":"MC Animaker","version":"1.4.0","tagline":"Bring your Blender animations to life in Minecraft","archive_hash":"sha256:b3533f2c1b1ff605d0c162023d27096d92c4ff705577f72738ebc4981701c830","archive_size":183928,"archive_url":"https://extensions.blender.org/download/sha256:b3533f2c1b1ff605d0c162023d27096d92c4ff705577f72738ebc4981701c830/add-on-mc-animaker-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mc-animaker/","maintainer":"Priqnot","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Resource Packs and Export Minecraft Datapack Files"},"tags":["Game Engine","Import-Export"]},{"id":"smart_transform","schema_version":"1.0.0","name":"Smart Transform","version":"1.0.2","tagline":"filter objects by size or transforms, and more tools","archive_hash":"sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11","archive_size":2671,"archive_url":"https://extensions.blender.org/download/sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11/add-on-smart-transform-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-transform/","maintainer":"Claz_Arts","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"animated_brush","schema_version":"1.0.0","name":"Animated Texture Brush","version":"1.0.2","tagline":"Randomly cycles image sequence texture while painting","archive_hash":"sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be","archive_size":2467,"archive_url":"https://extensions.blender.org/download/sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be/add-on-animated-brush-v1.0.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animated-brush/","maintainer":"Kvendy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"lod_gen","schema_version":"1.0.0","name":"LODGen","version":"0.0.5","tagline":"Generate LODs for Games in 3 Clicks or Less","archive_hash":"sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128","archive_size":15434,"archive_url":"https://extensions.blender.org/download/sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128/add-on-lod-gen-v0.0.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/lod-gen/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"LostSelection","schema_version":"1.0.0","name":"Lost Selection","version":"0.2.0","tagline":"Set of usefull extra selection operators","archive_hash":"sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4","archive_size":32205,"archive_url":"https://extensions.blender.org/download/sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4/add-on-lostselection-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lostselection/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"reset_workspace","schema_version":"1.0.0","name":"Reset Workspace","version":"0.0.4","tagline":"Reset the user interface (with your startup file interface)","archive_hash":"sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32","archive_size":5093,"archive_url":"https://extensions.blender.org/download/sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32/add-on-reset-workspace-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reset-workspace/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"edit_instanced_collection","schema_version":"1.0.0","name":"Edit Instanced Collection","version":"0.0.5","tagline":"Quickly find the instanced collection source","archive_hash":"sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3","archive_size":6971,"archive_url":"https://extensions.blender.org/download/sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3/add-on-edit-instanced-collection-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-instanced-collection/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"add_std_paper_size","schema_version":"1.0.0","name":"Add Std Paper-Format","version":"0.1.0","tagline":"Blender add-on to add planes with standardized paper formats","archive_hash":"sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4","archive_size":19785,"archive_url":"https://extensions.blender.org/download/sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4/add-on-add-std-paper-size-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-std-paper-size/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"Blueprint_Film_Theme","schema_version":"1.0.0","name":"Blueprint_Film_Theme","version":"2.2.4","tagline":"Translucent Aqua","archive_hash":"sha256:a986b52fe7ea86be2c205d4c7ab87ac2115a8ec70713733782f1d885cc8240c1","archive_size":5686,"archive_url":"https://extensions.blender.org/download/sha256:a986b52fe7ea86be2c205d4c7ab87ac2115a8ec70713733782f1d885cc8240c1/theme-blueprint-film-theme-v2.2.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-film-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"pbsu_addon_3ds","schema_version":"1.0.0","name":"PBSU 3D Studio (.3ds)","version":"1.0.1","tagline":"Import/export 3DS scenes, objects, cameras, lights & anims","archive_hash":"sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d","archive_size":42631,"archive_url":"https://extensions.blender.org/download/sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d/add-on-pbsu-addon-3ds-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pbsu-addon-3ds/","maintainer":"Arturo-Cervantes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"on_screen_numpad","schema_version":"1.0.0","name":"On-Screen Numpad","version":"1.2.0","tagline":"No need to leave the mouse to enter numbers","archive_hash":"sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20","archive_size":22847,"archive_url":"https://extensions.blender.org/download/sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20/add-on-on-screen-numpad-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/on-screen-numpad/","maintainer":"Pluglug","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Sakura_Rig_GUI","schema_version":"1.0.0","name":"Sakura's Rig Interfaces","version":"3.1.0","tagline":"A control script for use with Sakura's Rigs","archive_hash":"sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0","archive_size":23119,"archive_url":"https://extensions.blender.org/download/sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0/add-on-sakura-rig-gui-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-rig-gui/","maintainer":"SakuraSedaia","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and Store Player Skin Information and Downloaded Rigs","network":"Download Minecraft Skin Information from minecraft.net"},"tags":["Rigging","User Interface"]},{"id":"EMU3BM","schema_version":"1.0.0","name":"Toggle Emulate 3 Button Mouse","version":"1.4.0","tagline":"Toggle Emulate 3 Button Mouse","archive_hash":"sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593","archive_size":1343,"archive_url":"https://extensions.blender.org/download/sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593/add-on-emu3bm-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/emu3bm/","maintainer":"chenkin123","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"BL_EasyCrop","schema_version":"1.0.0","name":"BL Easy Crop","version":"2.0.3","tagline":"Use handles for easy cropping in the Blender VSE Preview window","archive_hash":"sha256:f63200c2f634b927cc0ccf82af20aa4298f36f5f5bfbcfdfc85f20adf4a2d9da","archive_size":31082,"archive_url":"https://extensions.blender.org/download/sha256:f63200c2f634b927cc0ccf82af20aa4298f36f5f5bfbcfdfc85f20adf4a2d9da/add-on-bl-easycrop-v2.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-easycrop/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","User Interface"]},{"id":"SHIRAKUMO_sf3_io","schema_version":"1.0.0","name":"Shirakumo SF3 IO","version":"1.1.0","tagline":"Export/Import support for Simple File Format Family (SF3) files","archive_hash":"sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c","archive_size":24064,"archive_url":"https://extensions.blender.org/download/sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c/add-on-shirakumo-sf3-io-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-sf3-io/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"permissions":{"files":"Import/export SF3 from/to disk"},"tags":["Import-Export"]},{"id":"normalize_resize_handles","schema_version":"1.0.0","name":"Normalize and Resize Curve Handles","version":"1.0.1","tagline":"Normalize and resize all selected bezier curve handles","archive_hash":"sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a","archive_size":1537,"archive_url":"https://extensions.blender.org/download/sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a/add-on-normalize-resize-handles-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/normalize-resize-handles/","maintainer":"TomasCJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"FocalLengthTweaker","schema_version":"1.0.0","name":"Focal Length Tweaker","version":"1.0.1","tagline":"Control viewport and camera focal length with your mouse","archive_hash":"sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833","archive_size":9686,"archive_url":"https://extensions.blender.org/download/sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833/add-on-focallengthtweaker-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/focallengthtweaker/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","User Interface"]},{"id":"Zeratul_Theme","schema_version":"1.0.0","name":"Zeratul_Theme","version":"3.1.6","tagline":"Invisible Shadow Warrior","archive_hash":"sha256:90afd67134729ba4038c7b94dce68432a0c365c93842c2ec83d12aa5baf1daed","archive_size":5620,"archive_url":"https://extensions.blender.org/download/sha256:90afd67134729ba4038c7b94dce68432a0c365c93842c2ec83d12aa5baf1daed/theme-zeratul-theme-v3.1.6.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zeratul-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blueprint_Theme","schema_version":"1.0.0","name":"Prussian_Blueprint_Theme","version":"2.2.1","tagline":"Blueprint True Color","archive_hash":"sha256:482f3d41ae95cf10ab32d9ad57bed3093edb67334ed7043511174da53c6558d3","archive_size":5748,"archive_url":"https://extensions.blender.org/download/sha256:482f3d41ae95cf10ab32d9ad57bed3093edb67334ed7043511174da53c6558d3/theme-prussian-blueprint-theme-v2.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"render_webhook","schema_version":"1.0.0","name":"Render Webhook","version":"1.0.2","tagline":"Sends a message after render events to a webhook","archive_hash":"sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58","archive_size":2567,"archive_url":"https://extensions.blender.org/download/sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58/add-on-render-webhook-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-webhook/","maintainer":"vignette","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Sending HTTP requests to provided webhook URL"},"tags":["Render","Pipeline"]},{"id":"Prussian_Blue_Pink_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Pink_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356","archive_size":5758,"archive_url":"https://extensions.blender.org/download/sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356/theme-prussian-blue-pink-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-pink-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blue_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135","archive_size":5687,"archive_url":"https://extensions.blender.org/download/sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135/theme-prussian-blue-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Clip_Tools","schema_version":"1.0.0","name":"Clip Tools","version":"1.0.3","tagline":"Add a simple tool to the Movie Clip Editor","archive_hash":"sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391","archive_size":7924,"archive_url":"https://extensions.blender.org/download/sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391/add-on-clip-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clip-tools/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Camera","3D View"]},{"id":"Merge_selected_cameras","schema_version":"1.0.0","name":"Merge Selected Cameras","version":"1.1.1","tagline":"Create one animated camera from your photogrammetry sequence","archive_hash":"sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d","archive_size":4219,"archive_url":"https://extensions.blender.org/download/sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d/add-on-merge-selected-cameras-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/merge-selected-cameras/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking","3D View"]},{"id":"only_blends_gamepad","schema_version":"1.0.0","name":"OnlyBlends.Gamepad","version":"0.5.0","tagline":"Integrate Controller like Gamepads and other inputs via Nodes","archive_hash":"sha256:b545dbe69757dff54cd589a2462a5739cc011580fae6398860b48289e3b8be71","archive_size":72361,"archive_url":"https://extensions.blender.org/download/sha256:b545dbe69757dff54cd589a2462a5739cc011580fae6398860b48289e3b8be71/add-on-only-blends-gamepad-v0.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-gamepad/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Game Engine","Node"]},{"id":"Scene_Duration_Display","schema_version":"1.0.0","name":"Scene Duration Display","version":"1.1.1","tagline":"Displays and syncs timeline duration. Set preview range with I/O","archive_hash":"sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940","archive_size":2361,"archive_url":"https://extensions.blender.org/download/sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940/add-on-scene-duration-display-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-duration-display/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Gray50","schema_version":"1.0.0","name":"Gray50","version":"1.0.2","tagline":"Remake of Blender3.3 light theme","archive_hash":"sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9","archive_size":5795,"archive_url":"https://extensions.blender.org/download/sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9/theme-gray50-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gray50/","maintainer":"Nick2321","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Inspired By"]},{"id":"bl_reset_custom_properties","schema_version":"1.0.0","name":"Reset Custom Properties","version":"1.0.4","tagline":"Reset custom properties to their default values","archive_hash":"sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4","archive_size":5646,"archive_url":"https://extensions.blender.org/download/sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4/add-on-bl-reset-custom-properties-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bl-reset-custom-properties/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View"]},{"id":"color_grid_texture_gen","schema_version":"1.0.0","name":"Color Grid Texture Generator","version":"0.1.2","tagline":"Generate customizable color grid textures","archive_hash":"sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f","archive_size":28692,"archive_url":"https://extensions.blender.org/download/sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f/add-on-color-grid-texture-gen-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-grid-texture-gen/","maintainer":"andersmmg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Read Coolors URL from clipboard"},"tags":["Material","UV"]},{"id":"io_import_build_map","schema_version":"1.0.0","name":"BUILD Map Importer","version":"1.4.1","tagline":"Import BUILD Engine maps as used in Duke Nukem 3D, Blood, etc","archive_hash":"sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54","archive_size":57108,"archive_url":"https://extensions.blender.org/download/sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54/add-on-io-import-build-map-v1.4.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-build-map/","maintainer":"Jens.Ne","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .map files and textures from filesystem"},"tags":["Import-Export","Mesh","Material"]},{"id":"distribute_grease_pencil_strokes","schema_version":"1.0.0","name":"Align-Distribute Grease Pencil Strokes","version":"2.1.0","tagline":"Align-Distribute Grease Pencil strokes","archive_hash":"sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2","archive_size":13284,"archive_url":"https://extensions.blender.org/download/sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2/add-on-distribute-grease-pencil-strokes-v2.1.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/distribute-grease-pencil-strokes/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"BL_FastStart","schema_version":"1.0.0","name":"BL Fast Start (MP4/MOV)","version":"1.9.3","tagline":"A checkbox to add a 'Fast Start' copy of MP4/MOV renders","archive_hash":"sha256:e1954e4b7c112e82249144fe3d2c6a17ab77a256c63f5f3d82c424812197c4a4","archive_size":23184,"archive_url":"https://extensions.blender.org/download/sha256:e1954e4b7c112e82249144fe3d2c6a17ab77a256c63f5f3d82c424812197c4a4/add-on-bl-faststart-v1.9.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-faststart/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"quantum_void_fluoamber","schema_version":"1.0.0","name":"Quantum Void FluoAmber","version":"1.0.2","tagline":"A monochromatic dark theme with accent","archive_hash":"sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f","archive_size":3205,"archive_url":"https://extensions.blender.org/download/sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f/theme-quantum-void-fluoamber-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quantum-void-fluoamber/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"vectart_animation","schema_version":"1.0.0","name":"Vectart Animation","version":"1.1.4","tagline":"Animation tools for VectArt curves and objects","archive_hash":"sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb","archive_size":22398,"archive_url":"https://extensions.blender.org/download/sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb/add-on-vectart-animation-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-animation/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blueprints","schema_version":"1.0.0","name":"Blueprints","version":"1.0.3","tagline":"Manage background images ","archive_hash":"sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9","archive_size":3264,"archive_url":"https://extensions.blender.org/download/sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9/add-on-blueprints-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blueprints/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"batch_render_actions","schema_version":"1.0.0","name":"Batch Render Actions","version":"1.0.2","tagline":"Render each animation action to its own folder","archive_hash":"sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff","archive_size":2413,"archive_url":"https://extensions.blender.org/download/sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff/add-on-batch-render-actions-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-render-actions/","maintainer":"Padraig-O-Cinneide","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Render"]},{"id":"rmKit_uv","schema_version":"1.0.0","name":"rmKitUV","version":"2.0.0","tagline":"Collection of Tools","archive_hash":"sha256:cd75170fc5d652ba6e52a70939949480ea78a7417b7608e7c2d2c1fb48b3360e","archive_size":259364,"archive_url":"https://extensions.blender.org/download/sha256:cd75170fc5d652ba6e52a70939949480ea78a7417b7608e7c2d2c1fb48b3360e/add-on-rmkit-uv-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/rmkit-uv/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"read/write hotspots to disk"},"tags":["Mesh","UV","Material"]},{"id":"to_square","schema_version":"1.0.0","name":"To Square","version":"2.2.0","tagline":"Square the selection","archive_hash":"sha256:79d3c5e8865ac768079d866693a23d01fee922856ecb31163b396cb8677ea61e","archive_size":41484,"archive_url":"https://extensions.blender.org/download/sha256:79d3c5e8865ac768079d866693a23d01fee922856ecb31163b396cb8677ea61e/add-on-to-square-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/to-square/","maintainer":"Jean-Yves-Grosbeau","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"acreplay_importer","schema_version":"1.0.0","name":"AC Replay Importer","version":"0.3.0","tagline":"Animate your cars using Assetto Corsa replays","archive_hash":"sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da","archive_size":8688,"archive_url":"https://extensions.blender.org/download/sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da/add-on-acreplay-importer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/acreplay-importer/","maintainer":"abchouhan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import CSV from disk"},"tags":["Animation"]},{"id":"dynamic_head_property_manager","schema_version":"1.0.0","name":"Dynamic Head Property Manager","version":"1.0.7","tagline":"Manage custom facial properties for Roblox Bundles","archive_hash":"sha256:ca7ee4063be416c9a82c1552a97efbf4227b4ce210826547e2b8cd164a418e5b","archive_size":26446,"archive_url":"https://extensions.blender.org/download/sha256:ca7ee4063be416c9a82c1552a97efbf4227b4ce210826547e2b8cd164a418e5b/add-on-dynamic-head-property-manager-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-head-property-manager/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"enhanced_svg","schema_version":"1.0.0","name":"Enhanced SVG","version":"0.1.8","tagline":"Import SVG with accurate colors and path processing","archive_hash":"sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2","archive_size":4067305,"archive_url":"https://extensions.blender.org/download/sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2/add-on-enhanced-svg-v0.1.8-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/enhanced-svg/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"M2V","schema_version":"1.0.0","name":"MIDI To Visuals","version":"1.2.0","tagline":"With MIDI file as input create somes 3D animations in blender","archive_hash":"sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1","archive_size":41169,"archive_url":"https://extensions.blender.org/download/sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1/add-on-m2v-v1.2.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/m2v/","maintainer":"Patochun","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"separate_loose_plus","schema_version":"1.0.0","name":"Separate Loose Plus","version":"1.0.0","tagline":"Enhanced mesh separation tools with object tracking","archive_hash":"sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5","archive_size":1973,"archive_url":"https://extensions.blender.org/download/sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5/add-on-separate-loose-plus-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/separate-loose-plus/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"bve_import_export","schema_version":"1.0.0","name":"BVE Import/Export","version":"5.1.3","tagline":"Import/Export DirectX X (.x) or Export CSV files for BVE/OpenBVE","archive_hash":"sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984","archive_size":22514,"archive_url":"https://extensions.blender.org/download/sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984/add-on-bve-import-export-v5.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bve-import-export/","maintainer":"Kusaanko","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export model file from/to disk"},"tags":["Import-Export"]},{"id":"symple","schema_version":"1.0.0","name":"Symple (symmetry groups)","version":"0.1.2","tagline":"Create figures with spherical symmetry with ease","archive_hash":"sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3","archive_size":29123,"archive_url":"https://extensions.blender.org/download/sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3/add-on-symple-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/symple/","maintainer":"Martín-Torres-Valverde","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling","Object"]},{"id":"select_by_index","schema_version":"1.0.0","name":"Select By Index","version":"1.3.0","tagline":"Select all vertices, edges, or faces within an index range","archive_hash":"sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050/add-on-select-by-index-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-by-index/","maintainer":"Eric-Banker","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"blender_lut_exporter","schema_version":"1.0.0","name":"LUT Exporter and Importer","version":"2.0.1","tagline":"Converts adjustment layer into LUT .cube file and back","archive_hash":"sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd","archive_size":5588,"archive_url":"https://extensions.blender.org/download/sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd/add-on-blender-lut-exporter-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/blender-lut-exporter/","maintainer":"ichlubna","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Sequencer"]},{"id":"arc_edge","schema_version":"1.0.0","name":"Arc Edge","version":"1.1.0","tagline":"Arc Edge","archive_hash":"sha256:2a3d3700534566d81d8202a795db594b1e36f407368276319a1141e67419bb4f","archive_size":10986,"archive_url":"https://extensions.blender.org/download/sha256:2a3d3700534566d81d8202a795db594b1e36f407368276319a1141e67419bb4f/add-on-arc-edge-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/arc-edge/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"Render_from_Terminal","schema_version":"1.0.0","name":"Render from Terminal","version":"0.1.5","tagline":"Create script to launch render from terminal","archive_hash":"sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3","archive_size":10030,"archive_url":"https://extensions.blender.org/download/sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3/add-on-render-from-terminal-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-from-terminal/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal"},"tags":["Render","Pipeline"]},{"id":"Fabnodes","schema_version":"1.0.0","name":"Fabnodes","version":"0.0.3","tagline":"Generates G-Code from geometry node attributes","archive_hash":"sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281","archive_size":5343,"archive_url":"https://extensions.blender.org/download/sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281/add-on-fabnodes-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fabnodes/","maintainer":"luigipacheco","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Geometry Nodes"]},{"id":"substance_textures_importer","schema_version":"1.0.0","name":"Substance Textures Importer","version":"7.1.0","tagline":"Import & autoassign images from 3D painting tools like Substance","archive_hash":"sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7","archive_size":35582,"archive_url":"https://extensions.blender.org/download/sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7/add-on-substance-textures-importer-v7.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/substance-textures-importer/","maintainer":"Cosmin_Planchon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk & read/write customs presets"},"tags":["Material","Import-Export","Node"]},{"id":"slot_link","schema_version":"1.0.0","name":"Slot Link","version":"0.0.11","tagline":"Easily manage projects with multiple separate animations","archive_hash":"sha256:aec6c11bef46dadb552838b00e82a63637ee4dd0c77f21a5fef886317a5a6bab","archive_size":21217,"archive_url":"https://extensions.blender.org/download/sha256:aec6c11bef46dadb552838b00e82a63637ee4dd0c77f21a5fef886317a5a6bab/add-on-slot-link-v0.0.11.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/slot-link/","maintainer":"mars","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","User Interface","Import-Export"]},{"id":"mesh_planes_pro","schema_version":"1.0.0","name":"Mesh Planes Pro","version":"2.0.1","tagline":"Ultimate Background Removal for Faster, Seamless Renders","archive_hash":"sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b","archive_size":2471909,"archive_url":"https://extensions.blender.org/download/sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b/add-on-mesh-planes-pro-v2.0.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mesh-planes-pro/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load node groups from blend file"},"tags":["Material","Node","Render","Mesh"]},{"id":"developer_utilities","schema_version":"1.0.0","name":"Developer Utilities","version":"1.1.0","tagline":"Make life of addon developers easier","archive_hash":"sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c","archive_size":9006,"archive_url":"https://extensions.blender.org/download/sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c/add-on-developer-utilities-v1.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/developer-utilities/","maintainer":"scorpion81","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open source files of addons for editing"},"tags":["Development"]},{"id":"srtm_terrain_importer","schema_version":"1.0.0","name":"SRTM Terrain Importer","version":"1.0.5","tagline":"Import SRTM elevation data as accurate 3D terrain","archive_hash":"sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454","archive_size":6645,"archive_url":"https://extensions.blender.org/download/sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454/add-on-srtm-terrain-importer-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/srtm-terrain-importer/","maintainer":"NicolasPriniotakis","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import SRTM HGT files from disk"},"tags":["Import-Export"]},{"id":"Industrial_Light_AOV_Splitter","schema_version":"1.0.0","name":"Industrial Light AOV Splitter","version":"1.0.1","tagline":"Auto create better light aovs (diffuse_env, specular_env...)","archive_hash":"sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7","archive_size":8954,"archive_url":"https://extensions.blender.org/download/sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7/add-on-industrial-light-aov-splitter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-light-aov-splitter/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"servo_animation","schema_version":"1.0.0","name":"Servo Animation","version":"2.1.1","tagline":"Export your Blender animation to servo position values","archive_hash":"sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4","archive_size":161106,"archive_url":"https://extensions.blender.org/download/sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4/add-on-servo-animation-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/servo-animation/","maintainer":"timhendriks93","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Import-Export","Rigging"]},{"id":"ac_tools","schema_version":"1.0.0","name":"AC Tools","version":"0.1.5","tagline":"AC Tools for track modding","archive_hash":"sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd","archive_size":30842,"archive_url":"https://extensions.blender.org/download/sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd/add-on-ac-tools-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ac-tools/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk, Manage track folders"},"tags":["Development","Object","User Interface"]},{"id":"img_alpha_to_bsdf","schema_version":"1.0.0","name":"Connect image alpha","version":"1.0.6","tagline":"Connecting image alpha to shader alpha","archive_hash":"sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02","archive_size":2692,"archive_url":"https://extensions.blender.org/download/sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02/add-on-img-alpha-to-bsdf-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img-alpha-to-bsdf/","maintainer":"Snakyboopface","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Material"]},{"id":"link_parents","schema_version":"1.0.0","name":"Link Parents","version":"1.2.1","tagline":"Link objects parents & edit Parent Inverse Matrix in UI","archive_hash":"sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395","archive_size":2883,"archive_url":"https://extensions.blender.org/download/sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395/add-on-link-parents-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/link-parents/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Rigging","User Interface"]},{"id":"sco_buttobjects","schema_version":"1.0.0","name":"SCO ButtObjects","version":"2.0.5","tagline":"Easily align Objects in your scene by Active Object or 3D Cursor","archive_hash":"sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb","archive_size":138673,"archive_url":"https://extensions.blender.org/download/sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb/add-on-sco-buttobjects-v2.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-buttobjects/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"Grid_Layout","schema_version":"1.0.0","name":"Grid Layout","version":"1.5.7","tagline":"Tools to help layout your UV layout","archive_hash":"sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c","archive_size":10399,"archive_url":"https://extensions.blender.org/download/sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c/add-on-grid-layout-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-layout/","maintainer":"Hodgson3d","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"povable","schema_version":"1.0.0","name":"POV@Ble","version":"0.1.8","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830","archive_size":329019,"archive_url":"https://extensions.blender.org/download/sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830/add-on-povable-v0.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/povable/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render","Pipeline","Import-Export","Text Editor","Development","User Interface","Scene","Modeling","Object","Material","Mesh","Add Curve","Camera","Lighting","Bake"]},{"id":"b_palettes","schema_version":"1.0.0","name":"B Palettes","version":"1.1.0","tagline":"Import/Export Color Palettes","archive_hash":"sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6","archive_size":5538,"archive_url":"https://extensions.blender.org/download/sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6/add-on-b-palettes-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/b-palettes/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"node_runner","schema_version":"1.0.0","name":"Node Runner","version":"1.3.9","tagline":"Import and export nodes as strings","archive_hash":"sha256:ec7a80ff5105f9b5c638b840f48c37b9fd71dccb5f686d9b0fec05ede7ee5d92","archive_size":40616,"archive_url":"https://extensions.blender.org/download/sha256:ec7a80ff5105f9b5c638b840f48c37b9fd71dccb5f686d9b0fec05ede7ee5d92/add-on-node-runner-v1.3.9.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/node-runner/","maintainer":"Noah-Thiering","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy Node Runner Hash to clipboard"},"tags":["Node","Material","Geometry Nodes"]},{"id":"import_files_svg_cuts_directory","schema_version":"1.0.0","name":"Import SVG Cuts Directory","version":"1.0.1","tagline":"Import object based on a directory of SVG cuts","archive_hash":"sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb","archive_size":5958242,"archive_url":"https://extensions.blender.org/download/sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb/add-on-import-files-svg-cuts-directory-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-files-svg-cuts-directory/","maintainer":"Benedikt-Schaber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import directory of SVGs from disk"},"tags":["Import-Export"]},{"id":"Selected_Bones_To_Vertex_Group","schema_version":"1.0.0","name":"Selected_Bones_To_Vertex_Group","version":"1.0.1","tagline":"Add or delete selected bone to selected mesh","archive_hash":"sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0","archive_size":2074,"archive_url":"https://extensions.blender.org/download/sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0/add-on-selected-bones-to-vertex-group-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selected-bones-to-vertex-group/","maintainer":"mochi_Lin","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"highlighter","schema_version":"1.0.0","name":"Highlighter","version":"0.1.0","tagline":"Syntax highlighting for text objects","archive_hash":"sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046","archive_size":1209500,"archive_url":"https://extensions.blender.org/download/sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046/add-on-highlighter-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/highlighter/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve","Text Editor"]},{"id":"frame_focus","schema_version":"1.0.0","name":"Frame Focus","version":"2.0.1","tagline":"List All Frame Nodes And Focus Easily","archive_hash":"sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc","archive_size":6600,"archive_url":"https://extensions.blender.org/download/sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc/add-on-frame-focus-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/frame-focus/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"neigh_context_switcher","schema_version":"1.0.0","name":"Context Switcher","version":"1.1.2","tagline":"Quick workspace and editor switching via popup at mouse location","archive_hash":"sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d","archive_size":2365,"archive_url":"https://extensions.blender.org/download/sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d/add-on-neigh-context-switcher-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/neigh-context-switcher/","maintainer":"Neigh","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"SelectModeKeymaps","schema_version":"1.0.0","name":"Select Mode Keymaps","version":"1.0.1","tagline":"Assign keymaps to toggle Object/Edit Mode and Select Modes","archive_hash":"sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573","archive_size":5772,"archive_url":"https://extensions.blender.org/download/sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573/add-on-selectmodekeymaps-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/selectmodekeymaps/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"skin_mesh_to_bone","schema_version":"1.0.0","name":"Skin Mesh To Bone","version":"1.0.2","tagline":"Skins selected meshes to a bone on the active armature","archive_hash":"sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf","archive_size":3048,"archive_url":"https://extensions.blender.org/download/sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf/add-on-skin-mesh-to-bone-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-mesh-to-bone/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Faster_FBX_Exporter","schema_version":"1.0.0","name":"Faster FBX Exporter","version":"0.2.4","tagline":"Faster .fbx Exporter for Static Objects With Modifiers","archive_hash":"sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60","archive_size":94222,"archive_url":"https://extensions.blender.org/download/sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60/add-on-faster-fbx-exporter-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/faster-fbx-exporter/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .fbx files"},"tags":["Import-Export"]},{"id":"copyshapekeys","schema_version":"1.0.0","name":"ShapeKey Copy","version":"3.4.1","tagline":"Copy shapekeys from one mesh to another","archive_hash":"sha256:769278803ab26c411354aec6ded13c4017af8c85a8e9e23eba44434c1467d24b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:769278803ab26c411354aec6ded13c4017af8c85a8e9e23eba44434c1467d24b/add-on-copyshapekeys-v3.4.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copyshapekeys/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Animation"]},{"id":"Control_Render_Regions","schema_version":"1.0.0","name":"Control Render Regions","version":"1.0.11","tagline":"Manage renders in region","archive_hash":"sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c","archive_size":2586090,"archive_url":"https://extensions.blender.org/download/sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c/add-on-control-render-regions-v1.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/control-render-regions/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal and render regions"},"platforms":["windows-x64"],"tags":["Render","Pipeline"]},{"id":"ftl_exporter","schema_version":"1.0.0","name":"3dverse Exporter","version":"1.0.1","tagline":"Export blender project to 3dverse (scene, meshes, materials)","archive_hash":"sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291","archive_size":13274,"archive_url":"https://extensions.blender.org/download/sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291/add-on-ftl-exporter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ftl-exporter/","maintainer":"Nathalie-Raffray","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary 3dverse files to then export to server","network":"Need to export blender project to 3dverse server"},"tags":["Import-Export"]},{"id":"Night_Rain_Theme","schema_version":"1.0.0","name":"Night_Rain_Theme","version":"2.1.4","tagline":"Transparent Dark Grey","archive_hash":"sha256:5db07c3e0d1768706b9556810a3b3ede2b2757a00c65719e3fbda252e950c53c","archive_size":5605,"archive_url":"https://extensions.blender.org/download/sha256:5db07c3e0d1768706b9556810a3b3ede2b2757a00c65719e3fbda252e950c53c/theme-night-rain-theme-v2.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/night-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"nla_midi_copier","schema_version":"1.0.0","name":"NLA Midi Copier","version":"1.2.0","tagline":"NLA and Graph Editor tools for syncing animation to midi files","archive_hash":"sha256:4acdaac298dd38372982087e4cacfa908780bd4993be62204d9df9b194fc30b2","archive_size":115530,"archive_url":"https://extensions.blender.org/download/sha256:4acdaac298dd38372982087e4cacfa908780bd4993be62204d9df9b194fc30b2/add-on-nla-midi-copier-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nla-midi-copier/","maintainer":"Cornerback24","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read midi files from disk"},"tags":["Animation"]},{"id":"blender_mqo","schema_version":"1.0.0","name":"MQO (Metasequoia) Format File Importer/Exporter","version":"2.0.0","tagline":"Import/Export MQO format files","archive_hash":"sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171","archive_size":21616,"archive_url":"https://extensions.blender.org/download/sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171/add-on-blender-mqo-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-mqo/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export MQO from/to disk"},"tags":["Import-Export"]},{"id":"core_debug_tools","schema_version":"1.0.0","name":"Core Debug Tools","version":"0.1.0","tagline":"Debugging utilities for core Blender developers","archive_hash":"sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20","archive_size":629513,"archive_url":"https://extensions.blender.org/download/sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20/add-on-core-debug-tools-v0.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/core-debug-tools/","maintainer":"JacquesLucke","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Build temporary html files to view in the browser"},"tags":["Development"]},{"id":"twformats","schema_version":"1.0.0","name":"Teeworlds and DDNet Map import","version":"0.4.1","tagline":"Import Teeworlds and DDNet maps","archive_hash":"sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5","archive_size":9592799,"archive_url":"https://extensions.blender.org/download/sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5/add-on-twformats-v0.4.1-linux-x64-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/twformats/","maintainer":"Patiga","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export files from/to disk"},"platforms":["linux-x64","windows-x64"],"tags":["Import-Export"]},{"id":"Graphite_Mono_Theme","schema_version":"1.0.0","name":"Graphite_Mono_Theme","version":"3.2.3","tagline":"Steel Grey","archive_hash":"sha256:25ef59421abd5855e63c07286ca2283c80fa43941ed06afa5c50c4e8093c8914","archive_size":5814,"archive_url":"https://extensions.blender.org/download/sha256:25ef59421abd5855e63c07286ca2283c80fa43941ed06afa5c50c4e8093c8914/theme-graphite-mono-theme-v3.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/graphite-mono-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"io_import_pixelart","schema_version":"1.0.0","name":"Import Pixel Art","version":"1.2.1","tagline":"Imports pixel art as colored cubes or squares for each pixel","archive_hash":"sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1","archive_size":5860,"archive_url":"https://extensions.blender.org/download/sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1/add-on-io-import-pixelart-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-pixelart/","maintainer":"bloody_albatross","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import pixel art from disk"},"tags":["Import-Export"]},{"id":"scene_workspaces","schema_version":"1.0.0","name":"Scene Workspaces","version":"1.1.1","tagline":"Filter and sort your workspaces, scene by scene","archive_hash":"sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a","archive_size":8786,"archive_url":"https://extensions.blender.org/download/sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a/add-on-scene-workspaces-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-workspaces/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System","User Interface"]},{"id":"clean_game_asset_exporter","schema_version":"1.0.0","name":"Clean Game Asset Exporter","version":"1.0.0","tagline":"Game asset exporter for the Defold game engine","archive_hash":"sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3","archive_size":4988,"archive_url":"https://extensions.blender.org/download/sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3/add-on-clean-game-asset-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clean-game-asset-exporter/","maintainer":"DeBolt","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export game asset files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"aligning_horizontally_mini","schema_version":"1.0.0","name":"Aligning Horizontally Mini","version":"1.0.1","tagline":"Align selected objects in a customizable grid in the 3D viewport","archive_hash":"sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35","archive_size":3511,"archive_url":"https://extensions.blender.org/download/sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35/add-on-aligning-horizontally-mini-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/aligning-horizontally-mini/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"lead_edge_maze_ash_creator","schema_version":"1.0.0","name":"Lead Edge Maze Ash Creator","version":"2.4.1","tagline":"Lead Edge Maze Ash","archive_hash":"sha256:003291b86247ce09847fd955f2f3fcc0433162af279eb1d262a35e0fd36fb541","archive_size":11149,"archive_url":"https://extensions.blender.org/download/sha256:003291b86247ce09847fd955f2f3fcc0433162af279eb1d262a35e0fd36fb541/add-on-lead-edge-maze-ash-creator-v2.4.1.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/lead-edge-maze-ash-creator/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"f1dg3t_blender_red","schema_version":"1.0.0","name":"F1dg3t Red","version":"1.1.0","tagline":"Perfect for Shadow State 2","archive_hash":"sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680","archive_size":6491,"archive_url":"https://extensions.blender.org/download/sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680/theme-f1dg3t-blender-red-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/f1dg3t-blender-red/","maintainer":"F1dg3t","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"VMD","schema_version":"1.0.0","name":"vmdesk","version":"5.0.0","tagline":"Interactive editor environment in 3D Viewport","archive_hash":"sha256:4a46a8587281dd636ab45759fbbd1a66868e1be0691d6422e246b105dd483b5a","archive_size":10169041,"archive_url":"https://extensions.blender.org/download/sha256:4a46a8587281dd636ab45759fbbd1a66868e1be0691d6422e246b105dd483b5a/add-on-vmd-v5.0.0.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/vmd/","maintainer":"Y.T-LAW","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export from disk to user-supplied path","clipboard":"Copy and paste from shortcut/UI"},"tags":["3D View","Modeling","Mesh","Object","User Interface"]},{"id":"govietools","schema_version":"1.0.0","name":"Govie Tools","version":"1.0.20","tagline":"Optimize your model for use in the Govie Editor","archive_hash":"sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476","archive_size":123018,"archive_url":"https://extensions.blender.org/download/sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476/add-on-govietools-v1.0.20.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/govietools/","maintainer":"3D-Interaction-Technologies","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export GLB to disk"},"tags":["Scene","Import-Export"]},{"id":"microscopynodes","schema_version":"1.0.0","name":"Microscopy Nodes","version":"2.2.7","tagline":"Handling microscopy data in Blender, up to 5D volumes","archive_hash":"sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b","archive_size":49077670,"archive_url":"https://extensions.blender.org/download/sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b/add-on-microscopynodes-v2.2.7-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/microscopynodes/","maintainer":"Aafke-Gros","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk, writing to cache folder","network":"Loading OME-zarr files from the internet from a given URL"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"new_object_from_selected_geometry","schema_version":"1.0.0","name":"New Object From Selected Geometry","version":"1.0.2","tagline":"Creates a new object from the selected geometry in Edit mode","archive_hash":"sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f","archive_size":13392,"archive_url":"https://extensions.blender.org/download/sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f/add-on-new-object-from-selected-geometry-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/new-object-from-selected-geometry/","maintainer":"Giambattista-Caltabiano","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Metaseq_Classic_theme","schema_version":"1.0.0","name":"Metaseq_Classic","version":"1.0.1","tagline":"Classic light Metasequoia-style theme","archive_hash":"sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a","archive_size":36342,"archive_url":"https://extensions.blender.org/download/sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a/theme-metaseq-classic-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-classic-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Xromm_Tools","schema_version":"1.0.0","name":"XROMM toolkit","version":"0.9.6","tagline":"XROMM toolkit for Blender","archive_hash":"sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771","archive_size":18986,"archive_url":"https://extensions.blender.org/download/sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771/add-on-xromm-tools-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/xromm-tools/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"io_scene_ase","schema_version":"1.0.0","name":"ASCII Scene Export (.ase)","version":"2.2.1","tagline":"Export .ase files used in Unreal Engine 1 & 2","archive_hash":"sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494","archive_size":13786,"archive_url":"https://extensions.blender.org/download/sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494/add-on-io-scene-ase-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-ase/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .ase files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"blender_magicavoxel","schema_version":"1.0.0","name":"MagicaVoxel VOX format","version":"1.5.7","tagline":"Importer addon for MagicaVoxel vox files","archive_hash":"sha256:30f41041bb989380687699ec6b47ec6457e438c922ff71be6e93f99b68fe8d0d","archive_size":24371,"archive_url":"https://extensions.blender.org/download/sha256:30f41041bb989380687699ec6b47ec6457e438c922ff71be6e93f99b68fe8d0d/add-on-blender-magicavoxel-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-magicavoxel/","maintainer":"AstrorEnales","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"permissions":{"files":"Import VOX from disk"},"tags":["Import-Export"]},{"id":"odyssey_eobet_remix","schema_version":"1.0.0","name":"Odyssey eobet Remix","version":"2.0.1","tagline":"Theme highlighting the active object","archive_hash":"sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743","archive_size":5970,"archive_url":"https://extensions.blender.org/download/sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743/theme-odyssey-eobet-remix-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/odyssey-eobet-remix/","maintainer":"eobet","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"PieMenu_Everywhere","schema_version":"1.0.0","name":"PieMenu Everywhere","version":"1.4.5","tagline":"Maximize your efficiency with PieMenu Everywhere","archive_hash":"sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84","archive_size":438388,"archive_url":"https://extensions.blender.org/download/sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84/add-on-piemenu-everywhere-v1.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/piemenu-everywhere/","maintainer":"DeathShot-747","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline","3D View","Node"]},{"id":"Partybots_converter","schema_version":"1.0.0","name":"Partybots converter","version":"1.0.4","tagline":"This is a addon to build partybots maps","archive_hash":"sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00","archive_size":5333,"archive_url":"https://extensions.blender.org/download/sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00/add-on-partybots-converter-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/partybots-converter/","maintainer":"vuyghu2020","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To write the compiled output to the clipbord"},"tags":["3D View","Object","Game Engine"]},{"id":"add_airfoil","schema_version":"1.0.0","name":"Add Airfoil","version":"2.0.0","tagline":"Import Airfoil Dat Files into Blender","archive_hash":"sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae","archive_size":2356,"archive_url":"https://extensions.blender.org/download/sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae/add-on-add-airfoil-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-airfoil/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"atomic_blender_cluster","schema_version":"1.0.0","name":"Atomic Blender Cluster","version":"1.0.0","tagline":"Creating atom clusters or nanoparticles in Blender","archive_hash":"sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18","archive_size":11917,"archive_url":"https://extensions.blender.org/download/sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18/add-on-atomic-blender-cluster-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-cluster/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"add_positive_cube","schema_version":"1.0.0","name":"Add Positive Cube","version":"1.0.2","tagline":"Adds a cube with its origin at the corner","archive_hash":"sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807","archive_size":2022,"archive_url":"https://extensions.blender.org/download/sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807/add-on-add-positive-cube-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-positive-cube/","maintainer":"jefftml","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","3D View"]},{"id":"theme_modo","schema_version":"1.0.0","name":"Modo","version":"2.0.0","tagline":"Community-made theme inspired by Modo","archive_hash":"sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f","archive_size":5822,"archive_url":"https://extensions.blender.org/download/sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f/theme-theme-modo-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-modo/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"stl_format_legacy","schema_version":"1.0.0","name":"STL format (legacy)","version":"1.1.4","tagline":"Import-Export STL files","archive_hash":"sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6","archive_size":7513,"archive_url":"https://extensions.blender.org/download/sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6/add-on-stl-format-legacy-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stl-format-legacy/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"atomic_blender_pdb_xyz","schema_version":"1.0.0","name":"Atomic Blender PDB/XYZ","version":"1.9.1","tagline":"Importing atoms listed in PDB and XYZ files into Blender","archive_hash":"sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268","archive_size":51000,"archive_url":"https://extensions.blender.org/download/sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268/add-on-atomic-blender-pdb-xyz-v1.9.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-pdb-xyz/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"geodesic_domes","schema_version":"1.0.0","name":"Geodesic Domes","version":"0.3.6","tagline":"Create geodesic dome type objects","archive_hash":"sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0","archive_size":25222,"archive_url":"https://extensions.blender.org/download/sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0/add-on-geodesic-domes-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geodesic-domes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"ui_animation_render","schema_version":"1.0.0","name":"UI Animation Render","version":"0.1.0","tagline":"Render animations of the Blender UI","archive_hash":"sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29","archive_size":2426,"archive_url":"https://extensions.blender.org/download/sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29/add-on-ui-animation-render-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ui-animation-render/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"pov_at_ble","schema_version":"1.0.0","name":"POV@Ble (Legacy)","version":"0.1.6","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339","archive_size":302310,"archive_url":"https://extensions.blender.org/download/sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339/add-on-pov-at-ble-v0.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pov-at-ble/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render"]},{"id":"inset_straight_skeleton","schema_version":"1.0.0","name":"Inset Straight Skeleton","version":"1.1.0","tagline":"Make an inset inside selection using straight skeleton algo . . ","archive_hash":"sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553","archive_size":33199,"archive_url":"https://extensions.blender.org/download/sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553/add-on-inset-straight-skeleton-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/inset-straight-skeleton/","maintainer":"howardt","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"refine_tracking_solution","schema_version":"1.0.0","name":"Refine tracking solution","version":"1.1.6","tagline":"Refine motion solution by adjusting track weight","archive_hash":"sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f","archive_size":2210,"archive_url":"https://extensions.blender.org/download/sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f/add-on-refine-tracking-solution-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/refine-tracking-solution/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"assign_shape_keys","schema_version":"1.0.0","name":"Assign Shape Keys","version":"1.0.2","tagline":"Assigns one or more Bezier curves as shape keys to another . . ","archive_hash":"sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1","archive_size":10143,"archive_url":"https://extensions.blender.org/download/sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1/add-on-assign-shape-keys-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/assign-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"export_pointcache_formatpc2","schema_version":"1.0.0","name":"Export Pointcache Format(.pc2)","version":"1.1.4","tagline":"Export mesh Pointcache data (.pc2)","archive_hash":"sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805","archive_size":2683,"archive_url":"https://extensions.blender.org/download/sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805/add-on-export-pointcache-formatpc2-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-pointcache-formatpc2/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .pc2 file"},"tags":["Import-Export"]},{"id":"corrective_shape_keys","schema_version":"1.0.0","name":"Corrective Shape Keys","version":"1.0.0","tagline":"Creates a corrective shape key for the current pose","archive_hash":"sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19","archive_size":4821,"archive_url":"https://extensions.blender.org/download/sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19/add-on-corrective-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/corrective-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"freestyle_svg_exporter","schema_version":"1.0.0","name":"Freestyle SVG Exporter","version":"1.0.0","tagline":"Exports Freestyle's stylized edges in SVG format","archive_hash":"sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b","archive_size":7691,"archive_url":"https://extensions.blender.org/download/sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b/add-on-freestyle-svg-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/freestyle-svg-exporter/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"edit_operator_source","schema_version":"1.0.0","name":"Edit Operator Source","version":"1.2.4","tagline":"Opens source file of chosen operator or call locations","archive_hash":"sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc","archive_size":2897,"archive_url":"https://extensions.blender.org/download/sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc/add-on-edit-operator-source-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-operator-source/","maintainer":"scorpion81","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"copy_render_settings","schema_version":"1.0.0","name":"Copy Render Settings","version":"2.0.0","tagline":"Allows to copy a selection of render settings from current . . ","archive_hash":"sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0","archive_size":7786,"archive_url":"https://extensions.blender.org/download/sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0/add-on-copy-render-settings-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-render-settings/","maintainer":"mont29","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"newtek_mdd_format","schema_version":"1.0.0","name":"NewTek MDD format","version":"1.0.3","tagline":"Import-Export MDD as mesh shape keys","archive_hash":"sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759","archive_size":4368,"archive_url":"https://extensions.blender.org/download/sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759/add-on-newtek-mdd-format-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/newtek-mdd-format/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with MDD format files"},"tags":["Import-Export"]},{"id":"demo_mode","schema_version":"1.0.0","name":"Demo Mode","version":"1.0.0","tagline":"Demo mode lets you select multiple blend files and loop ove . . ","archive_hash":"sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62","archive_size":9071,"archive_url":"https://extensions.blender.org/download/sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62/add-on-demo-mode-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/demo-mode/","maintainer":"campbell","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"scene_information","schema_version":"1.0.0","name":"Scene Information","version":"0.3.1","tagline":"Show information about the .blend","archive_hash":"sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6","archive_size":1816,"archive_url":"https://extensions.blender.org/download/sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6/add-on-scene-information-v0.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-information/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"paint_palettes","schema_version":"1.0.0","name":"Paint Palettes","version":"0.9.4","tagline":"Palettes for color and weight paint modes","archive_hash":"sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321","archive_size":6133,"archive_url":"https://extensions.blender.org/download/sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321/add-on-paint-palettes-v0.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-palettes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Paint"]},{"id":"nuke_animation_format_chan","schema_version":"1.0.0","name":"Nuke Animation Format (.chan)","version":"1.0.0","tagline":"Import/Export object's animation with nuke","archive_hash":"sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9","archive_size":4340,"archive_url":"https://extensions.blender.org/download/sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9/add-on-nuke-animation-format-chan-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nuke-animation-format-chan/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export"]},{"id":"btracer","schema_version":"1.0.0","name":"BTracer","version":"1.2.4","tagline":"Tools for converting/animating objects/particles into curves","archive_hash":"sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064","archive_size":17367,"archive_url":"https://extensions.blender.org/download/sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064/add-on-btracer-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/btracer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"web3d_x3d_vrml2_format","schema_version":"1.0.0","name":"Web3D X3D/VRML2 format","version":"2.5.1","tagline":"Import-Export X3D, Import VRML2","archive_hash":"sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604","archive_size":100153,"archive_url":"https://extensions.blender.org/download/sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604/add-on-web3d-x3d-vrml2-format-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/","maintainer":"Bujus_Krachus","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to access files for import/export","network":"Required to download web resources for import"},"tags":["Import-Export"]},{"id":"export_camera_animation","schema_version":"1.0.0","name":"Export Camera Animation","version":"0.1.2","tagline":"Export Cameras & Markers to a Python script","archive_hash":"sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed","archive_size":2057,"archive_url":"https://extensions.blender.org/download/sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed/add-on-export-camera-animation-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-camera-animation/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .py file"},"tags":["Import-Export"]},{"id":"cadbase_library","schema_version":"1.0.0","name":"CADBase Library","version":"0.3.0","tagline":"Add-on enables data sync with remote storage (cloud)","archive_hash":"sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be","archive_size":190158,"archive_url":"https://extensions.blender.org/download/sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be/add-on-cadbase-library-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cadbase-library/","maintainer":"mnnxp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export library data from/to disk","network":"Need to to sync library data with a remote server","clipboard":"Copy component link to clipboard"},"tags":["Import-Export"]},{"id":"forts_map","schema_version":"1.0.0","name":"Forts Map Importer","version":"1.0.1","tagline":"Import Forts Map","archive_hash":"sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66","archive_size":4234,"archive_url":"https://extensions.blender.org/download/sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66/add-on-forts-map-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/forts-map/","maintainer":"Gonnetz","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Import-Export"]},{"id":"democap_tools","schema_version":"1.0.0","name":"DEMoCap Tools","version":"1.0.4","tagline":"Tools for importing DEMoCap motion captures into Blender","archive_hash":"sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e","archive_size":114185,"archive_url":"https://extensions.blender.org/download/sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e/add-on-democap-tools-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/democap-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading motion capture files","network":"Connect to DEMoCap (Live Connection)"},"tags":["Import-Export","3D View","Object","Animation"]},{"id":"dragengine_tools","schema_version":"1.0.0","name":"Drag[en]gine Import/Export","version":"1.29.1","tagline":"Import/Export Drag[en]gine Resources including helper tools","archive_hash":"sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a","archive_size":115706,"archive_url":"https://extensions.blender.org/download/sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a/add-on-dragengine-tools-v1.29.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragengine-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing/Exporting resources"},"tags":["Import-Export","3D View","Mesh","Object","Animation"]}],"version":"v1"} \ No newline at end of file +{"blocklist":[],"data":[{"id":"two_point_ex","schema_version":"1.0.0","name":"Two Point Ex","version":"1.0.0","tagline":"A retro theme inspired by Blender 2.2x and before","archive_hash":"sha256:862589b1ae300cc5d200cdf9f952068e7532641704b058b3e1b6daf20cd55ba4","archive_size":5902,"archive_url":"https://extensions.blender.org/download/sha256:862589b1ae300cc5d200cdf9f952068e7532641704b058b3e1b6daf20cd55ba4/theme-two-point-ex-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/two-point-ex/","maintainer":"eyecandy","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Inspired By"]},{"id":"storytools","schema_version":"1.0.0","name":"Storytools - Storyboard Tools","version":"3.3.0","tagline":"Set of tools for Storyboarding and 2D animation","archive_hash":"sha256:23ca38b0aab86e844042941e8eddd547a775414b908fe77a5c76016a048bd338","archive_size":303321,"archive_url":"https://extensions.blender.org/download/sha256:23ca38b0aab86e844042941e8eddd547a775414b908fe77a5c76016a048bd338/add-on-storytools-v3.3.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/storytools/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Grease Pencil","3D View"]},{"id":"pseudo_rendering_farm","schema_version":"1.0.0","name":"Pseudo Rendering Farm","version":"0.9.0","tagline":"Spawns multiple background processes to render the current file","archive_hash":"sha256:b65dfe192b329567a471b886fe34a29e12cb5c27ab419097bffa2f19dad13504","archive_size":3685,"archive_url":"https://extensions.blender.org/download/sha256:b65dfe192b329567a471b886fe34a29e12cb5c27ab419097bffa2f19dad13504/add-on-pseudo-rendering-farm-v0.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pseudo-rendering-farm/","maintainer":"mklimenko","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to manage output files and temporary benchmark data"},"tags":["Render"]},{"id":"home_builder_5","schema_version":"1.0.0","name":"Home Builder 5","version":"5.0.1","tagline":"Design interior spaces with parametric cabinets","archive_hash":"sha256:cce25cf135ae3870912977f7b6eb83388e5bd610b65292576496f1fdd94ea7d7","archive_size":16932274,"archive_url":"https://extensions.blender.org/download/sha256:cce25cf135ae3870912977f7b6eb83388e5bd610b65292576496f1fdd94ea7d7/add-on-home-builder-5-v5.0.1-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/home-builder-5/","maintainer":"AndrewPeel","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/load project files, export PDFs and layouts"},"platforms":["windows-x64"],"tags":["Add Mesh","Scene"]},{"id":"shapekey_axis_control","schema_version":"1.0.0","name":"ShapeKey Axis Control","version":"4.0.42","tagline":"Control shape keys using a 2D Axis HUD Joystick","archive_hash":"sha256:612c61ada4461e4fb063fbfdd9dccb8e20166a9a4b24ba90d95761022d650cee","archive_size":9690484,"archive_url":"https://extensions.blender.org/download/sha256:612c61ada4461e4fb063fbfdd9dccb8e20166a9a4b24ba90d95761022d650cee/add-on-shapekey-axis-control-v4.0.42.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapekey-axis-control/","maintainer":"Axnise","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"grease_mesh","schema_version":"1.0.0","name":"Grease Mesh","version":"1.0.3","tagline":"Easy toolbox for creating meshes from Grease Pencil","archive_hash":"sha256:28e3c5fb0dda3941892a0cf91cff7c67d0213612c2894aaa7c2c28a043901900","archive_size":36809,"archive_url":"https://extensions.blender.org/download/sha256:28e3c5fb0dda3941892a0cf91cff7c67d0213612c2894aaa7c2c28a043901900/add-on-grease-mesh-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grease-mesh/","maintainer":"Tonis","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Grease Pencil","Modeling"]},{"id":"palette","schema_version":"1.0.0","name":"Palette","version":"1.1.5","tagline":"Load 600+ terminal palettes as complete Blender UI themes","archive_hash":"sha256:bf9563590e4eb6603e3d33bc4dd54bcc272dc3ed28bcd9bffb751e1ec337230c","archive_size":53305,"archive_url":"https://extensions.blender.org/download/sha256:bf9563590e4eb6603e3d33bc4dd54bcc272dc3ed28bcd9bffb751e1ec337230c/add-on-palette-v1.1.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/palette/","maintainer":"NXSTYNATE","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Caches themes locally","network":"Downloads color schemes from GitHub repositories"},"tags":["User Interface"]},{"id":"b_onion_skin","schema_version":"1.0.0","name":"B Onion Skin","version":"1.0.0","tagline":"Onion skinning for 3D animation","archive_hash":"sha256:6e976d6e74649431a61224918b7d505da2b5620419e3def201841386c1277fc9","archive_size":10458,"archive_url":"https://extensions.blender.org/download/sha256:6e976d6e74649431a61224918b7d505da2b5620419e3def201841386c1277fc9/add-on-b-onion-skin-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-onion-skin/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"import_paint_brush","schema_version":"1.0.0","name":"Import Paint Brushes","version":"0.4.0","tagline":"Parsing several brush formats of painting software","archive_hash":"sha256:8757073919c0d49df138f4ebe5c4c126e4a68acdeb4622188637bfc1ca37abdf","archive_size":29373,"archive_url":"https://extensions.blender.org/download/sha256:8757073919c0d49df138f4ebe5c4c126e4a68acdeb4622188637bfc1ca37abdf/add-on-import-paint-brush-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-paint-brush/","maintainer":"chsh2","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import brush files from disk"},"tags":["Import-Export","Paint","Sculpt","Grease Pencil"]},{"id":"texture_mixer","schema_version":"1.0.0","name":"Texture Mixer","version":"0.1.1","tagline":"Layer-based PBR mixing and texture management","archive_hash":"sha256:b32909cebb5fe5369de8344f38d6ee6f7aca7d8e75305ad168e0002fb2a5971b","archive_size":287099,"archive_url":"https://extensions.blender.org/download/sha256:b32909cebb5fe5369de8344f38d6ee6f7aca7d8e75305ad168e0002fb2a5971b/add-on-texture-mixer-v0.1.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/texture-mixer/","maintainer":"MoonRaider","license":["SPDX:GPL-3.0-or-later"]},{"id":"poly_copy_paste","schema_version":"1.0.0","name":"Poly Copy Paste","version":"1.0.3","tagline":"Copy / Cut / Paste polygons with Ctrl+C / Ctrl+X / Ctrl+V","archive_hash":"sha256:b40714c0b14ccb768539ac4906e03ef91cd167361be51985671a49c608732942","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:b40714c0b14ccb768539ac4906e03ef91cd167361be51985671a49c608732942/add-on-poly-copy-paste-v1.0.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/poly-copy-paste/","maintainer":"Fisch_Tu","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"delete_empty_nla_tracks","schema_version":"1.0.0","name":"Delete Empty NLA Tracks","version":"1.0.0","tagline":"Remove empty NLA tracks from all objects","archive_hash":"sha256:e49031699498ec0f3bfd8904a6a29b30e0848f2d6443915298b63552999b6624","archive_size":2118,"archive_url":"https://extensions.blender.org/download/sha256:e49031699498ec0f3bfd8904a6a29b30e0848f2d6443915298b63552999b6624/add-on-delete-empty-nla-tracks-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/delete-empty-nla-tracks/","maintainer":"Rikokenz","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Cyberpunk_2077_UI","schema_version":"1.0.0","name":"Cyberpunk_2077_UI","version":"1.1.2","tagline":"Colorful Futuristic Dystopian","archive_hash":"sha256:b558a5d6e3b0a50ddd9a64482abcaec1fd77375b6343f4ddd7b5aa5276ff8d46","archive_size":5549,"archive_url":"https://extensions.blender.org/download/sha256:b558a5d6e3b0a50ddd9a64482abcaec1fd77375b6343f4ddd7b5aa5276ff8d46/theme-cyberpunk-2077-ui-v1.1.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cyberpunk-2077-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"smart_selection_propagation","schema_version":"1.0.0","name":"Smart Selection Propagation","version":"1.0.0","tagline":"Advanced topology-based selection of similar mesh elements","archive_hash":"sha256:e297789ec5d939ad212de504908c143b963108c3bc4c2b28f23a87fccab6da13","archive_size":6632,"archive_url":"https://extensions.blender.org/download/sha256:e297789ec5d939ad212de504908c143b963108c3bc4c2b28f23a87fccab6da13/add-on-smart-selection-propagation-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-selection-propagation/","maintainer":"atrxi","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling","3D View"]},{"id":"ROSE2_theme","schema_version":"1.0.0","name":"theme ROSE","version":"1.0.0","tagline":"Soft pink theme, dark","archive_hash":"sha256:22a391c485c6efc8c7d4dfe060ff17d177d47fcf205abaa0763fc474e609b640","archive_size":6432,"archive_url":"https://extensions.blender.org/download/sha256:22a391c485c6efc8c7d4dfe060ff17d177d47fcf205abaa0763fc474e609b640/theme-rose2-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rose2-theme/","maintainer":"5Lunes","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"arknights_endfield_theme","schema_version":"1.0.0","name":"Arknights: Endfield","version":"1.0.1","tagline":"Theme inspired by Arknights: Endfield game UI","archive_hash":"sha256:8c151906dba63d9240bb2fa29b0024df03bfd516d5bc665d260d19b7e2de7d52","archive_size":5545,"archive_url":"https://extensions.blender.org/download/sha256:8c151906dba63d9240bb2fa29b0024df03bfd516d5bc665d260d19b7e2de7d52/theme-arknights-endfield-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/arknights-endfield-theme/","maintainer":"RAZUMNO","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"motion_sounds","schema_version":"1.0.0","name":"Motion Sounds","version":"0.9.0","tagline":"Add sounds to your animation based on motion events","archive_hash":"sha256:62f25e1acafc6b4af5389f1b9d4e685ef0cb44062b74bff00ff70e08109d90e0","archive_size":187022,"archive_url":"https://extensions.blender.org/download/sha256:62f25e1acafc6b4af5389f1b9d4e685ef0cb44062b74bff00ff70e08109d90e0/add-on-motion-sounds-v0.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motion-sounds/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"fk_ik_snapping_tools","schema_version":"1.0.0","name":"FK/IK Snapping Tools","version":"1.0.0","tagline":"Seamlessly snap FK controls to IK and vice versa","archive_hash":"sha256:002108bd615d7e54428eac30c42e80215c917e61d904ddbd33da0eb3c84118f2","archive_size":3458,"archive_url":"https://extensions.blender.org/download/sha256:002108bd615d7e54428eac30c42e80215c917e61d904ddbd33da0eb3c84118f2/add-on-fk-ik-snapping-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fk-ik-snapping-tools/","maintainer":"atrxi","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"gv_point_cloud_exporter","schema_version":"1.0.0","name":"PointCloud and Splat Exporter (.ply, .splat)","version":"0.1.2","tagline":"Export PointCloud and Splat data to PLY and SPLAT format","archive_hash":"sha256:b90aded08f08dc965ba8967b19b55e808de53e30df52231cb5d12c3941c21433","archive_size":15659,"archive_url":"https://extensions.blender.org/download/sha256:b90aded08f08dc965ba8967b19b55e808de53e30df52231cb5d12c3941c21433/add-on-gv-point-cloud-exporter-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gv-point-cloud-exporter/","maintainer":"GiancarloV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files on disk","network":"Send anonymous usage analytics to Plausible Analytics. (Opt-In)"},"tags":["Import-Export"]},{"id":"ThreeMF_io","schema_version":"1.0.0","name":"3MF Import/Export","version":"2.3.0","tagline":"Import and export 3D Manufacturing Format (3MF) files","archive_hash":"sha256:f758d86ad3b97418320aa2e5e48893525915f1f7fa37b15398ec1ba02e80641d","archive_size":269761,"archive_url":"https://extensions.blender.org/download/sha256:f758d86ad3b97418320aa2e5e48893525915f1f7fa37b15398ec1ba02e80641d/add-on-threemf-io-v2.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/threemf-io/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For import and export of 3MF files"},"tags":["Import-Export"]},{"id":"tetrominode","schema_version":"1.0.0","name":"Tetrominode","version":"0.4.6","tagline":"Play Tetris in Blender using Geometry Nodes","archive_hash":"sha256:c0f2fdedf0d3999ac0734992540b50bda5a982a38503097fd9b6521186bced0a","archive_size":254981,"archive_url":"https://extensions.blender.org/download/sha256:c0f2fdedf0d3999ac0734992540b50bda5a982a38503097fd9b6521186bced0a/add-on-tetrominode-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tetrominode/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Animation"]},{"id":"modular_tree","schema_version":"1.0.0","name":"Modular Tree","version":"5.5.0","tagline":"Procedural node based 3D tree generation","archive_hash":"sha256:ca71341d8ca1cf0d1da72a9d4591da0d90a4f83f6c8329de59c47e46da566453","archive_size":3442853,"archive_url":"https://extensions.blender.org/download/sha256:ca71341d8ca1cf0d1da72a9d4591da0d90a4f83f6c8329de59c47e46da566453/add-on-modular-tree-v5.5.0-windows-x64.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modular-tree/","maintainer":"Brandyn-Britton","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export pivot painter textures"},"platforms":["windows-x64"],"tags":["Mesh","Add Curve"]},{"id":"Expecto_Patronum_Theme","schema_version":"1.0.0","name":"Expecto_Patronum_Theme","version":"1.0.4","tagline":"Airy Guardian Spirit","archive_hash":"sha256:953fcee6436a16e31e8c1e9b758e39d95ab5368dd255fdf1536032491139eac8","archive_size":5720,"archive_url":"https://extensions.blender.org/download/sha256:953fcee6436a16e31e8c1e9b758e39d95ab5368dd255fdf1536032491139eac8/theme-expecto-patronum-theme-v1.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/expecto-patronum-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"oebs_icon_viewer","schema_version":"1.0.0","name":"OEBS Icon Viewer","version":"1.4.0","tagline":"Browse and Search Blender Icons","archive_hash":"sha256:4e795ee297e73aaec5f6e3c8409241de1854dc6e4b287b474b306f0e043a3042","archive_size":11719,"archive_url":"https://extensions.blender.org/download/sha256:4e795ee297e73aaec5f6e3c8409241de1854dc6e4b287b474b306f0e043a3042/add-on-oebs-icon-viewer-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/oebs-icon-viewer/","maintainer":"Eric-Mwangi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To copy icon names to the clipboard"},"tags":["Development","System"]},{"id":"easeit","schema_version":"1.0.0","name":"Easeit","version":"1.0.1","tagline":"Quickly apply easing presets to animation keyframes","archive_hash":"sha256:beea61edf4d85ca09c8e7653f893bd9bef25e7aecb7324931522fa2312400c3f","archive_size":60285,"archive_url":"https://extensions.blender.org/download/sha256:beea61edf4d85ca09c8e7653f893bd9bef25e7aecb7324931522fa2312400c3f/add-on-easeit-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easeit/","maintainer":"AndyCuccaro","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"siemen_lens_blender_autotrack","schema_version":"1.0.0","name":"AutoTrack","version":"4.0.2","tagline":"Automatic 3D Tracking and Solving","archive_hash":"sha256:fb4b325e22b8037fdb7c590efc56ee61c97af94c41a89285ca69169febee4d47","archive_size":19409,"archive_url":"https://extensions.blender.org/download/sha256:fb4b325e22b8037fdb7c590efc56ee61c97af94c41a89285ca69169febee4d47/add-on-siemen-lens-blender-autotrack-v4.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/siemen-lens-blender-autotrack/","maintainer":"Siemen-Lens","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Animation","Compositing","3D View"]},{"id":"node_note","schema_version":"1.0.0","name":"Node Note/节点随记","version":"1.2.5","tagline":"Powerful node notes with text and images/强大的节点图文笔记工具","archive_hash":"sha256:c6703456610b8285b384aff2a28af3d19f79591d8b333eef1a883aa5fb48415e","archive_size":32788,"archive_url":"https://extensions.blender.org/download/sha256:c6703456610b8285b384aff2a28af3d19f79591d8b333eef1a883aa5fb48415e/add-on-node-note-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-note/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import image or use font from disk","clipboard":"Paste text/image from the clipboard and copy text to clipboard"},"tags":["Node"]},{"id":"theme_mockup","schema_version":"1.0.0","name":"Mockup","version":"1.0.0","tagline":"Mockups to use with the (low-fi) Design System components","archive_hash":"sha256:e3588ff217ac36cfab5f0046a6f305b6cd21005a3b6039564169ab070569674e","archive_size":5395,"archive_url":"https://extensions.blender.org/download/sha256:e3588ff217ac36cfab5f0046a6f305b6cd21005a3b6039564169ab070569674e/theme-theme-mockup-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-mockup/","maintainer":"Blender","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"topology_doctor","schema_version":"1.0.0","name":"Topology Doctor","version":"1.0.0","tagline":"One-click topology analysis and repair assistant","archive_hash":"sha256:79c03ca9c72968c3badfb6ecd2e4aba1fbc6fd8818681c453ddc95ad1f4ad3dd","archive_size":16947,"archive_url":"https://extensions.blender.org/download/sha256:79c03ca9c72968c3badfb6ecd2e4aba1fbc6fd8818681c453ddc95ad1f4ad3dd/add-on-topology-doctor-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/topology-doctor/","maintainer":"Arman-Jangmiri","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Required to copy the topology analysis report text to clipboard"}},{"id":"mio3_flex","schema_version":"1.0.0","name":"Mio3 Flex","version":"1.0.4","tagline":"Reshape meshes into smooth freeform curves using paths","archive_hash":"sha256:bf945d9b3e16c43a7c073367785f0ec7e1fb274283ab31398dd8cd6b66334f05","archive_size":30030,"archive_url":"https://extensions.blender.org/download/sha256:bf945d9b3e16c43a7c073367785f0ec7e1fb274283ab31398dd8cd6b66334f05/add-on-mio3-flex-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mio3-flex/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"hdri_lightbrush","schema_version":"1.0.0","name":"HDRI LightBrush","version":"1.0.1","tagline":"Paint HDRIs on 3D sphere for precise studio lighting control","archive_hash":"sha256:2dd62f9b14e0adbeb049c31a26e9b4c36230e6d57140b494c62d2f4d2ed8f5dc","archive_size":144003,"archive_url":"https://extensions.blender.org/download/sha256:2dd62f9b14e0adbeb049c31a26e9b4c36230e6d57140b494c62d2f4d2ed8f5dc/add-on-hdri-lightbrush-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdri-lightbrush/","maintainer":"CadTamas","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export HDRI files (.exr, .hdr, .jpg, .png)"},"tags":["Lighting","Paint"]},{"id":"gamepadcontrol","schema_version":"1.0.0","name":"Gamepad Control","version":"0.1.2","tagline":"Use gamepads as input device to control Blender","archive_hash":"sha256:91cd1c62ff1c6f009b15f2058627ca927f91ccc237ad1cfd5b59af71bd04cc62","archive_size":4828055,"archive_url":"https://extensions.blender.org/download/sha256:91cd1c62ff1c6f009b15f2058627ca927f91ccc237ad1cfd5b59af71bd04cc62/add-on-gamepadcontrol-v0.1.2-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/gamepadcontrol/","maintainer":"Frank-Moelendoerp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export settings and controller modes"},"platforms":["windows-x64"],"tags":["System","User Interface"]},{"id":"LightNCreamy","schema_version":"1.0.0","name":"Light N Creamy","version":"1.0.0","tagline":"Modern light and creamy theme","archive_hash":"sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7","archive_size":3828,"archive_url":"https://extensions.blender.org/download/sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7/theme-lightncreamy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/lightncreamy/","maintainer":"nova3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"PivotTools","schema_version":"1.0.0","name":"Pivot Tools","version":"1.48.13","tagline":"Fast pivot placement with Auto Pick, BBox targets, Saved Pivots","archive_hash":"sha256:c4457381883495799f87d72226140492d101fecadb9f3021309503feb74438f8","archive_size":8530,"archive_url":"https://extensions.blender.org/download/sha256:c4457381883495799f87d72226140492d101fecadb9f3021309503feb74438f8/add-on-pivottools-v1.48.13.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/pivottools/","maintainer":"Quinzy","license":["SPDX:GPL-3.0-or-later"]},{"id":"geo_nodes_guide","schema_version":"1.0.0","name":"Geo Nodes Guide","version":"0.1.0","tagline":"Live documentation and examples for Geometry Nodes","archive_hash":"sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792","archive_size":93537,"archive_url":"https://extensions.blender.org/download/sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792/add-on-geo-nodes-guide-v0.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/geo-nodes-guide/","maintainer":"Addonyte","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Geometry Nodes"]},{"id":"linkforge","schema_version":"1.0.0","name":"LinkForge","version":"1.3.1","tagline":"The Linter & Bridge for Robotics","archive_hash":"sha256:4a5eb67e624263a9237f4bd7e330ea181d245a36ec9e521983bee814036cbafe","archive_size":370776,"archive_url":"https://extensions.blender.org/download/sha256:4a5eb67e624263a9237f4bd7e330ea181d245a36ec9e521983bee814036cbafe/add-on-linkforge-v1.3.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/linkforge/","maintainer":"Arouna-Patouossa-Mounchili","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export URDF/XACRO files"},"platforms":["windows-x64"],"tags":["Import-Export","Rigging","Physics","Pipeline"]},{"id":"retarget","schema_version":"1.0.0","name":"Retarget","version":"3.2.1","tagline":"Retargeting, convert to Rigify, Animation tools, Much more","archive_hash":"sha256:6a522e057ba19342ef2287d479b44f2ebecd90f8e6395cdbcd1c10d1a335ea17","archive_size":160700,"archive_url":"https://extensions.blender.org/download/sha256:6a522e057ba19342ef2287d479b44f2ebecd90f8e6395cdbcd1c10d1a335ea17/add-on-retarget-v3.2.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/retarget/","maintainer":"KBS-DEV","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"lodify_optimizer","schema_version":"1.0.0","name":"LODify","version":"2.8.0","tagline":"Full-Scenario Perf Opt: Textures, Decimation & Viewport Mgmt","archive_hash":"sha256:8c28c8a75273218a2c6002cfa1490da2da4694e2d398f9b3c06e4efdcce02bb9","archive_size":7066184,"archive_url":"https://extensions.blender.org/download/sha256:8c28c8a75273218a2c6002cfa1490da2da4694e2d398f9b3c06e4efdcce02bb9/add-on-lodify-optimizer-v2.8.0-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lodify-optimizer/","maintainer":"小T_sune","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to read and write texture files for resizing"},"platforms":["windows-x64"],"tags":["Object"]},{"id":"red_velvet_theme","schema_version":"1.0.0","name":"Red Velvet Theme","version":"1.0.0","tagline":"A cosmic red cyberpunk-inspired theme","archive_hash":"sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7/theme-red-velvet-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/red-velvet-theme/","maintainer":"Thunder-Artist","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"outliner_preview","schema_version":"1.0.0","name":"Outliner Model Preview","version":"1.1.1","tagline":"Preview selected model in the Outliner","archive_hash":"sha256:723fc74ef862d5adb00696ea998e3b5aebccb0d8b1be265eecaefcbdb630a1b5","archive_size":31912,"archive_url":"https://extensions.blender.org/download/sha256:723fc74ef862d5adb00696ea998e3b5aebccb0d8b1be265eecaefcbdb630a1b5/add-on-outliner-preview-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/outliner-preview/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"ftw3dforge_image_projector","schema_version":"1.0.0","name":"FTW3DForge Image Projector","version":"2.1.0","tagline":"Project images onto 3D meshes with real-time preview and baking","archive_hash":"sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf","archive_size":16305,"archive_url":"https://extensions.blender.org/download/sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf/add-on-ftw3dforge-image-projector-v2.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw3dforge-image-projector/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["UV","Mesh","Import-Export","Material"]},{"id":"smart_box_select","schema_version":"1.0.0","name":"Smart Box Select","version":"1.0.2","tagline":"Box/Lasso select with object activation","archive_hash":"sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa","archive_size":3800,"archive_url":"https://extensions.blender.org/download/sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa/add-on-smart-box-select-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-box-select/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"splashsurf_studio","schema_version":"1.0.0","name":"Splashsurf Studio","version":"1.0.1","tagline":"Surface reconstruction for particle-based fluid simulations","archive_hash":"sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c","archive_size":2732095,"archive_url":"https://extensions.blender.org/download/sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c/add-on-splashsurf-studio-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/splashsurf-studio/","maintainer":"Fabian-Löschner","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Add Mesh","Mesh","Object"]},{"id":"global_copy_nodes","schema_version":"1.0.0","name":"Global Copy Nodes","version":"1.0.5","tagline":"Copy nodes across .blend projects","archive_hash":"sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e","archive_size":21986,"archive_url":"https://extensions.blender.org/download/sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e/add-on-global-copy-nodes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/global-copy-nodes/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires reading & writing node copy buffer to disk"},"tags":["System","Node"]},{"id":"overscan_addon","schema_version":"1.0.0","name":"Overscan Addon","version":"1.1.1","tagline":"Adds Overscan to your renders","archive_hash":"sha256:3c95e0eb67926e0a9d4f546b139aca201d56da18403a021f4dbd4c2964a47ddb","archive_size":6772,"archive_url":"https://extensions.blender.org/download/sha256:3c95e0eb67926e0a9d4f546b139aca201d56da18403a021f4dbd4c2964a47ddb/add-on-overscan-addon-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan-addon/","maintainer":"eknath-kambagiri","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"sidebar_tab_search","schema_version":"1.0.0","name":"Sidebar Tab Search","version":"1.0.0","tagline":"Quick search and switch between Sidebar (N-Panel) tabs","archive_hash":"sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd","archive_size":18766,"archive_url":"https://extensions.blender.org/download/sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd/add-on-sidebar-tab-search-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sidebar-tab-search/","maintainer":"McKaa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"gizmo_resizer","schema_version":"1.0.0","name":"Gizmo Resizer","version":"2.3.0","tagline":"Resize viewport Gizmo with Numpad keys","archive_hash":"sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe","archive_size":15888,"archive_url":"https://extensions.blender.org/download/sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe/add-on-gizmo-resizer-v2.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gizmo-resizer/","maintainer":"CorentinBileau","license":["SPDX:GPL-3.0-or-later"]},{"id":"Mask_To_Vertex_Color_Pro","schema_version":"1.0.0","name":"MaskToVertexColorPro","version":"2.0.4","tagline":"Mask To VertexColor Pro Tools","archive_hash":"sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a","archive_size":30127,"archive_url":"https://extensions.blender.org/download/sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a/add-on-mask-to-vertex-color-pro-v2.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mask-to-vertex-color-pro/","maintainer":"墨泪MoLei_VFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images are required as masks"},"tags":["Paint","Material"]},{"id":"b_guides","schema_version":"1.0.0","name":"B Guides","version":"1.0.1","tagline":"composition with guides and rulers for the VSE and 3D Viewport","archive_hash":"sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57","archive_size":24706,"archive_url":"https://extensions.blender.org/download/sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57/add-on-b-guides-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-guides/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Sequencer"]},{"id":"selection_mode_cycler","schema_version":"1.0.0","name":"Selection Mode Cycler","version":"1.1.0","tagline":"Cycles through mesh selection modes in Edit Mode","archive_hash":"sha256:80a605bad154cec84404fa1f3a5b9db50846912d98fe07b5d790a03843d4ba12","archive_size":1414,"archive_url":"https://extensions.blender.org/download/sha256:80a605bad154cec84404fa1f3a5b9db50846912d98fe07b5d790a03843d4ba12/add-on-selection-mode-cycler-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/selection-mode-cycler/","maintainer":"Lise-2","license":["SPDX:GPL-3.0-or-later"]},{"id":"colornova","schema_version":"1.0.0","name":"COLOR-NOVA // SPECTRAL UV | M-87","version":"1.0.1","tagline":"Essential UV contrast. Absolute clarity for professional focus","archive_hash":"sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc","archive_size":6257,"archive_url":"https://extensions.blender.org/download/sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc/theme-colornova-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/colornova/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast","Colorful"]},{"id":"select_similar_geometry","schema_version":"1.0.0","name":"Select Similar Geometry","version":"1.3.0","tagline":"Select objects by percentage of matching vertices","archive_hash":"sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21","archive_size":397646,"archive_url":"https://extensions.blender.org/download/sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21/add-on-select-similar-geometry-v1.3.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/select-similar-geometry/","maintainer":"JuanRomero","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"matgeo","schema_version":"1.0.0","name":"MatGeo","version":"1.0.0","tagline":"Convert Materials to Geometry Nodes","archive_hash":"sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556","archive_size":9103,"archive_url":"https://extensions.blender.org/download/sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556/add-on-matgeo-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/matgeo/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Geometry Nodes","Node"]},{"id":"Cross_Select","schema_version":"1.0.0","name":"Cross Select","version":"1.0.6","tagline":"Select scene objects similar like RHINO or CAD","archive_hash":"sha256:bc66d1d42aa0f0a9f666fa5fd13e97ab31b2502dc679fc4ca305a0f745ce2e65","archive_size":30023,"archive_url":"https://extensions.blender.org/download/sha256:bc66d1d42aa0f0a9f666fa5fd13e97ab31b2502dc679fc4ca305a0f745ce2e65/add-on-cross-select-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cross-select/","maintainer":"RARA","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View","Scene","Node"]},{"id":"Dark_3d","schema_version":"1.0.0","name":"Dark 3d","version":"1.0.0","tagline":"Shaded Buttons","archive_hash":"sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad","archive_size":6664,"archive_url":"https://extensions.blender.org/download/sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad/theme-dark-3d-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-3d/","maintainer":"SammyTheBest","license":["SPDX:GPL-3.0-or-later"]},{"id":"bone_math","schema_version":"1.0.0","name":"Bone Math","version":"0.1.0","tagline":"Calculate pole angles, plus other bone related math","archive_hash":"sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c","archive_size":4795,"archive_url":"https://extensions.blender.org/download/sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c/add-on-bone-math-v0.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bone-math/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"surface_diagnostics","schema_version":"1.0.0","name":"Surface Diagnostics","version":"1.4.3","tagline":"Set of tools for diagnosing surface quality","archive_hash":"sha256:962fd2c89467104fae0bf139c1118e079fa7ff65ae8fbf692c741e2ef6c0d103","archive_size":1241115,"archive_url":"https://extensions.blender.org/download/sha256:962fd2c89467104fae0bf139c1118e079fa7ff65ae8fbf692c741e2ef6c0d103/add-on-surface-diagnostics-v1.4.3.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/surface-diagnostics/","maintainer":"JLBöhm","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Geometry Nodes"]},{"id":"savepoints","schema_version":"1.0.0","name":"SavePoints","version":"1.5.2","tagline":"Visual version control, easy restore, and automatic timelapse","archive_hash":"sha256:a3299c0dde53838e75fd7f4c75750f4cfc579203ea0382fcc55484f37f9d9cab","archive_size":100533,"archive_url":"https://extensions.blender.org/download/sha256:a3299c0dde53838e75fd7f4c75750f4cfc579203ea0382fcc55484f37f9d9cab/add-on-savepoints-v1.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/savepoints/","maintainer":"unclepomedev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create version history and move deleted versions to trash"},"tags":["System","Pipeline","Render"]},{"id":"sprite_sheet_maker","schema_version":"1.0.0","name":"Sprite Sheet Maker","version":"5.1.1","tagline":"3D to 2D sprite sheet converter with optional pixelation","archive_hash":"sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329","archive_size":8711545,"archive_url":"https://extensions.blender.org/download/sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329/add-on-sprite-sheet-maker-v5.1.1-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sprite-sheet-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Animation","Render"]},{"id":"kanagawa","schema_version":"1.0.0","name":"Kanagawa","version":"1.0.1","tagline":"kanagawa.nvim for Blender","archive_hash":"sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d","archive_size":6190,"archive_url":"https://extensions.blender.org/download/sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d/theme-kanagawa-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/kanagawa/","maintainer":"timberlinefpv","license":["SPDX:GPL-3.0-or-later"]},{"id":"io_scene_owm","schema_version":"1.0.0","name":"OWM Import","version":"3.3.0","tagline":"Import files from the Overwatch extraction tools (DataTool)","archive_hash":"sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44","archive_size":279606,"archive_url":"https://extensions.blender.org/download/sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44/add-on-io-scene-owm-v3.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-owm/","maintainer":"overtools","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing files from disk"},"tags":["Import-Export"]},{"id":"io_xnalara","schema_version":"1.0.0","name":"XPS Import/Export","version":"2.2.6","tagline":"Import-Export for XNALara/XPS files","archive_hash":"sha256:c80378ac07423326908c18f542d132bc69ba043ff10d6eb67ebb828affb81ace","archive_size":172698,"archive_url":"https://extensions.blender.org/download/sha256:c80378ac07423326908c18f542d132bc69ba043ff10d6eb67ebb828affb81ace/add-on-io-xnalara-v2.2.6.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-xnalara/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"windows_xp_theme","schema_version":"1.0.0","name":"Windows XP","version":"1.0.0","tagline":"A light theme directly inspired by Windows XP","archive_hash":"sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a","archive_size":6634,"archive_url":"https://extensions.blender.org/download/sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a/theme-windows-xp-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/windows-xp-theme/","maintainer":"Alkalide","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"ZZZ","schema_version":"1.0.0","name":"ZZZ Theme","version":"1.0.1","tagline":"High-contrast dark theme with Zenless Zone Zero's signature","archive_hash":"sha256:c8dabb06a7b621ccd164b2de14001434b7fe9db60528059c65124a879371d29f","archive_size":5472,"archive_url":"https://extensions.blender.org/download/sha256:c8dabb06a7b621ccd164b2de14001434b7fe9db60528059c65124a879371d29f/theme-zzz-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zzz/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast"]},{"id":"Cyberpunk2077","schema_version":"1.0.0","name":"Cyberpunk 2077","version":"1.2.1","tagline":"A Cyberpunk 2077 theme for Blender","archive_hash":"sha256:5ed092e04488fc5446e0f030fbb143a223ec88178719fddf4f32ebba7d295a17","archive_size":5792,"archive_url":"https://extensions.blender.org/download/sha256:5ed092e04488fc5446e0f030fbb143a223ec88178719fddf4f32ebba7d295a17/theme-cyberpunk2077-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cyberpunk2077/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"mintLavender","schema_version":"1.0.0","name":"Mint Lavender Chill","version":"1.0.3","tagline":"A Mint lavender theme for Blender with Lo-fi aesthetics","archive_hash":"sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5","archive_size":5321,"archive_url":"https://extensions.blender.org/download/sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5/theme-mintlavender-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mintlavender/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"sleek_navy","schema_version":"1.0.0","name":"Sleek Navy","version":"1.0.0","tagline":"A clean dark-blue Blender theme","archive_hash":"sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420","archive_size":5546,"archive_url":"https://extensions.blender.org/download/sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420/theme-sleek-navy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/sleek-navy/","maintainer":"Martel6ix","license":["SPDX:MIT"]},{"id":"multirow","schema_version":"1.0.0","name":"Multirow","version":"1.0.1","tagline":"Text strips with line break","archive_hash":"sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1","archive_size":4445,"archive_url":"https://extensions.blender.org/download/sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1/add-on-multirow-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/multirow/","maintainer":"flakmoppen","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","Text Editor","User Interface"]},{"id":"viewport_camera_positions","schema_version":"1.0.0","name":"Lutaya Viewport Camera","version":"1.0.1","tagline":"Save and switch between camera positions with orthographic views","archive_hash":"sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b","archive_size":4336,"archive_url":"https://extensions.blender.org/download/sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b/add-on-viewport-camera-positions-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-camera-positions/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load camera position configurations"},"tags":["3D View","Camera"]},{"id":"sequence_loader","schema_version":"1.0.0","name":"Sequence Loader","version":"0.4.0","tagline":"Just-in-time loader for meshio-supported mesh file sequences","archive_hash":"sha256:20c6e8c30cd2c2aa4be1c56817a32562680841c20df0b7a6cff103d543f566ff","archive_size":629459,"archive_url":"https://extensions.blender.org/download/sha256:20c6e8c30cd2c2aa4be1c56817a32562680841c20df0b7a6cff103d543f566ff/add-on-sequence-loader-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sequence-loader/","maintainer":"Stefan-Jeske","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Core functionality to load files from disk"},"tags":["Import-Export"]},{"id":"automata_theme","schema_version":"1.0.0","name":"Automata","version":"2.0.0","tagline":"NieR inspired theme","archive_hash":"sha256:7999157fafef87293070f20c98d798e754bf156147cdc753687ffba29bb7a198","archive_size":5950,"archive_url":"https://extensions.blender.org/download/sha256:7999157fafef87293070f20c98d798e754bf156147cdc753687ffba29bb7a198/theme-automata-theme-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/automata-theme/","maintainer":"NSA-Cloud","license":["SPDX:GPL-3.0-or-later"]},{"id":"ani_offset","schema_version":"1.0.0","name":"Ani Offset","version":"3.2.2","tagline":"Propagate pose offsets across selected keyframes","archive_hash":"sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154","archive_size":3526,"archive_url":"https://extensions.blender.org/download/sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154/add-on-ani-offset-v3.2.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ani-offset/","maintainer":"Drika111","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"asset_optimizer","schema_version":"1.0.0","name":"Game Asset Optimizer","version":"1.0.2","tagline":"Optimize 3D models for Unity and Unreal Engine workflows","archive_hash":"sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b","archive_size":19580,"archive_url":"https://extensions.blender.org/download/sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b/add-on-asset-optimizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-optimizer/","maintainer":"Sudip-Soni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export optimized assets for Unity and Unreal Engine"},"tags":["Modeling","Mesh","Pipeline"]},{"id":"turntable_camera","schema_version":"1.0.0","name":"Turntable Camera","version":"0.1.2","tagline":"Camera Turntable Setup","archive_hash":"sha256:fa20577f3c12d4b6dd05802b7aacf3dd8d433753fc19b3bb8da3adb23ac2b3c5","archive_size":17413,"archive_url":"https://extensions.blender.org/download/sha256:fa20577f3c12d4b6dd05802b7aacf3dd8d433753fc19b3bb8da3adb23ac2b3c5/add-on-turntable-camera-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turntable-camera/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"copy_paste_nodes","schema_version":"1.0.0","name":"Copy/Paste Nodes","version":"0.1.5","tagline":"Copy nodes to and from the system clipboard as JSON","archive_hash":"sha256:5cd02f7fe4229a03fddb190f98410f4f1b5c049707de5587c3eb4c14a9609a88","archive_size":10746,"archive_url":"https://extensions.blender.org/download/sha256:5cd02f7fe4229a03fddb190f98410f4f1b5c049707de5587c3eb4c14a9609a88/add-on-copy-paste-nodes-v0.1.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copy-paste-nodes/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste nodes to the clipboard"},"tags":["Node"]},{"id":"mixamo_rig","schema_version":"1.0.0","name":"Mixamo Rig","version":"1.1.8","tagline":"Generate a control rig from Mixamo Fbx skeleton","archive_hash":"sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96","archive_size":171560,"archive_url":"https://extensions.blender.org/download/sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96/add-on-mixamo-rig-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.5.999","website":"https://extensions.blender.org/add-ons/mixamo-rig/","maintainer":"tyler.tofu","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Rigging"]},{"id":"img2mat_pro","schema_version":"1.0.0","name":"img2mat_pro","version":"1.10.0","tagline":"Extract color materials and paint palettes from images","archive_hash":"sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990","archive_size":9875,"archive_url":"https://extensions.blender.org/download/sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990/add-on-img2mat-pro-v1.10.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img2mat-pro/","maintainer":"stevewarner","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","User Interface","Pipeline"]},{"id":"anim_reviewer","schema_version":"1.0.0","name":"Anim Reviewer","version":"1.0.1","tagline":"Enhance blender playblast capabilities for animation review","archive_hash":"sha256:621573abf70024412858e7565266f3f4b0baccab858c1374bb70dc6a63c1a0e1","archive_size":1334632,"archive_url":"https://extensions.blender.org/download/sha256:621573abf70024412858e7565266f3f4b0baccab858c1374bb70dc6a63c1a0e1/add-on-anim-reviewer-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/anim-reviewer/","maintainer":"FhyTan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save playblast videos in specified output folder"},"tags":["3D View","Animation","Camera","Pipeline"]},{"id":"export_render_as_dng","schema_version":"1.0.0","name":"Export Render as DNG","version":"1.0.2","tagline":"Export renders and images as Bayer-style DNG files","archive_hash":"sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85","archive_size":25960,"archive_url":"https://extensions.blender.org/download/sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85/add-on-export-render-as-dng-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-render-as-dng/","maintainer":"FloBEAUG","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export DNG to disk"}},{"id":"Origin_move_like_maya","schema_version":"1.0.0","name":"Origin_move_like_maya (Press D)","version":"1.4.0","tagline":"Move pivot independently with snapping and gizmo like maya","archive_hash":"sha256:5e718aa81233aba65fd1aa186cb1588d551da1b21509fa373d75f11e29c17534","archive_size":3563,"archive_url":"https://extensions.blender.org/download/sha256:5e718aa81233aba65fd1aa186cb1588d551da1b21509fa373d75f11e29c17534/add-on-origin-move-like-maya-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/origin-move-like-maya/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"printing_helper","schema_version":"1.0.0","name":"Printing Helper","version":"0.1.2","tagline":"Set the resolution required for printing more simply","archive_hash":"sha256:3c3a5ea8c40c1cf91c3102b5c7d690ef8ae38a6a562daf4f2200574c2faabeae","archive_size":12655,"archive_url":"https://extensions.blender.org/download/sha256:3c3a5ea8c40c1cf91c3102b5c7d690ef8ae38a6a562daf4f2200574c2faabeae/add-on-printing-helper-v0.1.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/printing-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Camera"]},{"id":"bh_smart_sym","schema_version":"1.0.0","name":"BH Smart Sym","version":"0.9.0","tagline":"Interactive 3D arrows for quick face symmetrize","archive_hash":"sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34","archive_size":5272,"archive_url":"https://extensions.blender.org/download/sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34/add-on-bh-smart-sym-v0.9.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bh-smart-sym/","maintainer":"bogatyr4ik","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"camera_aspect_ratio_guides","schema_version":"1.0.0","name":"Camera Aspect Ratio Guides","version":"2.0.0","tagline":"Professional composition guides with safe areas","archive_hash":"sha256:50bae340eccf1df4cc77e0a2667e08f8ba9f7c894fce9c5854e0f0dd5b29c394","archive_size":11678,"archive_url":"https://extensions.blender.org/download/sha256:50bae340eccf1df4cc77e0a2667e08f8ba9f7c894fce9c5854e0f0dd5b29c394/add-on-camera-aspect-ratio-guides-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.5.0","website":"https://extensions.blender.org/add-ons/camera-aspect-ratio-guides/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Modify compositor nodes for render burn-in"},"tags":["Camera","Render","Compositing"]},{"id":"theme_GoldExperience","schema_version":"1.0.0","name":"Gold Experience","version":"1.0.1","tagline":"A theme if you really like yellow","archive_hash":"sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb/theme-theme-goldexperience-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-goldexperience/","maintainer":"lonku","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"catppucin4blender","schema_version":"1.0.0","name":"Catppuccin Theme","version":"5.1.5","tagline":"Catppuccin for Blender","archive_hash":"sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875","archive_size":7103,"archive_url":"https://extensions.blender.org/download/sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875/theme-catppucin4blender-v5.1.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/catppucin4blender/","maintainer":"Albert-Bici","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark","Colorful"]},{"id":"camerafly","schema_version":"1.0.0","name":"Camerafly","version":"2.1.3","tagline":"Fly around with the Dolly Rig of the Camera Rigs Addon","archive_hash":"sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d","archive_size":23698,"archive_url":"https://extensions.blender.org/download/sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d/add-on-camerafly-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camerafly/","maintainer":"MichaelSchieber","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"face_angle_analyzer","schema_version":"1.0.0","name":"Face Angle Analyzer","version":"8.9.4","tagline":"Measure and visualize face angles against global axes","archive_hash":"sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0","archive_size":6292,"archive_url":"https://extensions.blender.org/download/sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0/add-on-face-angle-analyzer-v8.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-angle-analyzer/","maintainer":"Astralis","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"rigi_all","schema_version":"1.0.0","name":"Rigi-All","version":"1.5.2","tagline":"Speeds up the Rigify process","archive_hash":"sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17","archive_size":31809,"archive_url":"https://extensions.blender.org/download/sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17/add-on-rigi-all-v1.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigi-all/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Quick_Asset_Saver","schema_version":"1.0.0","name":"Quick Asset Manager","version":"2.0.3","tagline":"Quickly Create, Edit, Organize, or Delete your local asset files","archive_hash":"sha256:34196edd29b75d18cca2c3cd001fa751781314ee608d025ef702669cee0b5973","archive_size":66307,"archive_url":"https://extensions.blender.org/download/sha256:34196edd29b75d18cca2c3cd001fa751781314ee608d025ef702669cee0b5973/add-on-quick-asset-saver-v2.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-asset-saver/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To read and write to asset library directories"},"tags":["User Interface","System"]},{"id":"bone_widget","schema_version":"1.0.0","name":"Bone Widget","version":"2.3.3","tagline":"Easily Create Bone Widgets","archive_hash":"sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970","archive_size":293994,"archive_url":"https://extensions.blender.org/download/sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970/add-on-bone-widget-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-widget/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export json and image files from/to disk"},"tags":["Rigging"]},{"id":"Bone_Animation_Copy_Tool","schema_version":"1.0.0","name":"Bone Animation Copy Tool","version":"1.1.5","tagline":"Copy animation between armatures using bone constraints","archive_hash":"sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2","archive_size":9772,"archive_url":"https://extensions.blender.org/download/sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2/add-on-bone-animation-copy-tool-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-animation-copy-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"orbiter","schema_version":"1.0.0","name":"Orbiter","version":"1.1.0","tagline":"Orbit around objects in the viewport","archive_hash":"sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a","archive_size":3393,"archive_url":"https://extensions.blender.org/download/sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a/add-on-orbiter-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orbiter/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"spline_generator","schema_version":"1.0.0","name":"Spline Generator","version":"1.0.3","tagline":"Generate parametric spline","archive_hash":"sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145","archive_size":8307,"archive_url":"https://extensions.blender.org/download/sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145/add-on-spline-generator-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spline-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Add Curve"]},{"id":"beautiful_dream","schema_version":"1.0.0","name":"Beautiful Dream","version":"1.0.4","tagline":"This is a variant of Whispering Ripples","archive_hash":"sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96","archive_size":5810,"archive_url":"https://extensions.blender.org/download/sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96/theme-beautiful-dream-v1.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/beautiful-dream/","maintainer":"KBS-DEV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"graph_generator","schema_version":"1.0.0","name":"Graph Generator","version":"1.2.2","tagline":"Generate graph between saved keyframes","archive_hash":"sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4","archive_size":9526,"archive_url":"https://extensions.blender.org/download/sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4/add-on-graph-generator-v1.2.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/graph-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"wisteria","schema_version":"1.0.0","name":"Wisteria","version":"1.0.1","tagline":"Gray with hints of purple","archive_hash":"sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915","archive_size":5690,"archive_url":"https://extensions.blender.org/download/sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915/theme-wisteria-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/wisteria/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"trajectory_anim","schema_version":"1.0.0","name":"Trajectory Anim","version":"1.2.1","tagline":"Animate quickly by drawing trajectory line","archive_hash":"sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d","archive_size":43987,"archive_url":"https://extensions.blender.org/download/sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d/add-on-trajectory-anim-v1.2.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/trajectory-anim/","maintainer":"trisnox","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Analysis_Toolkit","schema_version":"1.0.0","name":"Analysis Toolkit","version":"1.0.1","tagline":"Measurement calculations, illuminance, distance, speed, and more","archive_hash":"sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823","archive_size":25910,"archive_url":"https://extensions.blender.org/download/sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823/add-on-analysis-toolkit-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/analysis-toolkit/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Lighting"]},{"id":"ns_toolkit_mesh_cleanup_pro","schema_version":"1.0.0","name":"NS Toolkit - Mesh Cleanup Pro","version":"1.0.1","tagline":"Professional mesh cleanup with topology visualization tools","archive_hash":"sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e","archive_size":9410,"archive_url":"https://extensions.blender.org/download/sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e/add-on-ns-toolkit-mesh-cleanup-pro-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ns-toolkit-mesh-cleanup-pro/","maintainer":"nandur","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"OLED","schema_version":"1.0.0","name":"OLED","version":"1.0.0","tagline":"OLED theme for Blender","archive_hash":"sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee/theme-oled-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/oled/","maintainer":"NARZ","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"CYNexusLX490","schema_version":"1.0.0","name":"CyanoNexus LX490","version":"1.0.1","tagline":"Stellar-grade Blender theme – tri-spectrum of CyanoNexus LX490","archive_hash":"sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9","archive_size":6218,"archive_url":"https://extensions.blender.org/download/sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9/theme-cynexuslx490-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cynexuslx490/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"editorbar","schema_version":"1.0.0","name":"EditorBar","version":"0.4.7","tagline":"Turn Outliner & Properties editors into a toggleable sidebar","archive_hash":"sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a","archive_size":24251,"archive_url":"https://extensions.blender.org/download/sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a/add-on-editorbar-v0.4.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/editorbar/","maintainer":"atetraxx","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"manage_file_paths","schema_version":"1.0.0","name":"Manage File Paths","version":"1.0.1","tagline":"A list of image file paths with indicators for missing files","archive_hash":"sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906","archive_size":3273,"archive_url":"https://extensions.blender.org/download/sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906/add-on-manage-file-paths-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/manage-file-paths/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check if image files exist on disk"},"tags":["Material","System"]},{"id":"import_meshed_alpha","schema_version":"1.0.0","name":"Import Meshed Alpha","version":"1.0.1","tagline":"Transparency to Geometry","archive_hash":"sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e","archive_size":927961,"archive_url":"https://extensions.blender.org/download/sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e/add-on-import-meshed-alpha-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-meshed-alpha/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Image import"},"platforms":["windows-x64"],"tags":["Mesh","Material"]},{"id":"matcolex","schema_version":"1.0.0","name":"MatColeX","version":"1.7.8","tagline":"Collect, Organize, and Apply Shaders from Your 3D View","archive_hash":"sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5","archive_size":9589,"archive_url":"https://extensions.blender.org/download/sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5/add-on-matcolex-v1.7.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matcolex/","maintainer":"budijozz","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","3D View","Modeling"]},{"id":"wfc_3d_generator","schema_version":"1.0.0","name":"WFC 3D Generator","version":"1.3.8","tagline":"Simple WFC 3D generator for procedural creation of objects","archive_hash":"sha256:2bcf439320138f409932ef702a986c28a8cba0acb9a32c0e4ab60f0c2e5d0ff9","archive_size":68017,"archive_url":"https://extensions.blender.org/download/sha256:2bcf439320138f409932ef702a986c28a8cba0acb9a32c0e4ab60f0c2e5d0ff9/add-on-wfc-3d-generator-v1.3.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wfc-3d-generator/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export constraints (JSON) from/to disk"},"tags":["Object","Modeling","Render","Game Engine"]},{"id":"blender_dark_aero_theme","schema_version":"1.0.0","name":"Dark Aero","version":"1.0.0","tagline":"This is a Dark Aero Theme for Blender","archive_hash":"sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca","archive_size":7696,"archive_url":"https://extensions.blender.org/download/sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca/theme-blender-dark-aero-theme-v1.0.0.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blender-dark-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"nurbs2mesh","schema_version":"1.0.0","name":"NURBS2Mesh","version":"1.0.3","tagline":"Auto-updating mesh copies from NURBS/Curves","archive_hash":"sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35","archive_size":9718,"archive_url":"https://extensions.blender.org/download/sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35/add-on-nurbs2mesh-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nurbs2mesh/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"curve_generator","schema_version":"1.0.0","name":"Curve Generator","version":"1.2.1","tagline":"Generate float curves","archive_hash":"sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac","archive_size":6289,"archive_url":"https://extensions.blender.org/download/sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac/add-on-curve-generator-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Add Curve"]},{"id":"true_roboanimator","schema_version":"1.0.0","name":"True RoboAnimator","version":"1.0.1","tagline":"Robot motion to wheel RPM with CSV export","archive_hash":"sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606","archive_size":18055,"archive_url":"https://extensions.blender.org/download/sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606/add-on-true-roboanimator-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/true-roboanimator/","maintainer":"danyal-sarfraz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write CSV and animation data files"}},{"id":"MaterialHelper","schema_version":"1.0.0","name":"MaterialHelper","version":"1.4.7","tagline":"Make local asset manager your place to create powerful materials","archive_hash":"sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d","archive_size":3927318,"archive_url":"https://extensions.blender.org/download/sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d/add-on-materialhelper-v1.4.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/materialhelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load preview material file/Access and modify asset catalog file"},"tags":["3D View","Material"]},{"id":"lutiy_timeline","schema_version":"1.0.0","name":"Lutiy Timeline","version":"1.0.1","tagline":"Save and switch between camera frame range","archive_hash":"sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb","archive_size":3790,"archive_url":"https://extensions.blender.org/download/sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb/add-on-lutiy-timeline-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lutiy-timeline/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load preset configurations"},"tags":["Animation","Camera","Scene"]},{"id":"py_btn_box","schema_version":"1.0.0","name":"PyBtnBox","version":"5.1.0","tagline":"Use Button To Execute Script","archive_hash":"sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf","archive_size":14035,"archive_url":"https://extensions.blender.org/download/sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf/add-on-py-btn-box-v5.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/py-btn-box/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Need to sync button data from python/json files and folder"},"tags":["System"]},{"id":"mesh_attribute_utils","schema_version":"1.0.0","name":"Mesh Attribute Utils","version":"0.2.0","tagline":"Easily view and edit custom mesh attributes","archive_hash":"sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211","archive_size":8347,"archive_url":"https://extensions.blender.org/download/sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211/add-on-mesh-attribute-utils-v0.2.0.zip","type":"add-on","blender_version_min":"4.5.3","website":"https://extensions.blender.org/add-ons/mesh-attribute-utils/","maintainer":"Hannah-Pascal-Noël","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"theme_updater","schema_version":"1.0.0","name":"Theme Updater","version":"1.0.0","tagline":"Update themes from 4.5 LTS to 5.0","archive_hash":"sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21","archive_size":5066,"archive_url":"https://extensions.blender.org/download/sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21/add-on-theme-updater-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/theme-updater/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"rotor","schema_version":"1.0.0","name":"rotor","version":"1.3.2","tagline":"rotor","archive_hash":"sha256:93688a3f41cadaf2dd61a8e3a442963482ca64c95f3bf303e041f622a54a46c4","archive_size":42300,"archive_url":"https://extensions.blender.org/download/sha256:93688a3f41cadaf2dd61a8e3a442963482ca64c95f3bf303e041f622a54a46c4/add-on-rotor-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rotor/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"Blockout","schema_version":"1.0.0","name":"Blockout","version":"1.4.5","tagline":"Blockout","archive_hash":"sha256:14f2efbae5525faa91e3146093b002aef8204472b2dfc0cfd71d9d1e218dd814","archive_size":151513,"archive_url":"https://extensions.blender.org/download/sha256:14f2efbae5525faa91e3146093b002aef8204472b2dfc0cfd71d9d1e218dd814/add-on-blockout-v1.4.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blockout/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing node group from disk"},"tags":["Modeling","3D View","Mesh"]},{"id":"geo_bake_batch","schema_version":"1.0.0","name":"Geo Bake Batch","version":"0.0.1","tagline":"Batch tools for Geometry Nodes baking","archive_hash":"sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39","archive_size":2570,"archive_url":"https://extensions.blender.org/download/sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39/add-on-geo-bake-batch-v0.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geo-bake-batch/","maintainer":"Artyom-Pankratov","license":["SPDX:GPL-3.0-or-later"]},{"id":"restart","schema_version":"1.0.0","name":"Restart","version":"1.0.2","tagline":"Restart Blender","archive_hash":"sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c","archive_size":2824,"archive_url":"https://extensions.blender.org/download/sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c/add-on-restart-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/restart/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"camera_sensor_database","schema_version":"1.0.0","name":"Camera Sensor Database","version":"1.0.1","tagline":"Provides a database of camera sensors to choose from in Blender","archive_hash":"sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9","archive_size":18406,"archive_url":"https://extensions.blender.org/download/sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9/add-on-camera-sensor-database-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camera-sensor-database/","maintainer":"Manuel-Houben","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the sensor database locally","network":"To download the latest sensor database"},"tags":["Camera"]},{"id":"collection_switcher","schema_version":"1.0.0","name":"Collection Switcher","version":"1.4.0","tagline":"Switch visibility between sub-collections in switchers","archive_hash":"sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9","archive_size":1124111,"archive_url":"https://extensions.blender.org/download/sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9/add-on-collection-switcher-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-switcher/","maintainer":"Valentin-Komkov","license":["SPDX:GPL-3.0-or-later"]},{"id":"stb_section_toolbox","schema_version":"1.0.0","name":"Section Toolbox","version":"0.0.2","tagline":"Parametric section box and planar cuts with SVG DXF export","archive_hash":"sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7","archive_size":30173,"archive_url":"https://extensions.blender.org/download/sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7/add-on-stb-section-toolbox-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stb-section-toolbox/","maintainer":"Victor-Calixto","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG and DXF to disk"},"tags":["Modeling","Mesh","Import-Export","Object"]},{"id":"uv_maps_plus","schema_version":"1.0.0","name":"UV Maps+","version":"2026.1.2","tagline":"Reorder UV Maps, Copy/Paste UVs, and exceed the 8-map limit","archive_hash":"sha256:a85d5e6b619544489c39c0b6208a5012907877f0a8c71931d5f9bae813e0e318","archive_size":18036,"archive_url":"https://extensions.blender.org/download/sha256:a85d5e6b619544489c39c0b6208a5012907877f0a8c71931d5f9bae813e0e318/add-on-uv-maps-plus-v2026.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-maps-plus/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","User Interface"]},{"id":"parallax_node","schema_version":"1.0.0","name":"Parallax Node","version":"1.1.1","tagline":"Adds parallax node for shader nodes","archive_hash":"sha256:a2830f8614b8e3ee6d7bcc882eb2a8d3208f069b64dec3d7cfbc9f73dd4a100f","archive_size":12064,"archive_url":"https://extensions.blender.org/download/sha256:a2830f8614b8e3ee6d7bcc882eb2a8d3208f069b64dec3d7cfbc9f73dd4a100f/add-on-parallax-node-v1.1.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/parallax-node/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"easy_driver","schema_version":"1.0.0","name":"Easy Driver","version":"1.5.7","tagline":"Technical rigging made easier","archive_hash":"sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e","archive_size":41557,"archive_url":"https://extensions.blender.org/download/sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e/add-on-easy-driver-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/easy-driver/","maintainer":"NeoEmberArt","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"hifi_builder","schema_version":"1.0.0","name":"HiFi Architecture Builder v4.3.0","version":"4.3.0","tagline":"One-click architecture builder for Blender with all units","archive_hash":"sha256:7fa9412384dc89f882876e2e9fd096f7b745a0c707f1501a58a838c9990e83a9","archive_size":73946,"archive_url":"https://extensions.blender.org/download/sha256:7fa9412384dc89f882876e2e9fd096f7b745a0c707f1501a58a838c9990e83a9/add-on-hifi-builder-v4.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hifi-builder/","maintainer":"Malik-Nomi","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling"]},{"id":"secondary_language","schema_version":"1.0.0","name":"Secondary Language","version":"1.1.0","tagline":"Quickly switch to secondary language","archive_hash":"sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049","archive_size":3939,"archive_url":"https://extensions.blender.org/download/sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049/add-on-secondary-language-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/secondary-language/","maintainer":"mdlt7z","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"driver_helper","schema_version":"1.0.0","name":"DriverHelper","version":"1.0.1","tagline":"Helps generate driver formulas in the Shape Keys panel","archive_hash":"sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149","archive_size":2152,"archive_url":"https://extensions.blender.org/download/sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149/add-on-driver-helper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/driver-helper/","maintainer":"Zakmen150","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"format_rename","schema_version":"1.0.0","name":"Format Rename","version":"0.0.5","tagline":"Format Rename","archive_hash":"sha256:e808bb2db8a28a7d59edcc17646c4e27d758ece40f258f98a15f162756b14f6e","archive_size":19683,"archive_url":"https://extensions.blender.org/download/sha256:e808bb2db8a28a7d59edcc17646c4e27d758ece40f258f98a15f162756b14f6e/add-on-format-rename-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/format-rename/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Rigging"]},{"id":"NieR_Automata","schema_version":"1.0.0","name":"YorHa - Operator","version":"1.1.0","tagline":"A Dark Version Of Nier Automata Ui inspired by YorHa-Operator","archive_hash":"sha256:37142058b557023d2d7bd00556c7ddaa53effadc124d7a8576a76383b98c39a1","archive_size":5484,"archive_url":"https://extensions.blender.org/download/sha256:37142058b557023d2d7bd00556c7ddaa53effadc124d7a8576a76383b98c39a1/theme-nier-automata-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nier-automata/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"layer_comp","schema_version":"1.0.0","name":"LayerComp","version":"1.1.2","tagline":"Layer-based compositing tool, similar to After Effects","archive_hash":"sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6","archive_size":580509,"archive_url":"https://extensions.blender.org/download/sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6/add-on-layer-comp-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/layer-comp/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Blend file from/to disk"},"tags":["Compositing","Node","Render"]},{"id":"select_123","schema_version":"1.0.0","name":"123 Select","version":"1.0.0","tagline":"Switch vertex edge face in Object Mode","archive_hash":"sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69","archive_size":2138,"archive_url":"https://extensions.blender.org/download/sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69/add-on-select-123-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-123/","maintainer":"Fisch_Tu","license":["SPDX:GPL-3.0-or-later"]},{"id":"ramp_generator","schema_version":"1.0.0","name":"Ramp Generator","version":"1.4.3","tagline":"Generate color ramps","archive_hash":"sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c","archive_size":3932,"archive_url":"https://extensions.blender.org/download/sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c/add-on-ramp-generator-v1.4.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ramp-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Compositing"]},{"id":"Timelapse_extension","schema_version":"1.0.0","name":"Timelapse","version":"1.0.1","tagline":"Take timed screenshots inside Blender","archive_hash":"sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1","archive_size":3049,"archive_url":"https://extensions.blender.org/download/sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1/add-on-timelapse-extension-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/timelapse-extension/","maintainer":"Silky-Renders","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export png/jpeg to disk"},"tags":["System"]},{"id":"blender_frutiger_aero_theme","schema_version":"1.0.0","name":"Frutiger Aero","version":"1.1.3","tagline":"This is a Frutiger Aero Theme for Blender","archive_hash":"sha256:55211f98e8097958a59f34af945f4a16ce490025f4b50c8edf939aa53b009f11","archive_size":6989,"archive_url":"https://extensions.blender.org/download/sha256:55211f98e8097958a59f34af945f4a16ce490025f4b50c8edf939aa53b009f11/theme-blender-frutiger-aero-theme-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blender-frutiger-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"markcam","schema_version":"1.0.0","name":"MarkCam","version":"2.5.0","tagline":"Quick camera-from-view + timeline marker tools","archive_hash":"sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd","archive_size":6762,"archive_url":"https://extensions.blender.org/download/sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd/add-on-markcam-v2.5.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/markcam/","maintainer":"SomRender","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation"]},{"id":"Work_n_rose","schema_version":"1.0.0","name":"Work_n_rose","version":"1.5.0","tagline":"Dark Mood, 4thegoat","archive_hash":"sha256:6c1622ccf5e23b713a6eed923ebf8b771ec8cdd18d42ec54f9f6cc0b032a0122","archive_size":6148,"archive_url":"https://extensions.blender.org/download/sha256:6c1622ccf5e23b713a6eed923ebf8b771ec8cdd18d42ec54f9f6cc0b032a0122/theme-work-n-rose-v1.5.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/work-n-rose/","maintainer":"Nois3G4te","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"stroke_material_display","schema_version":"1.0.0","name":"Stroke Material Display","version":"1.0.1","tagline":"Display material names of selected Grease Pencil strokes","archive_hash":"sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317","archive_size":3088,"archive_url":"https://extensions.blender.org/download/sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317/add-on-stroke-material-display-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/stroke-material-display/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"spa_sequencer","schema_version":"1.0.0","name":"SPArk Sequencer","version":"0.1.6","tagline":"Toolset to improve the sequence workflow in Blender","archive_hash":"sha256:2f9ea5309e0f0778d775c896b2b575fadaab20df993c7d453c11704697180b1a","archive_size":73645,"archive_url":"https://extensions.blender.org/download/sha256:2f9ea5309e0f0778d775c896b2b575fadaab20df993c7d453c11704697180b1a/add-on-spa-sequencer-v0.1.6.zip","type":"add-on","blender_version_min":"4.5.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/spa-sequencer/","maintainer":"TinyNick","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"compositor_file_output_replacer","schema_version":"1.0.0","name":"Compositor File Output Replacer","version":"1.3.0","tagline":"Find and replace text in File Output node paths","archive_hash":"sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757","archive_size":3158,"archive_url":"https://extensions.blender.org/download/sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757/add-on-compositor-file-output-replacer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/compositor-file-output-replacer/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Node"]},{"id":"miunau_slcamera","schema_version":"1.0.0","name":"Second Life-style camera","version":"1.0.4","tagline":"Second Life-style camera with ALT (option)/CTRL/SHIFT keys","archive_hash":"sha256:e52827160361d2ea0b1c7cdf8603879df1b604dada91e2535d0a17abfe5a8e06","archive_size":19907,"archive_url":"https://extensions.blender.org/download/sha256:e52827160361d2ea0b1c7cdf8603879df1b604dada91e2535d0a17abfe5a8e06/add-on-miunau-slcamera-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/miunau-slcamera/","maintainer":"miunau","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"blue_archive_theme","schema_version":"1.0.0","name":"Blue Archive","version":"1.2.1","tagline":"Theme inspired by Blue Archive game UI","archive_hash":"sha256:b8049642276b5da71a498c9433a46b628ec154b050fa27c5e06fe6236b0f1b31","archive_size":5159,"archive_url":"https://extensions.blender.org/download/sha256:b8049642276b5da71a498c9433a46b628ec154b050fa27c5e06fe6236b0f1b31/theme-blue-archive-theme-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blue-archive-theme/","maintainer":"RAZUMNO","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Inspired By"]},{"id":"toolhub","schema_version":"1.0.0","name":"Tool Hub","version":"1.0.2","tagline":"This add-on searches and pins in a pie-menu","archive_hash":"sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2","archive_size":26285,"archive_url":"https://extensions.blender.org/download/sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2/add-on-toolhub-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toolhub/","maintainer":"Mr.Bir","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"attrio_csv","schema_version":"1.0.0","name":"Attrio CSV","version":"1.0.1","tagline":"Bake and read back Evaluated Dependency Graph Data as CSV","archive_hash":"sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68","archive_size":161895,"archive_url":"https://extensions.blender.org/download/sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68/add-on-attrio-csv-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/attrio-csv/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Bake","Geometry Nodes"]},{"id":"use_for_rendering_plus","schema_version":"1.0.0","name":"View Layer Plus","version":"1.2.4","tagline":"Seamlessly extend View Layers management","archive_hash":"sha256:f0c22a4139cf68d84420aaf2184861de214d00acbf1ddf5c75889428cab34d75","archive_size":63213,"archive_url":"https://extensions.blender.org/download/sha256:f0c22a4139cf68d84420aaf2184861de214d00acbf1ddf5c75889428cab34d75/add-on-use-for-rendering-plus-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/use-for-rendering-plus/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","User Interface"]},{"id":"essential_brush_saver","schema_version":"1.0.0","name":"Essential Brush Saver","version":"1.1.3","tagline":"Automatically save and load essential brush settings","archive_hash":"sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0","archive_size":6069,"archive_url":"https://extensions.blender.org/download/sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0/add-on-essential-brush-saver-v1.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/essential-brush-saver/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load configuration data JSON file to/from disk"},"tags":["Paint","Sculpt","System"]},{"id":"space_colonization_tree_generator","schema_version":"1.0.0","name":"Space colonization tree generator","version":"1.0.0","tagline":"A simple add-on which uses the space colonization approach","archive_hash":"sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83","archive_size":6781,"archive_url":"https://extensions.blender.org/download/sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83/add-on-space-colonization-tree-generator-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/space-colonization-tree-generator/","maintainer":"LS","license":["SPDX:GPL-3.0-or-later"]},{"id":"SHIRAKUMO_rectangle_tools","schema_version":"1.0.0","name":"Rectangle Tools","version":"1.0.2","tagline":"Tools to more easily draw rectangles in edit mode","archive_hash":"sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b","archive_size":7349,"archive_url":"https://extensions.blender.org/download/sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b/add-on-shirakumo-rectangle-tools-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-rectangle-tools/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"tags":["Modeling"]},{"id":"bake_instance_animation","schema_version":"1.0.0","name":"Bake Instance Animation (烘焙几何节点实例动画)","version":"1.0.3","tagline":"Bake geometry nodes instance animation to keyframe animation","archive_hash":"sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4","archive_size":8497,"archive_url":"https://extensions.blender.org/download/sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4/add-on-bake-instance-animation-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-instance-animation/","maintainer":"ChyiZ_","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"Candymouse","schema_version":"1.0.0","name":"Candymouse","version":"1.1.0","tagline":"A neutral grey theme with colorful accents","archive_hash":"sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a","archive_size":5785,"archive_url":"https://extensions.blender.org/download/sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a/theme-candymouse-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/candymouse/","maintainer":"milomouse","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"shiva_img2mat","schema_version":"1.0.0","name":"Image to Mat","version":"1.0.0","tagline":"Generate material from image","archive_hash":"sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8","archive_size":3150,"archive_url":"https://extensions.blender.org/download/sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8/add-on-shiva-img2mat-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shiva-img2mat/","maintainer":"SHIVA","license":["SPDX:GPL-3.0-or-later"]},{"id":"easy_tree","schema_version":"1.0.0","name":"Easy Tree","version":"1.0.1","tagline":"Create one-click procedural trees","archive_hash":"sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff","archive_size":17712727,"archive_url":"https://extensions.blender.org/download/sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff/add-on-easy-tree-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/easy-tree/","maintainer":"Jacob-Johnston","license":["SPDX:GPL-3.0-or-later"]},{"id":"wheel_o_matic","schema_version":"1.0.0","name":"Wheel-O-Matic","version":"1.0.2","tagline":"Automatic wheel rotation in any direction","archive_hash":"sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db","archive_size":20178,"archive_url":"https://extensions.blender.org/download/sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db/add-on-wheel-o-matic-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wheel-o-matic/","maintainer":"TechArtToolBox","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"blender_game_tools","schema_version":"1.0.0","name":"Game Tools","version":"0.3.2","tagline":"Game Tools","archive_hash":"sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e","archive_size":249307,"archive_url":"https://extensions.blender.org/download/sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e/add-on-blender-game-tools-v0.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-game-tools/","maintainer":"Cremuss","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","UV","Mesh","Pipeline"]},{"id":"keyframe_selected","schema_version":"1.0.0","name":"Keyframe selected","version":"1.3.2","tagline":"Insert or delete keyframes on selected items","archive_hash":"sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b","archive_size":5942,"archive_url":"https://extensions.blender.org/download/sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b/add-on-keyframe-selected-v1.3.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/keyframe-selected/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"i32_the_mandelbrot_set","schema_version":"1.0.0","name":"i32 the Mandelbrot Set","version":"1.0.2","tagline":"The Mandelbrot set using only Integer Math and Bit Math Nodes","archive_hash":"sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540","archive_size":43557,"archive_url":"https://extensions.blender.org/download/sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540/add-on-i32-the-mandelbrot-set-v1.0.2.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/i32-the-mandelbrot-set/","maintainer":"Osipenkov+Art","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes"]},{"id":"node_tree_screenshot","schema_version":"1.0.0","name":"Node Tree Screenshot","version":"1.1.0","tagline":"Screenshot utility for large node trees","archive_hash":"sha256:5dfd72b1c8d52f58a1515e1fe709cdeed85b39b109de3730acbdc9c0c8a00242","archive_size":18742705,"archive_url":"https://extensions.blender.org/download/sha256:5dfd72b1c8d52f58a1515e1fe709cdeed85b39b109de3730acbdc9c0c8a00242/add-on-node-tree-screenshot-v1.1.0-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/node-tree-screenshot/","maintainer":"LukasTönne","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Node"]},{"id":"visual_limits","schema_version":"1.0.0","name":"Visual limits","version":"1.3.2","tagline":"This addon shows rigid body constraint limits in viewport","archive_hash":"sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e","archive_size":2710,"archive_url":"https://extensions.blender.org/download/sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e/add-on-visual-limits-v1.3.2.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/visual-limits/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"auto_sync_object_data_names","schema_version":"1.0.0","name":"Auto Sync Object Data Names","version":"1.0.0","tagline":"Automatically sync object and data names","archive_hash":"sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab","archive_size":19044,"archive_url":"https://extensions.blender.org/download/sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab/add-on-auto-sync-object-data-names-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sync-object-data-names/","maintainer":"GeeDoubleU","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Pipeline"]},{"id":"Tracker2Nuke","schema_version":"1.0.0","name":"Tracker to Nuke","version":"1.1.0","tagline":"Instantly export Blender tracking data to a Nuke Tracker node","archive_hash":"sha256:b937c0ddfdd9cdea2e22332b540bd2bf7dbd9bd3a9b6dcb2366930a73818029d","archive_size":5120,"archive_url":"https://extensions.blender.org/download/sha256:b937c0ddfdd9cdea2e22332b540bd2bf7dbd9bd3a9b6dcb2366930a73818029d/add-on-tracker2nuke-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tracker2nuke/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Import-Export"]},{"id":"polychase","schema_version":"1.0.0","name":"Polychase","version":"0.0.11","tagline":"Mesh Based Motion Tracking in Blender","archive_hash":"sha256:e88a3d721646362258798a695b97c8fd5c3e2a7c6c68a7b2dbf4aa37c86a4216","archive_size":3048365,"archive_url":"https://extensions.blender.org/download/sha256:e88a3d721646362258798a695b97c8fd5c3e2a7c6c68a7b2dbf4aa37c86a4216/add-on-polychase-v0.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polychase/","maintainer":"theartful","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write optical flow database to disk"},"platforms":["windows-x64"],"tags":["Animation","Tracking"]},{"id":"Bone_Aligner","schema_version":"1.0.0","name":"Bone Aligner","version":"1.1.4","tagline":"Quickly align two bones","archive_hash":"sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8","archive_size":2841,"archive_url":"https://extensions.blender.org/download/sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8/add-on-bone-aligner-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-aligner/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"perfectly_normal","schema_version":"1.0.0","name":"Perfectly Normal","version":"0.0.2","tagline":"Manipulate face-corner normals as mesh components","archive_hash":"sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56","archive_size":159727,"archive_url":"https://extensions.blender.org/download/sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56/add-on-perfectly-normal-v0.0.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/perfectly-normal/","maintainer":"Seth-Adam-Trowbridge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset resources from/to disk"},"tags":["Mesh","Modeling","Geometry Nodes"]},{"id":"beantextures","schema_version":"1.0.0","name":"Beantextures","version":"1.1.0","tagline":"Addon to help with 2D texture-based animations","archive_hash":"sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59","archive_size":23669,"archive_url":"https://extensions.blender.org/download/sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59/add-on-beantextures-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/beantextures/","maintainer":"daringcuteseal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import image textures to generated node group"},"tags":["Animation","Node","Rigging"]},{"id":"SmartScene_Toolkit","schema_version":"1.0.0","name":"SmartScene Toolkit","version":"1.4.0","tagline":"Toolkit for smarter parent, hierarchy, mirror operations","archive_hash":"sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60","archive_size":14746,"archive_url":"https://extensions.blender.org/download/sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60/add-on-smartscene-toolkit-v1.4.0.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/smartscene-toolkit/","maintainer":"Marcus997","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Scene"]},{"id":"Blackboard_Theme","schema_version":"1.0.0","name":"Blackboard_Theme","version":"2.2.3","tagline":"Dark Monochrome","archive_hash":"sha256:15ed36ad4e403107c461c62db6937d235566e523f0ed2417ca3667f9751b8942","archive_size":5611,"archive_url":"https://extensions.blender.org/download/sha256:15ed36ad4e403107c461c62db6937d235566e523f0ed2417ca3667f9751b8942/theme-blackboard-theme-v2.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blackboard-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"surfacepsycho","schema_version":"1.0.0","name":"Surface Psycho","version":"0.9.4","tagline":"Precision Surface Design","archive_hash":"sha256:7fdfffc0ad4478ee55b83ed737ec0bc0cdf132c68ae42721b5e513860078b340","archive_size":57156920,"archive_url":"https://extensions.blender.org/download/sha256:7fdfffc0ad4478ee55b83ed737ec0bc0cdf132c68ae42721b5e513860078b340/add-on-surfacepsycho-v0.9.4-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/surfacepsycho/","maintainer":"RomainGuimbal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export CAD files"},"platforms":["windows-x64"],"tags":["Modeling","Import-Export","Geometry Nodes","Add Curve"]},{"id":"sync_material_viewport_color","schema_version":"1.0.0","name":"Sync Material Viewport Color","version":"1.0.2","tagline":"Sets diffuse color, metallic and roughness for viewport display","archive_hash":"sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9","archive_size":7318,"archive_url":"https://extensions.blender.org/download/sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9/add-on-sync-material-viewport-color-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-material-viewport-color/","maintainer":"Qiu-Feng","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Material"]},{"id":"Dim_Fog","schema_version":"1.0.0","name":"Dim Fog","version":"2.0.0","tagline":"Moody & Cozy theme","archive_hash":"sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c","archive_size":5195,"archive_url":"https://extensions.blender.org/download/sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c/theme-dim-fog-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dim-fog/","maintainer":"huleeb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"ccnc_animation_objects","schema_version":"1.0.0","name":"CCNCAnimationObjects","version":"1.2.3","tagline":"CNC simulation object editor with camera and spark effects","archive_hash":"sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82","archive_size":85342,"archive_url":"https://extensions.blender.org/download/sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82/add-on-ccnc-animation-objects-v1.2.3.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/ccnc-animation-objects/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export CSV files"},"tags":["Modeling","Animation","Camera"]},{"id":"shape_key_utilities_enhanced","schema_version":"1.0.0","name":"Shape Key Utilities Enhanced","version":"1.0.0","tagline":"Comprehensive shape key management with locked key operations","archive_hash":"sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f","archive_size":15525,"archive_url":"https://extensions.blender.org/download/sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f/add-on-shape-key-utilities-enhanced-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-utilities-enhanced/","maintainer":"LeafyBush7","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","Modeling"]},{"id":"VCS","schema_version":"1.0.0","name":"Vertex Color Selector","version":"1.0.9","tagline":"VertexColor Select tool","archive_hash":"sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4","archive_size":8745,"archive_url":"https://extensions.blender.org/download/sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4/add-on-vcs-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vcs/","maintainer":"D31","license":["SPDX:GPL-3.0-or-later"]},{"id":"script_manager_pro","schema_version":"1.0.0","name":"Script Manager Pro","version":"0.0.3","tagline":"Manage and run Python scripts with one-click access","archive_hash":"sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff","archive_size":3129,"archive_url":"https://extensions.blender.org/download/sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff/add-on-script-manager-pro-v0.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/script-manager-pro/","maintainer":"CemilBerk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reads and writes script metadata to a JSON file"}},{"id":"anim_auto_offset","schema_version":"1.0.0","name":"Animation Auto Offset","version":"1.3.2","tagline":"Update all keyframes relatively on transform changes","archive_hash":"sha256:a5fb0219f32e06d2b8e5e8c475228e76c8144988bc6068c966999776e9173ca8","archive_size":15647,"archive_url":"https://extensions.blender.org/download/sha256:a5fb0219f32e06d2b8e5e8c475228e76c8144988bc6068c966999776e9173ca8/add-on-anim-auto-offset-v1.3.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-auto-offset/","maintainer":"Marek-Zając","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"auto_wrinkle_map","schema_version":"1.0.0","name":"Auto Wrinkle Map","version":"0.0.7","tagline":"Helps you to create wrinkle maps driven from bones in one click","archive_hash":"sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a","archive_size":10763,"archive_url":"https://extensions.blender.org/download/sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a/add-on-auto-wrinkle-map-v0.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/auto-wrinkle-map/","maintainer":"Hattiffnat","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Material","Node","Animation"]},{"id":"node_void_keeper","schema_version":"1.0.0","name":"NodeVoidKeeper","version":"1.0.1","tagline":"Keeps your nodes centered at the origin, so you can't lose them","archive_hash":"sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d","archive_size":15610,"archive_url":"https://extensions.blender.org/download/sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d/add-on-node-void-keeper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-void-keeper/","maintainer":"MagnumVD","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"autocam","schema_version":"1.0.0","name":"AutoCam","version":"2.0.6","tagline":"Intuitive camera tools, built for artists","archive_hash":"sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132","archive_size":67410,"archive_url":"https://extensions.blender.org/download/sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132/add-on-autocam-v2.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autocam/","maintainer":"RenderRides","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation","Rigging","Render","Add Curve"]},{"id":"mass_keyframe","schema_version":"1.0.0","name":"Mass Keyframe","version":"1.1.0","tagline":"Keyframe properties better","archive_hash":"sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506","archive_size":426822,"archive_url":"https://extensions.blender.org/download/sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506/add-on-mass-keyframe-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mass-keyframe/","maintainer":"StratosDerg","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"additional_batch_rename","schema_version":"1.0.0","name":"Additional Batch Rename","version":"1.1.1","tagline":"Additional batch rename operators","archive_hash":"sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11","archive_size":15993,"archive_url":"https://extensions.blender.org/download/sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11/add-on-additional-batch-rename-v1.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/additional-batch-rename/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Object"]},{"id":"proceduraltiles","schema_version":"1.0.0","name":"Procedural Tiles","version":"0.0.4","tagline":"A library of shader nodes. +100 NEW NODES","archive_hash":"sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30","archive_size":4261663,"archive_url":"https://extensions.blender.org/download/sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30/add-on-proceduraltiles-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/proceduraltiles/","maintainer":"Aisun-Tang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Material"]},{"id":"simple_gcode_importer","schema_version":"1.0.0","name":"Simple Gcode Importer","version":"1.1.1","tagline":"Import Gcode to blender as paths","archive_hash":"sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29","archive_size":2397,"archive_url":"https://extensions.blender.org/download/sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29/add-on-simple-gcode-importer-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-gcode-importer/","maintainer":"kmnunley","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"controller_link","schema_version":"1.0.0","name":"Controller Link","version":"1.0.1","tagline":"Use a gamepad as input","archive_hash":"sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f","archive_size":16281033,"archive_url":"https://extensions.blender.org/download/sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f/add-on-controller-link-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/controller-link/","maintainer":"globglob3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"glare_node_controller","schema_version":"1.0.0","name":"Glare Node Controller","version":"2.3.3","tagline":"panel to control Glare","archive_hash":"sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68","archive_size":3563,"archive_url":"https://extensions.blender.org/download/sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68/add-on-glare-node-controller-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/glare-node-controller/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Render"]},{"id":"dragonff","schema_version":"1.0.0","name":"DragonFF","version":"1.1.0","tagline":"Add-on to edit RenderWare Formats (.dff, .txd, .col)","archive_hash":"sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e","archive_size":225580,"archive_url":"https://extensions.blender.org/download/sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e/add-on-dragonff-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragonff/","maintainer":"Parik","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export DFF/TXD/COL/IPL/IDE from/to disk"},"tags":["Import-Export","3D View","Mesh","Material"]},{"id":"maya_pivot","schema_version":"1.0.0","name":"Maya Pivot","version":"1.0.0","tagline":"Implements a Maya-like pivot system in Blender","archive_hash":"sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2","archive_size":16036,"archive_url":"https://extensions.blender.org/download/sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2/add-on-maya-pivot-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maya-pivot/","maintainer":"Zinkenite","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"Blueprint_Paper_Theme","schema_version":"1.0.0","name":"Blueprint_Paper_Theme","version":"2.2.4","tagline":"Technical Drawing","archive_hash":"sha256:f19ec682e931a16e2a8386df04ce9760a4ee7e7befd075d1468f3693dc824776","archive_size":5713,"archive_url":"https://extensions.blender.org/download/sha256:f19ec682e931a16e2a8386df04ce9760a4ee7e7befd075d1468f3693dc824776/theme-blueprint-paper-theme-v2.2.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-paper-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"jiggle_physics","schema_version":"1.0.0","name":"Jiggle Physics","version":"4.5.1","tagline":"Add stretchy jiggle physics to your Blender rigs","archive_hash":"sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab","archive_size":33411,"archive_url":"https://extensions.blender.org/download/sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab/add-on-jiggle-physics-v4.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/jiggle-physics/","maintainer":"naelstrof","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paws_bakery","schema_version":"1.0.0","name":"PAWS: Bakery","version":"0.5.1","tagline":"Texture Baking tools for Game-Ready pipeline by Pawsgineer","archive_hash":"sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0","archive_size":165829,"archive_url":"https://extensions.blender.org/download/sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0/add-on-paws-bakery-v0.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paws-bakery/","maintainer":"Steve-Paws","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","Pipeline","Material"]},{"id":"MakePlanarFacesPlus","schema_version":"1.0.0","name":"Make Planar Faces Plus","version":"1.0.6","tagline":"Powerful Make Planar Faces Operator","archive_hash":"sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a","archive_size":257221,"archive_url":"https://extensions.blender.org/download/sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a/add-on-makeplanarfacesplus-v1.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/makeplanarfacesplus/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Mesh"]},{"id":"shape_key_mirror_plus","schema_version":"1.0.0","name":"Shape Key Mirror Plus","version":"1.9.0","tagline":"Mirror shape key deltas across symmetric axes","archive_hash":"sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339","archive_size":17431,"archive_url":"https://extensions.blender.org/download/sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339/add-on-shape-key-mirror-plus-v1.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-mirror-plus/","maintainer":"Ciyorie","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"marchingcube","schema_version":"1.0.0","name":"Marching Cube","version":"0.1.0","tagline":"Generate iso-surface meshes using the Marching Cubes algorithm","archive_hash":"sha256:170039384f6ea5ee47454353fa0b6b88491223ed95f9a20bada47625294957e1","archive_size":41468675,"archive_url":"https://extensions.blender.org/download/sha256:170039384f6ea5ee47454353fa0b6b88491223ed95f9a20bada47625294957e1/add-on-marchingcube-v0.1.0-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/marchingcube/","maintainer":"Thomas-Berger","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Add Mesh"]},{"id":"terrainmixer","schema_version":"1.0.0","name":"Terrain Mixer","version":"3.1.2","tagline":"Easy to use shader-based terrain generator for Cycles","archive_hash":"sha256:2a695aac2b7966c0a64077ae76b7cfc1bfff857382250820e367a4be00852efd","archive_size":52570647,"archive_url":"https://extensions.blender.org/download/sha256:2a695aac2b7966c0a64077ae76b7cfc1bfff857382250820e367a4be00852efd/add-on-terrainmixer-v3.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/terrainmixer/","maintainer":"zets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Easily replace default image files with your own","network":"Documentation and tutorials available online"},"tags":["Add Mesh","Bake","Material"]},{"id":"Viewport_stabilizer","schema_version":"1.0.0","name":"Viewport stabilizer","version":"1.0.2","tagline":"Stabilise 3d point on your screen","archive_hash":"sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1","archive_size":5207,"archive_url":"https://extensions.blender.org/download/sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1/add-on-viewport-stabilizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-stabilizer/","maintainer":"Yaroslav_Yushk","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Tracking"]},{"id":"multiple_camera_render","schema_version":"1.0.0","name":"Multiple Camera Render","version":"4.4.0","tagline":"Sequential rendering from multiple cameras","archive_hash":"sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441","archive_size":135372,"archive_url":"https://extensions.blender.org/download/sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441/add-on-multiple-camera-render-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multiple-camera-render/","maintainer":"ivan-perevala","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Writing execution log files inside extension directory"},"tags":["Render","Animation","Camera","3D View"]},{"id":"set_vertex_distance","schema_version":"1.0.0","name":"Set Vertex Distance","version":"1.0.0","tagline":"Set distance between two vertices along a specific axis","archive_hash":"sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f","archive_size":2537,"archive_url":"https://extensions.blender.org/download/sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f/add-on-set-vertex-distance-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-vertex-distance/","maintainer":"alicoskun","license":["SPDX:GPL-3.0-or-later"]},{"id":"modifer_stack_manager","schema_version":"1.0.0","name":"Modifier Stack Manager","version":"1.1.1","tagline":"A UI List implementation for Blender's modifier stack","archive_hash":"sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996","archive_size":4750,"archive_url":"https://extensions.blender.org/download/sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996/add-on-modifer-stack-manager-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifer-stack-manager/","maintainer":"salaivv","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"cloud_midnight_teal","schema_version":"1.0.0","name":"Cloud Guy's Theme","version":"1.0.3","tagline":"Custom theme made by me and a friend","archive_hash":"sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816","archive_size":5920,"archive_url":"https://extensions.blender.org/download/sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816/theme-cloud-midnight-teal-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cloud-midnight-teal/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Cad_measure_extension","schema_version":"1.0.0","name":"Cad_Dimensions","version":"2.0.0","tagline":"Extension for a new measuring system","archive_hash":"sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb","archive_size":251303,"archive_url":"https://extensions.blender.org/download/sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb/add-on-cad-measure-extension-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cad-measure-extension/","maintainer":"Mr.Nobody3d","license":["SPDX:GPL-3.0-or-later"]},{"id":"Bbrush","schema_version":"1.0.0","name":"Bbrush","version":"1.4.7","tagline":"Sculpting using only a pen and keyboard","archive_hash":"sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96","archive_size":543050,"archive_url":"https://extensions.blender.org/download/sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96/add-on-bbrush-v1.4.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bbrush/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Keymap file load, View navigation texture load"},"tags":["Sculpt"]},{"id":"geonode_to_shapekey","schema_version":"1.0.0","name":"Geonode To Shapekey","version":"1.1.0","tagline":"Convert geometry nodes to shapekeys. Useful for glTF export","archive_hash":"sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc","archive_size":5068,"archive_url":"https://extensions.blender.org/download/sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc/add-on-geonode-to-shapekey-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-to-shapekey/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes","Pipeline"]},{"id":"nocturna_theme","schema_version":"1.0.0","name":"Nocturna","version":"1.2.1","tagline":"Nocturna - A Dark Theme for Blender","archive_hash":"sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7","archive_size":5825,"archive_url":"https://extensions.blender.org/download/sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7/theme-nocturna-theme-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/nocturna-theme/","maintainer":"AlejandroSQR","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"better_bend","schema_version":"1.0.0","name":"Better Bend","version":"1.1.0","tagline":"Cinema 4D-style deformers for Blender","archive_hash":"sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91","archive_size":4729,"archive_url":"https://extensions.blender.org/download/sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91/add-on-better-bend-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/better-bend/","maintainer":"Lije.Morgan","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"capture_thumbnails_from_viewport","schema_version":"1.0.0","name":"Asset Browser: Capture Thumbnail from Viewport","version":"1.0.3","tagline":"Add new thumbnails for you asset based on the current viewport","archive_hash":"sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6","archive_size":1759,"archive_url":"https://extensions.blender.org/download/sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6/add-on-capture-thumbnails-from-viewport-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/capture-thumbnails-from-viewport/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create a .png in temp folder"},"tags":["Pipeline"]},{"id":"skin_weights_copypaster","schema_version":"1.0.0","name":"Skin Weights Copypaster","version":"0.3.3","tagline":"Copies skin weights from one vertex to selection","archive_hash":"sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3","archive_size":16850,"archive_url":"https://extensions.blender.org/download/sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3/add-on-skin-weights-copypaster-v0.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-weights-copypaster/","maintainer":"Ihor-Spasivskyi","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"MAD","schema_version":"1.0.0","name":"MAD (Microphone Audio Driver)","version":"0.1.6","tagline":"Use your Microphone as an Animation Driver in Blender","archive_hash":"sha256:fd2c01fb744c526daa1d1a4020d315cbf2568bd18460d528a3dfb0a4daf3232b","archive_size":663187,"archive_url":"https://extensions.blender.org/download/sha256:fd2c01fb744c526daa1d1a4020d315cbf2568bd18460d528a3dfb0a4daf3232b/add-on-mad-v0.1.6-windows-x64-windows-arm64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mad/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"permissions":{"microphone":"Capture audio input for real-time animation"},"platforms":["windows-x64","windows-arm64"],"tags":["Rigging","Animation"]},{"id":"iocgpoly_lip_sync","schema_version":"1.0.0","name":"Lip Sync","version":"2.3.2","tagline":"Automatic lip sync for your Blender models","archive_hash":"sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3","archive_size":37476376,"archive_url":"https://extensions.blender.org/download/sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3/add-on-iocgpoly-lip-sync-v2.3.2-windows-x64.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/iocgpoly-lip-sync/","maintainer":"Charley3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Models / Extract libs to disk","network":"Need to download Voices Models to enable lip sync"},"platforms":["windows-x64"],"tags":["Animation","Sequencer"]},{"id":"FakeBones","schema_version":"1.0.0","name":"FakeBones","version":"1.0.7","tagline":"enhance armature visualization","archive_hash":"sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1","archive_size":4158,"archive_url":"https://extensions.blender.org/download/sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1/add-on-fakebones-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fakebones/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Steam","schema_version":"1.0.0","name":"Steam","version":"2.0.0","tagline":"Inspired by the old Steam UI. ","archive_hash":"sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98","archive_size":5570,"archive_url":"https://extensions.blender.org/download/sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98/theme-steam-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/steam/","maintainer":"ArtinŌr","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"AnimCurveSorter","schema_version":"1.0.0","name":"Anim Curve Sorter","version":"1.0.2","tagline":"Easily organise your animation curves","archive_hash":"sha256:2952fa50ce39cdff182259c7041e4a276a7524a73813d2adc75f448c3afa1721","archive_size":17382,"archive_url":"https://extensions.blender.org/download/sha256:2952fa50ce39cdff182259c7041e4a276a7524a73813d2adc75f448c3afa1721/add-on-animcurvesorter-v1.0.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animcurvesorter/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ccustomnodes","schema_version":"1.0.0","name":"Object Utility Nodes","version":"1.0.3","tagline":"Custom nodes in new node editor","archive_hash":"sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec","archive_size":2710932,"archive_url":"https://extensions.blender.org/download/sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec/add-on-ccustomnodes-v1.0.3-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ccustomnodes/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save colorwheel pictures from/to temp folder"},"platforms":["windows-x64"],"tags":["Node"]},{"id":"easymesh_batch_exporter","schema_version":"1.0.0","name":"EasyMesh Batch Exporter","version":"1.5.0","tagline":"Streamlined mesh export for game development workflows","archive_hash":"sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6","archive_size":84118,"archive_url":"https://extensions.blender.org/download/sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6/add-on-easymesh-batch-exporter-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easymesh-batch-exporter/","maintainer":"spec-arte","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export mesh files to the specified directory"},"tags":["Import-Export"]},{"id":"SuperDuperBatchExporter","schema_version":"1.0.0","name":"Super Duper Batch Exporter","version":"2.7.1","tagline":"One click export to multiple files","archive_hash":"sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6","archive_size":27233,"archive_url":"https://extensions.blender.org/download/sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6/add-on-superduperbatchexporter-v2.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/superduperbatchexporter/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk & create subdirectories in output directory"},"tags":["Import-Export"]},{"id":"measure_and_scale","schema_version":"1.0.0","name":"Measure and Scale","version":"1.1.6","tagline":"Measure and Scale object uniformaly","archive_hash":"sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5","archive_size":9679,"archive_url":"https://extensions.blender.org/download/sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5/add-on-measure-and-scale-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/measure-and-scale/","maintainer":"Belaid-ZIANE","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"Enhanced_Top_Bar","schema_version":"1.0.0","name":"Enhanced Top Bar","version":"1.0.4","tagline":"Easy access to your ViewLayers rendering properties","archive_hash":"sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5","archive_size":6863,"archive_url":"https://extensions.blender.org/download/sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5/add-on-enhanced-top-bar-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/enhanced-top-bar/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Mesh2Rig","schema_version":"1.0.0","name":"Mesh2Rig","version":"2.5.0","tagline":"Transfer simulation, shape keys and other to rig animation","archive_hash":"sha256:5c8623854ee991516160767ee929f214a96e367fa416266866479d133652674a","archive_size":16675,"archive_url":"https://extensions.blender.org/download/sha256:5c8623854ee991516160767ee929f214a96e367fa416266866479d133652674a/add-on-mesh2rig-v2.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh2rig/","maintainer":"Sporenoe3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Bake","Game Engine","Pipeline"]},{"id":"Individual_Camera_Properties","schema_version":"1.0.0","name":"Individual Camera Properties","version":"0.0.6","tagline":"Resolution, Scene and Render properties for each camera instance","archive_hash":"sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1","archive_size":5858,"archive_url":"https://extensions.blender.org/download/sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1/add-on-individual-camera-properties-v0.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/individual-camera-properties/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"VSE_SRT_Subtitle_Importer_4_2_extension","schema_version":"1.0.0","name":"SRT Subtitle Importer/Exporter","version":"2.0.0","tagline":"Import/Export SRT subtitle files to/from VSE strips","archive_hash":"sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64","archive_size":7448,"archive_url":"https://extensions.blender.org/download/sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64/add-on-vse-srt-subtitle-importer-4-2-extension-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/vse-srt-subtitle-importer-4-2-extension/","maintainer":"PoYakong","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"DorchaLiath","schema_version":"1.0.0","name":"Dorcha Liath","version":"5.0.1","tagline":"Dark Grey","archive_hash":"sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d","archive_size":5206,"archive_url":"https://extensions.blender.org/download/sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d/theme-dorchaliath-v5.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dorchaliath/","maintainer":"rory-fly","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"QuickCatalogs","schema_version":"1.0.0","name":"Quick Catalogs ( Asset Browser )","version":"1.0.1","tagline":"Make Asset Catalogs from selected Collections","archive_hash":"sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4","archive_size":2298,"archive_url":"https://extensions.blender.org/download/sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4/add-on-quickcatalogs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickcatalogs/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"import_export_skin_weights","schema_version":"1.0.0","name":"Import Export Skin Weights","version":"1.0.1","tagline":"Import and export skin weights for Blender","archive_hash":"sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412","archive_size":16987,"archive_url":"https://extensions.blender.org/download/sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412/add-on-import-export-skin-weights-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-export-skin-weights/","maintainer":"Nguyen-Phuc-Nguyen","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Import-Export"]},{"id":"menace","schema_version":"1.0.0","name":"Menace","version":"2.0.0","tagline":"The official HugeMenace theme for Blender","archive_hash":"sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d","archive_size":5448,"archive_url":"https://extensions.blender.org/download/sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d/theme-menace-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/menace/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"solid_boot","schema_version":"1.0.0","name":"Solid Boot","version":"1.1.0","tagline":"3D Views loaded in Solid Mode rather Material Preview","archive_hash":"sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa","archive_size":15759,"archive_url":"https://extensions.blender.org/download/sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa/add-on-solid-boot-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/solid-boot/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"neon_nexus","schema_version":"1.0.0","name":"Neon Nexus","version":"1.3.0","tagline":"A futuristic neon theme for Blender","archive_hash":"sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a","archive_size":6154,"archive_url":"https://extensions.blender.org/download/sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a/theme-neon-nexus-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neon-nexus/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"SaveSelection","schema_version":"1.0.0","name":"Save Selection","version":"1.0.5","tagline":"Save selected objects in Blender Format","archive_hash":"sha256:615594aed9531a69fb49db5f928888886812f5ed83a63974a694a21f0e8f769e","archive_size":3694,"archive_url":"https://extensions.blender.org/download/sha256:615594aed9531a69fb49db5f928888886812f5ed83a63974a694a21f0e8f769e/add-on-saveselection-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/saveselection/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"grey_orange","schema_version":"1.0.0","name":"Grey Orange","version":"3.0.1","tagline":"Dark neutral grey theme with orange accents","archive_hash":"sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085","archive_size":6581,"archive_url":"https://extensions.blender.org/download/sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085/theme-grey-orange-v3.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/grey-orange/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neutro_Laranja","schema_version":"1.0.0","name":"Neutro Laranja","version":"2.0.0","tagline":"Light and Orange","archive_hash":"sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7","archive_size":6441,"archive_url":"https://extensions.blender.org/download/sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7/theme-neutro-laranja-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutro-laranja/","maintainer":"Push","license":["SPDX:GPL-3.0-or-later"]},{"id":"quickj","schema_version":"1.0.0","name":"Quick J ( Connect Vertex Path )","version":"1.2.0","tagline":"Quickly connect vertices under the cursor","archive_hash":"sha256:4c7a02ff221bd957d9d8be2cadf5519a2bc68adb9ca7960abb5bbe246dab1905","archive_size":2524,"archive_url":"https://extensions.blender.org/download/sha256:4c7a02ff221bd957d9d8be2cadf5519a2bc68adb9ca7960abb5bbe246dab1905/add-on-quickj-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickj/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"Batch_Material_Helper","schema_version":"1.0.0","name":"Batch Material Helper","version":"1.0.5","tagline":"Helps you quickly modify materials","archive_hash":"sha256:6ea2cdd45a24ca5d078c44d827848786cb43ffa1a0144ca1d854047887324b2e","archive_size":3663,"archive_url":"https://extensions.blender.org/download/sha256:6ea2cdd45a24ca5d078c44d827848786cb43ffa1a0144ca1d854047887324b2e/add-on-batch-material-helper-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-material-helper/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"UV_Flatten_Tool","schema_version":"1.0.0","name":"UV_Flatten_Tool","version":"1.0.7","tagline":"Flatten mesh to active UV coordinates and store as shape key","archive_hash":"sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b","archive_size":2774,"archive_url":"https://extensions.blender.org/download/sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b/add-on-uv-flatten-tool-v1.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/uv-flatten-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"fractal_family","schema_version":"1.0.0","name":"Fractal Family","version":"1.1.4","tagline":"Create fractal curves with ease using complex integer lattices","archive_hash":"sha256:47b64ab45e2f10acfcfe92bf0c2272a53a17fe6736f86246b7906a1611a3a587","archive_size":16976,"archive_url":"https://extensions.blender.org/download/sha256:47b64ab45e2f10acfcfe92bf0c2272a53a17fe6736f86246b7906a1611a3a587/add-on-fractal-family-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fractal-family/","maintainer":"imare32","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"apply_modifiers_with_shape_keys","schema_version":"1.0.0","name":"Apply modifier with shape keys","version":"1.0.4","tagline":"Applies modifiers on objects even if they have shape keys","archive_hash":"sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab","archive_size":19128,"archive_url":"https://extensions.blender.org/download/sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab/add-on-apply-modifiers-with-shape-keys-v1.0.4.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/apply-modifiers-with-shape-keys/","maintainer":"Orange Turbine","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Modeling","Rigging"]},{"id":"animation_transform_offset","schema_version":"1.0.0","name":"Animation Transform Offset","version":"1.0.0","tagline":"Transform objects and offset their animations in one go","archive_hash":"sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc","archive_size":15793,"archive_url":"https://extensions.blender.org/download/sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc/add-on-animation-transform-offset-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/animation-transform-offset/","maintainer":"softyoda","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"multi_user","schema_version":"1.0.0","name":"Multiuser","version":"0.7.1","tagline":"Enable real-time collaborative workflow inside blender","archive_hash":"sha256:c14e05904a604a8c8305c88d0d5a79aaffcad2c8dd4a5156c552a47619bfda02","archive_size":2271596,"archive_url":"https://extensions.blender.org/download/sha256:c14e05904a604a8c8305c88d0d5a79aaffcad2c8dd4a5156c552a47619bfda02/add-on-multi-user-v0.7.1-windows-x64.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/multi-user/","maintainer":"slumber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Need to sync scene data to server"},"platforms":["windows-x64"]},{"id":"references_overlays","schema_version":"1.0.0","name":"References Overlays","version":"2.2.8","tagline":"PureRef for Blender. You can add references in the 3D Viewport","archive_hash":"sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010","archive_size":14729,"archive_url":"https://extensions.blender.org/download/sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010/add-on-references-overlays-v2.2.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/references-overlays/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import BMP/TIFF/PNG/JPG/JPEG/GIF/MP4/WEBM from/to disk","clipboard":"Paste image from the Clipboard"},"tags":["3D View","User Interface"]},{"id":"altview","schema_version":"1.0.0","name":"AltView","version":"1.0.1","tagline":"Switch views + lock/unlock rotation","archive_hash":"sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60","archive_size":4561,"archive_url":"https://extensions.blender.org/download/sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60/add-on-altview-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/altview/","maintainer":"Iurii-Tiuzhin","license":["SPDX:GPL-3.0-or-later"]},{"id":"remove_static_fcurves","schema_version":"1.0.0","name":"Remove Static FCurves","version":"0.4.0","tagline":"Clean up animation channels that have no data","archive_hash":"sha256:3cd0f3e31abab7e43f94fe836167b818f5e9de0f62563c635abbf2da976b120d","archive_size":6729,"archive_url":"https://extensions.blender.org/download/sha256:3cd0f3e31abab7e43f94fe836167b818f5e9de0f62563c635abbf2da976b120d/add-on-remove-static-fcurves-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/remove-static-fcurves/","maintainer":"lokimckay","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paint_system","schema_version":"1.0.0","name":"Paint System","version":"2.1.8","tagline":"Addon for adding painting system to blender","archive_hash":"sha256:cbb698f9fe671f9ff7a8cbb433d9f50eb472da9369cacf8596e2fe62e34dab48","archive_size":3871209,"archive_url":"https://extensions.blender.org/download/sha256:cbb698f9fe671f9ff7a8cbb433d9f50eb472da9369cacf8596e2fe62e34dab48/add-on-paint-system-v2.1.8-linux-x64-windows-x64-macos-x64-macos-arm64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-system/","maintainer":"Tawan-Sunflower","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and saving images / detecting image editors","network":"Update donation information"},"platforms":["linux-x64","windows-x64","macos-x64","macos-arm64","windows-arm64"],"tags":["Paint"]},{"id":"PlaceHelper","schema_version":"1.0.0","name":"Place Helper","version":"1.3.8","tagline":"Easily place objects in Blender","archive_hash":"sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16","archive_size":66786,"archive_url":"https://extensions.blender.org/download/sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16/add-on-placehelper-v1.3.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/placehelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Object"]},{"id":"headsup_warnings","schema_version":"1.0.0","name":"HeadsUp Warnings","version":"1.1.0","tagline":"Display UI warnings to avoid and resolve common mistakes","archive_hash":"sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880","archive_size":33611,"archive_url":"https://extensions.blender.org/download/sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880/add-on-headsup-warnings-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/headsup-warnings/","maintainer":"ManuelLuellau","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check filepaths to validate if Textures are missing"},"tags":["3D View","Compositing","Render"]},{"id":"unlooped","schema_version":"1.0.0","name":"Unlooped","version":"1.0.1","tagline":"Prevent Blender from looping scene playback","archive_hash":"sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4","archive_size":14253,"archive_url":"https://extensions.blender.org/download/sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4/add-on-unlooped-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/unlooped/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Blend95","schema_version":"1.0.0","name":"Blend95","version":"0.9.9","tagline":"90s, xp, old","archive_hash":"sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f","archive_size":5908,"archive_url":"https://extensions.blender.org/download/sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f/theme-blend95-v0.9.9.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/blend95/","maintainer":"romanasdf1","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Quick_Studio_Light","schema_version":"1.0.0","name":"Quick Studio Light","version":"1.1.2","tagline":"Simple and fast lighting with improved selection","archive_hash":"sha256:4fe5330d7b3d55d4b63dd5b52a210d53278022c0a45541c4f9f55591c0726a59","archive_size":78932,"archive_url":"https://extensions.blender.org/download/sha256:4fe5330d7b3d55d4b63dd5b52a210d53278022c0a45541c4f9f55591c0726a59/add-on-quick-studio-light-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-studio-light/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"hyperfy_tools","schema_version":"1.0.0","name":"Hyperfy Tools","version":"1.5.0","tagline":"Tools for creating Hyperfy assets","archive_hash":"sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e","archive_size":25418,"archive_url":"https://extensions.blender.org/download/sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e/add-on-hyperfy-tools-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hyperfy-tools/","maintainer":"HowieDuhzit","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export GLB files from/to disk"},"tags":["Physics","Import-Export","3D View","Game Engine","Object"]},{"id":"typst_importer","schema_version":"1.0.0","name":"Typst Importer","version":"0.2.4","tagline":"Render mathematical equations and code blocks","archive_hash":"sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081","archive_size":25708353,"archive_url":"https://extensions.blender.org/download/sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081/add-on-typst-importer-v0.2.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/typst-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"node_align","schema_version":"1.0.0","name":"Node Align(节点对齐)","version":"3.2.0","tagline":"Shift+Q|Ctrl+Q Pie menu-Align Nodes in Multiple Ways(多种方式对齐节点)","archive_hash":"sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8","archive_size":24154,"archive_url":"https://extensions.blender.org/download/sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8/add-on-node-align-v3.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-align/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"gp_tween","schema_version":"1.0.0","name":"GP Tween (c)","version":"2.4.0","tagline":"Quick Grease Pencil Tweening","archive_hash":"sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25","archive_size":169988,"archive_url":"https://extensions.blender.org/download/sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25/add-on-gp-tween-v2.4.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-tween/","maintainer":"cosmosmythos","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write GP Tween nodegroup asset from/to disk","clipboard":"Copy and Paste GP Tween nodegroup"},"tags":["Grease Pencil","Animation","Geometry Nodes"]},{"id":"time_tracker","schema_version":"1.0.0","name":"Time Tracker","version":"0.2.4","tagline":"This extension tracks your time spent in blend files","archive_hash":"sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9","archive_size":23923,"archive_url":"https://extensions.blender.org/download/sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9/add-on-time-tracker-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-tracker/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save timing data to disk"},"tags":["System"]},{"id":"simple_audio_visualizer","schema_version":"1.0.0","name":"Simple Audio Visualizer","version":"1.2.0","tagline":"Creates a simple audio visualizer","archive_hash":"sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190","archive_size":6391,"archive_url":"https://extensions.blender.org/download/sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190/add-on-simple-audio-visualizer-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-audio-visualizer/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import audio from disk"},"tags":["Animation"]},{"id":"easy_clouds","schema_version":"1.0.0","name":"Easy Clouds","version":"2.2.0","tagline":"Procedural clouds that are easy to customize","archive_hash":"sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd","archive_size":10614,"archive_url":"https://extensions.blender.org/download/sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd/add-on-easy-clouds-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easy-clouds/","maintainer":"LunarKitten","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Add Mesh","Node"]},{"id":"MustardSimplify","schema_version":"1.0.0","name":"Mustard Simplify","version":"2025.4.1","tagline":"Tool to simplify scenes for improved viewport performance","archive_hash":"sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1","archive_size":42341,"archive_url":"https://extensions.blender.org/download/sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1/add-on-mustardsimplify-v2025.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mustardsimplify/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"QuickTools_v3","schema_version":"1.0.0","name":"Grease Pencil QuickTools_v3","version":"1.1.5","tagline":"Grease Pencil Toobar in N sidebar with auto mode switch","archive_hash":"sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3","archive_size":53225,"archive_url":"https://extensions.blender.org/download/sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3/add-on-quicktools-v3-v1.1.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/quicktools-v3/","maintainer":"PongBuster","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"named_attribute_list","schema_version":"1.0.0","name":"Named Attribute List(命名属性列表)","version":"2.8.2","tagline":"Quickly Add Attribute Node in GN and Shader(几何节点和材质里快速添加属性节点)","archive_hash":"sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772","archive_size":98415,"archive_url":"https://extensions.blender.org/download/sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772/add-on-named-attribute-list-v2.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/named-attribute-list/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"CurveFitting","schema_version":"1.0.0","name":"Curve Fitting","version":"0.3.0","tagline":"Smooth out uneven vertex arrangements keeping original shape","archive_hash":"sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a","archive_size":22449,"archive_url":"https://extensions.blender.org/download/sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a/add-on-curvefitting-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curvefitting/","maintainer":"zuda77","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"Utilities_Gadget","schema_version":"1.0.0","name":"Utilities Gadget","version":"1.1.5","tagline":"Batch rendering and model conversio","archive_hash":"sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc","archive_size":6095,"archive_url":"https://extensions.blender.org/download/sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc/add-on-utilities-gadget-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/utilities-gadget/","maintainer":"HurcaGuari","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"bbone_Tools","schema_version":"1.0.0","name":"the bendybones toolkit","version":"1.6.0","tagline":"a simple toolkit for rigging with bendybones","archive_hash":"sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79","archive_size":4337,"archive_url":"https://extensions.blender.org/download/sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79/add-on-bbone-tools-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bbone-tools/","maintainer":"Felipe-G","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"viewtools","schema_version":"1.0.0","name":"ViewTools","version":"1.0.0","tagline":"Essential Viewport tools for industrial workflows","archive_hash":"sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922","archive_size":4857,"archive_url":"https://extensions.blender.org/download/sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922/add-on-viewtools-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/viewtools/","maintainer":"Ishara-Sandeepa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","Mesh","Object"]},{"id":"Coloraide","schema_version":"1.0.0","name":"Coloraide","version":"1.5.1","tagline":"Advanced color picking and color management tools","archive_hash":"sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad","archive_size":75163,"archive_url":"https://extensions.blender.org/download/sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad/add-on-coloraide-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/coloraide/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Grease Pencil","3D View"]},{"id":"persiantype","schema_version":"1.0.0","name":"Persian type","version":"2.0.1","tagline":"Add Persian/Arabic type directly to Blender","archive_hash":"sha256:f519fd2e627f369686c5b9272526326b5cfb37e2555deb39f1a17299b8f1cb9e","archive_size":1952767,"archive_url":"https://extensions.blender.org/download/sha256:f519fd2e627f369686c5b9272526326b5cfb37e2555deb39f1a17299b8f1cb9e/add-on-persiantype-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/persiantype/","maintainer":"Damyar","license":["SPDX:GPL-3.0-or-later"]},{"id":"group_input_helper","schema_version":"1.0.0","name":"Group input helper(节点组输入助手)","version":"2.9.3","tagline":"Qucik add/split/merge Group Input node/socket(快速添加拆分合并移动组输入节点接口)","archive_hash":"sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb","archive_size":76074,"archive_url":"https://extensions.blender.org/download/sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb/add-on-group-input-helper-v2.9.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/group-input-helper/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"shutdown_after_render","schema_version":"1.0.0","name":"Shutdown after render","version":"0.4.0","tagline":"Automatically shuts down your PC after your render finishes","archive_hash":"sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a","archive_size":4087,"archive_url":"https://extensions.blender.org/download/sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a/add-on-shutdown-after-render-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shutdown-after-render/","maintainer":"David-Bühler","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"io_scene_pod","schema_version":"1.0.0","name":"UbiSoft Pod formats","version":"0.32.0","tagline":"Import-Export Pod circuits, ghosts, images, and vehicles","archive_hash":"sha256:b00e12689f65337a4e3b6351de79fdd1115f57c9c25779b4da98d24e8ba48755","archive_size":7204352,"archive_url":"https://extensions.blender.org/download/sha256:b00e12689f65337a4e3b6351de79fdd1115f57c9c25779b4da98d24e8ba48755/add-on-io-scene-pod-v0.32.0-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-scene-pod/","maintainer":"Syroot","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export","Scene"]},{"id":"has_paint_layers","schema_version":"1.0.0","name":"HAS Paint Layers","version":"0.8.93","tagline":"Layers for texture painting","archive_hash":"sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255","archive_size":68078,"archive_url":"https://extensions.blender.org/download/sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255/add-on-has-paint-layers-v0.8.93.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/has-paint-layers/","maintainer":"Hirourk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store temporary images"},"tags":["Paint","Bake"]},{"id":"shapekey_keeper","schema_version":"1.0.0","name":"SKkeeper","version":"1.8.2","tagline":"Applies modifiers while keeping shapekeys and drivers","archive_hash":"sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678","archive_size":20217,"archive_url":"https://extensions.blender.org/download/sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678/add-on-shapekey-keeper-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapekey-keeper/","maintainer":"Nidus","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"RetroGrey","schema_version":"1.0.0","name":"RetroGrey","version":"1.3.2","tagline":"Theme inspired by the grey color of 90s computer devices","archive_hash":"sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38","archive_size":6800,"archive_url":"https://extensions.blender.org/download/sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38/theme-retrogrey-v1.3.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/retrogrey/","maintainer":"Oskar_Wasiluk","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"datablock_utils","schema_version":"1.0.0","name":"Data-Block Utilities","version":"1.3.0","tagline":"Show users, merge duplicates, find similar, and more","archive_hash":"sha256:ecbfa6cc02cb6620059c2cac9e6b109532b5626690f5562ac8a1b366412349c1","archive_size":1740275,"archive_url":"https://extensions.blender.org/download/sha256:ecbfa6cc02cb6620059c2cac9e6b109532b5626690f5562ac8a1b366412349c1/add-on-datablock-utils-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/datablock-utils/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System"]},{"id":"ambientcg_material_importer","schema_version":"1.0.0","name":"AmbientCG Material Importer","version":"1.4.0","tagline":"One-click material creation from AmbientCG","archive_hash":"sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082","archive_size":4167,"archive_url":"https://extensions.blender.org/download/sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082/add-on-ambientcg-material-importer-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ambientcg-material-importer/","maintainer":"Nino-Filiu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and cache textures to disk","network":"Makes calls to AmbientCG"},"tags":["Import-Export","Material"]},{"id":"cursor_plus","schema_version":"1.0.0","name":"3D Cursor Plus","version":"1.0.4","tagline":"Axes, undo and few other tools for your 3D Cursor","archive_hash":"sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47","archive_size":79566,"archive_url":"https://extensions.blender.org/download/sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47/add-on-cursor-plus-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cursor-plus/","maintainer":"chokavr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load gizmo presets and Pie menu configuration"},"tags":["3D View"]},{"id":"two_point_perspective","schema_version":"1.0.0","name":"Two-Point Perspective","version":"0.0.2","tagline":"Replaces the active camera with a two-point perspective one","archive_hash":"sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd","archive_size":17509,"archive_url":"https://extensions.blender.org/download/sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd/add-on-two-point-perspective-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/two-point-perspective/","maintainer":"Athina-Syntychaki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Grid_Dimensions","schema_version":"1.0.0","name":"Grid Dimensions/网格标注","version":"1.1.0","tagline":"Grid Dimensions/网格标注","archive_hash":"sha256:7df9c7f626d9990d222a6dc05613f2cafc6edb4b992b995545f91e11a53f0e80","archive_size":37347,"archive_url":"https://extensions.blender.org/download/sha256:7df9c7f626d9990d222a6dc05613f2cafc6edb4b992b995545f91e11a53f0e80/add-on-grid-dimensions-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-dimensions/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"mpfb","schema_version":"1.0.0","name":"MPFB","version":"2.0.14","tagline":"Human character generator and editor","archive_hash":"sha256:c0484d4f74e468262897b575e6535f3d2b14ebb44b68b0b79e5b9121f632e504","archive_size":44911109,"archive_url":"https://extensions.blender.org/download/sha256:c0484d4f74e468262897b575e6535f3d2b14ebb44b68b0b79e5b9121f632e504/add-on-mpfb-v2.0.14.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mpfb/","maintainer":"Joel-Palmius","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save data","network":"(optional) Interact with local instance of MakeHuman"},"tags":["Add Mesh","Rigging"]},{"id":"motion_inspector","schema_version":"1.0.0","name":"Motion inspector","version":"0.2.9","tagline":"Inspect F-Curves and animated object movement","archive_hash":"sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53","archive_size":4834,"archive_url":"https://extensions.blender.org/download/sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53/add-on-motion-inspector-v0.2.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motion-inspector/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"modern_primitive","schema_version":"1.0.0","name":"Modern Primitive","version":"0.0.47","tagline":"Modern Primitive for Non-Destructive Modeling","archive_hash":"sha256:6393172dcda74824d5405b3611965fef7548ad66b9de8264b948357520d4fbde","archive_size":3275996,"archive_url":"https://extensions.blender.org/download/sha256:6393172dcda74824d5405b3611965fef7548ad66b9de8264b948357520d4fbde/add-on-modern-primitive-v0.0.47.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modern-primitive/","maintainer":"Degarashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry-Node from Add-on Directory"},"tags":["Add Mesh","Modeling"]},{"id":"greasepencil_nudge_frames","schema_version":"1.0.0","name":"Grease Pencil Nudge Frames","version":"0.1.1","tagline":"Modify exposure in the dopesheet with D/F","archive_hash":"sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f","archive_size":1738,"archive_url":"https://extensions.blender.org/download/sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f/add-on-greasepencil-nudge-frames-v0.1.1.zip","type":"add-on","blender_version_min":"4.3.1","website":"https://extensions.blender.org/add-ons/greasepencil-nudge-frames/","maintainer":"bergamote","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Grease Pencil"]},{"id":"Non_Destructive_Primitives","schema_version":"1.0.0","name":"ND Primitives","version":"0.2.46","tagline":"Non-Destructive Parametric Primitives in Blender","archive_hash":"sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8","archive_size":290494,"archive_url":"https://extensions.blender.org/download/sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8/add-on-non-destructive-primitives-v0.2.46.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/non-destructive-primitives/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry Nodes Objects from Add-on Folder"},"tags":["Modeling","Add Mesh"]},{"id":"node_pinyin","schema_version":"1.0.0","name":"szm/首字母","version":"1.2.0","tagline":"Enable node and modifier search with PinYin/支持节点和修改器的中文拼音搜索","archive_hash":"sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe","archive_size":40672,"archive_url":"https://extensions.blender.org/download/sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe/add-on-node-pinyin-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-pinyin/","maintainer":"Xinyu-Zhu","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"proto_game_asset_tools","schema_version":"1.0.0","name":"PROTO Game Asset Tools","version":"2.0.0","tagline":"Tools for game assets, improved export for Unreal, Unity, Godot","archive_hash":"sha256:4f2dff5513b046021466dc57e8c1b399682545e1d86b4feb47a56d45b5a853a4","archive_size":82467,"archive_url":"https://extensions.blender.org/download/sha256:4f2dff5513b046021466dc57e8c1b399682545e1d86b4feb47a56d45b5a853a4/add-on-proto-game-asset-tools-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/proto-game-asset-tools/","maintainer":"PROTOWLF","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX to disk","clipboard":"Copy and paste data"},"tags":["Import-Export","Game Engine"]},{"id":"b_subeditor","schema_version":"1.0.0","name":"B SubEditor","version":"1.0.1","tagline":"Sync subtitles in Text Editor/VSE","archive_hash":"sha256:ecf1dd66d0d2812603227a549d07efe010749e17149f7c3c247b07fa68f3cf5d","archive_size":6393,"archive_url":"https://extensions.blender.org/download/sha256:ecf1dd66d0d2812603227a549d07efe010749e17149f7c3c247b07fa68f3cf5d/add-on-b-subeditor-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-subeditor/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with subtitle files"},"tags":["Sequencer","Text Editor","Import-Export"]},{"id":"b_Unicode","schema_version":"1.0.0","name":"B Unicode","version":"1.0.2","tagline":"Access Unicode characters","archive_hash":"sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e","archive_size":5304,"archive_url":"https://extensions.blender.org/download/sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e/add-on-b-unicode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/b-unicode/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Sequencer","Text Editor"]},{"id":"sco_edgewise","schema_version":"1.0.0","name":"SCO EdgeWise","version":"2.0.3","tagline":"Measure distances, edge lengths, and angles in Edit Mode","archive_hash":"sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a","archive_size":137778,"archive_url":"https://extensions.blender.org/download/sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a/add-on-sco-edgewise-v2.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-edgewise/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"font_selector","schema_version":"1.0.0","name":"Font Selector","version":"3.2.2","tagline":"Browse available fonts from blender","archive_hash":"sha256:6f2006ea677059102fc7265f5dd0d9149ba80b93cbcef7d09d06aade32fda3c6","archive_size":1183546,"archive_url":"https://extensions.blender.org/download/sha256:6f2006ea677059102fc7265f5dd0d9149ba80b93cbcef7d09d06aade32fda3c6/add-on-font-selector-v3.2.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/font-selector/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files, Reading font files"},"tags":["Import-Export","System"]},{"id":"vertex_overlap","schema_version":"1.0.0","name":"Vertex Overlap","version":"1.1.0","tagline":"Alerts you to overlapping vertices in real-time","archive_hash":"sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14","archive_size":17220,"archive_url":"https://extensions.blender.org/download/sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14/add-on-vertex-overlap-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-overlap/","maintainer":"Shawn-Shipley","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"quick_resolution_setup","schema_version":"1.0.0","name":"Quick Resolution Setup","version":"1.1.0","tagline":"Quick Resolution Setup","archive_hash":"sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea","archive_size":23899,"archive_url":"https://extensions.blender.org/download/sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea/add-on-quick-resolution-setup-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-resolution-setup/","maintainer":"Hades-Su","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"audio_notifier","schema_version":"1.0.0","name":"Audio Notifier","version":"1.0.5","tagline":"Audio notifications for success, cancel and warning","archive_hash":"sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541","archive_size":36990,"archive_url":"https://extensions.blender.org/download/sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541/add-on-audio-notifier-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/audio-notifier/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"k_tools_mode_highlight","schema_version":"1.0.0","name":"K-Tools: Mode Highlight","version":"1.0.8","tagline":"Automatically change the header color based on the current mode","archive_hash":"sha256:7d1e680b0b1d313a1e874bd7f3b1c45503c1207f402da26284cbfddc1426c212","archive_size":4666,"archive_url":"https://extensions.blender.org/download/sha256:7d1e680b0b1d313a1e874bd7f3b1c45503c1207f402da26284cbfddc1426c212/add-on-k-tools-mode-highlight-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-mode-highlight/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"xray_selection_tools","schema_version":"1.0.0","name":"X-Ray Selection Tools","version":"4.9.2","tagline":"Box, lasso and circle selection tools with x-ray","archive_hash":"sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8","archive_size":85983,"archive_url":"https://extensions.blender.org/download/sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8/add-on-xray-selection-tools-v4.9.2.zip","type":"add-on","blender_version_min":"4.5.2","website":"https://extensions.blender.org/add-ons/xray-selection-tools/","maintainer":"MarshmallowCirno","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"autokey_highlight","schema_version":"1.0.0","name":"Autokey Highlight","version":"1.0.7","tagline":"Highlights the viewport when autokey is enabled","archive_hash":"sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8","archive_size":3186,"archive_url":"https://extensions.blender.org/download/sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8/add-on-autokey-highlight-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autokey-highlight/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View","System"]},{"id":"math_formula","schema_version":"1.0.0","name":"Math Formula","version":"2.2.0","tagline":"Quickly add nodes by typing in a formula","archive_hash":"sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27","archive_size":360600,"archive_url":"https://extensions.blender.org/download/sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27/add-on-math-formula-v2.2.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/math-formula/","maintainer":"WannesMalfait","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and writing custom implementations","clipboard":"Pasting formulas from clipboard"},"tags":["Node"]},{"id":"EdgeFlow","schema_version":"1.0.0","name":"EdgeFlow","version":"1.1.2","tagline":"Helps adjusting mesh geometry to curved surfaces","archive_hash":"sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1","archive_size":34350,"archive_url":"https://extensions.blender.org/download/sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1/add-on-edgeflow-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edgeflow/","maintainer":"Benjamin-Sauder","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"LightHepler","schema_version":"1.0.0","name":"Light Helper","version":"0.4.6","tagline":"Light Helper","archive_hash":"sha256:a99c5697ffcb22e6d7a64cd17d353137206b38b707519f03afcaa23933ba214d","archive_size":20722,"archive_url":"https://extensions.blender.org/download/sha256:a99c5697ffcb22e6d7a64cd17d353137206b38b707519f03afcaa23933ba214d/add-on-lighthepler-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lighthepler/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"lattice_helper","schema_version":"1.0.0","name":"Lattice Helper","version":"1.2.5","tagline":"Apply Lattice modifier to object(s) in object/edit mode","archive_hash":"sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4","archive_size":12464,"archive_url":"https://extensions.blender.org/download/sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4/add-on-lattice-helper-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lattice-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"color_randomizer","schema_version":"1.0.0","name":"Color Randomizer","version":"1.3.0","tagline":"Randomly assign colors to objects","archive_hash":"sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944","archive_size":10414,"archive_url":"https://extensions.blender.org/download/sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944/add-on-color-randomizer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-randomizer/","maintainer":"ilumetric","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"lumos","schema_version":"1.0.0","name":"Lumos","version":"3.2.1","tagline":"Bring your lighting to the next level","archive_hash":"sha256:ba3a80a1e6fd241a4d6a998f0bd26be10c79e60e3e45df390403b1d838bd3ba3","archive_size":43133,"archive_url":"https://extensions.blender.org/download/sha256:ba3a80a1e6fd241a4d6a998f0bd26be10c79e60e3e45df390403b1d838bd3ba3/add-on-lumos-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lumos/","maintainer":"Eqkoss","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"rmKit","schema_version":"1.0.0","name":"rmKit","version":"1.0.13","tagline":"Tools and Utils for Modeling and GameWorkflows","archive_hash":"sha256:25c336e8ad89518cb70c7a460ec07fa94d14bd7ebd6170974817d3ee3240b92c","archive_size":83033,"archive_url":"https://extensions.blender.org/download/sha256:25c336e8ad89518cb70c7a460ec07fa94d14bd7ebd6170974817d3ee3240b92c/add-on-rmkit-v1.0.13.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rmkit/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Mesh","Object","Material"]},{"id":"Duplication_Tool_addon","schema_version":"1.0.0","name":"Duplication Tool","version":"1.0.2","tagline":"Create copies with incremental names and materials","archive_hash":"sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864","archive_size":3052,"archive_url":"https://extensions.blender.org/download/sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864/add-on-duplication-tool-addon-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/duplication-tool-addon/","maintainer":"Vinay-chikkam","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","System"]},{"id":"sakura_poselib","schema_version":"1.0.0","name":"Sakura Poselib","version":"1.4.4","tagline":"Yet another Pose Library with handful features","archive_hash":"sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e","archive_size":56108,"archive_url":"https://extensions.blender.org/download/sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e/add-on-sakura-poselib-v1.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-poselib/","maintainer":"Kafuji","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load Poselib data as Json or CSV"},"tags":["Animation"]},{"id":"audio_exporter","schema_version":"1.0.0","name":"Audio Exporter","version":"1.1.0","tagline":"Export audio separate or combined files in VSE","archive_hash":"sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be","archive_size":6145,"archive_url":"https://extensions.blender.org/download/sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be/add-on-audio-exporter-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/audio-exporter/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it exports audio files"},"tags":["Sequencer"]},{"id":"Shadingplus","schema_version":"1.0.0","name":"Shading +","version":"1.1.2","tagline":"Shading pie for designers and artists","archive_hash":"sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8","archive_size":50492480,"archive_url":"https://extensions.blender.org/download/sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8/add-on-shadingplus-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shadingplus/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"caustics_baking_addon","schema_version":"1.0.0","name":"Caustics_Baking","version":"3.2.1","tagline":"Caustics Baking with Cycles","archive_hash":"sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e","archive_size":42951,"archive_url":"https://extensions.blender.org/download/sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e/add-on-caustics-baking-addon-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/caustics-baking-addon/","maintainer":"Benary","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"export images to disk"},"tags":["Bake","Lighting"]},{"id":"brushstroke_tools","schema_version":"1.0.0","name":"Brushstroke Tools","version":"1.1.2","tagline":"Brushstroke painting tools by the Blender Studio","archive_hash":"sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d","archive_size":29639997,"archive_url":"https://extensions.blender.org/download/sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d/add-on-brushstroke-tools-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/brushstroke-tools/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write brushstroke asset resources from/to disk"},"tags":["Paint","Geometry Nodes","Material"]},{"id":"node_color_tools","schema_version":"1.0.0","name":"Node Color Tools Pie","version":"1.0.3","tagline":"Quick, organized node colors with pie menu ease","archive_hash":"sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7","archive_size":4752,"archive_url":"https://extensions.blender.org/download/sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7/add-on-node-color-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"mesh_analysis_overlay","schema_version":"1.0.0","name":"Mesh Analysis Overlay","version":"4.1.0","tagline":"Mesh Analysis Overlay","archive_hash":"sha256:08b24bce782c7c8c72d47a3e2c8708a571f19538fed30d57d30fa874f7791a5c","archive_size":18588,"archive_url":"https://extensions.blender.org/download/sha256:08b24bce782c7c8c72d47a3e2c8708a571f19538fed30d57d30fa874f7791a5c/add-on-mesh-analysis-overlay-v4.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/mesh-analysis-overlay/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"gamiflow","schema_version":"1.0.0","name":"GamiFlow","version":"1.9.7","tagline":"Easier game asset creation","archive_hash":"sha256:0f5ad3bd8ac9d7f3f6ad0f5c4663946f9e0f27aabb6529b4161404173fbdfb85","archive_size":161899,"archive_url":"https://extensions.blender.org/download/sha256:0f5ad3bd8ac9d7f3f6ad0f5c4663946f9e0f27aabb6529b4161404173fbdfb85/add-on-gamiflow-v1.9.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gamiflow/","maintainer":"Mathieu.Einig","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX files to disk"},"tags":["Import-Export","Object"]},{"id":"Runlevel_Two","schema_version":"1.0.0","name":"Runlevel Two","version":"1.2.0","tagline":"A refined, distraction-free color palette, pleasing to the eye","archive_hash":"sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1","archive_size":5962,"archive_url":"https://extensions.blender.org/download/sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1/theme-runlevel-two-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/runlevel-two/","maintainer":"Rene-Smaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Accessibility","Colorful"]},{"id":"blenderdefender_gizmodalops","schema_version":"1.0.0","name":"Gizmodal Ops","version":"1.0.3","tagline":"An add-on that seamlessly blends Gizmo and Modal operations","archive_hash":"sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb","archive_size":24047,"archive_url":"https://extensions.blender.org/download/sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb/add-on-blenderdefender-gizmodalops-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blenderdefender-gizmodalops/","maintainer":"Beedy","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"render_overscan","schema_version":"1.0.0","name":"Render Overscan","version":"0.1.16","tagline":"Applies and manages overscan in renders","archive_hash":"sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa","archive_size":3933,"archive_url":"https://extensions.blender.org/download/sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa/add-on-render-overscan-v0.1.16.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/render-overscan/","maintainer":"efimpetelin","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"strip_array","schema_version":"1.0.0","name":"Strip Array","version":"1.1.0","tagline":"Array of duplicated strips, Customizable, Strips Display","archive_hash":"sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba","archive_size":4825,"archive_url":"https://extensions.blender.org/download/sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba/add-on-strip-array-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/strip-array/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"latticemagic","schema_version":"1.0.0","name":"Lattice Magic","version":"1.0.1","tagline":"Lattice-based deforming tools","archive_hash":"sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e","archive_size":29840,"archive_url":"https://extensions.blender.org/download/sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e/add-on-latticemagic-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/latticemagic/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"Show_Object_Data_Users_in_Viewport","schema_version":"1.0.0","name":"Show Collection/Object/Data Users in Viewport","version":"1.0.6","tagline":"Show Collection/Object/Data Users in the Viewport","archive_hash":"sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699","archive_size":4288,"archive_url":"https://extensions.blender.org/download/sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699/add-on-show-object-data-users-in-viewport-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/show-object-data-users-in-viewport/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"camera_shakify","schema_version":"1.0.0","name":"Camera Shakify","version":"0.5.1","tagline":"Add captured camera shake/wobble to your cameras","archive_hash":"sha256:40bb62e0960b301fe8c7b1de11ec959b8ce6c55ce03ed720c5c3b21c0c764e36","archive_size":78219,"archive_url":"https://extensions.blender.org/download/sha256:40bb62e0960b301fe8c7b1de11ec959b8ce6c55ce03ed720c5c3b21c0c764e36/add-on-camera-shakify-v0.5.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-shakify/","maintainer":"Eat the Future","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Camera"]},{"id":"embroidery_importer","schema_version":"1.0.0","name":"Embroidery Importer","version":"0.9.6","tagline":"Import embroidery files into Blender","archive_hash":"sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7","archive_size":157512,"archive_url":"https://extensions.blender.org/download/sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7/add-on-embroidery-importer-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/embroidery-importer/","maintainer":"javl","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read embroidery files from disk"},"tags":["Import-Export"]},{"id":"mio3_uv","schema_version":"1.0.0","name":"Mio3 UV","version":"2.0.1","tagline":"UV Edit Assistant Tools","archive_hash":"sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc","archive_size":5184961,"archive_url":"https://extensions.blender.org/download/sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc/add-on-mio3-uv-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-uv/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Imports images, nodes, and translations from the bundled files"},"tags":["UV"]},{"id":"S3D_QuickSwitch","schema_version":"1.0.0","name":"Quick Switch","version":"2.1.0","tagline":"Quickly switch between Editor Areas","archive_hash":"sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380","archive_size":6932,"archive_url":"https://extensions.blender.org/download/sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380/add-on-s3d-quickswitch-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/s3d-quickswitch/","maintainer":"Silvie3D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline"]},{"id":"spreadsheet_import","schema_version":"1.0.0","name":"Spreadsheet Import","version":"0.4.0","tagline":"Import data to spreadsheet for use with geometry nodes","archive_hash":"sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba","archive_size":16630,"archive_url":"https://extensions.blender.org/download/sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba/add-on-spreadsheet-import-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spreadsheet-import/","maintainer":"smonbrogg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load CSV and JSON files from disk"},"tags":["Import-Export","Geometry Nodes"]},{"id":"Scene_ViewLayer_Switcher","schema_version":"1.0.0","name":"Scene and ViewLayer Switcher","version":"1.0.6","tagline":"Shortcut for Scenes/ViewLayers","archive_hash":"sha256:00dd42056d58504b1a99ab4a48c874b81a98db676846a923c1ccc9a275ab9349","archive_size":10499,"archive_url":"https://extensions.blender.org/download/sha256:00dd42056d58504b1a99ab4a48c874b81a98db676846a923c1ccc9a275ab9349/add-on-scene-viewlayer-switcher-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-viewlayer-switcher/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"pohlke","schema_version":"1.0.0","name":"Pohlke","version":"1.2.0","tagline":"One-click standard orthographic and oblique projection cameras","archive_hash":"sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e","archive_size":14493,"archive_url":"https://extensions.blender.org/download/sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e/add-on-pohlke-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pohlke/","maintainer":"mononym","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"FishSim","schema_version":"1.0.0","name":"FishSim","version":"4.2.0","tagline":"Fish Swimming Simulation","archive_hash":"sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a","archive_size":16851312,"archive_url":"https://extensions.blender.org/download/sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a/add-on-fishsim-v4.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fishsim/","maintainer":"Nerk","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"sync_render_sets","schema_version":"1.0.0","name":"Sync Render Sets","version":"1.2.1","tagline":"Sync scenes render settings/colorspaces,viewlayers`s passes","archive_hash":"sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362","archive_size":24219,"archive_url":"https://extensions.blender.org/download/sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362/add-on-sync-render-sets-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-render-sets/","maintainer":"CP-Design","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"circular_stacker","schema_version":"1.0.0","name":"Circular Stacker","version":"1.0.0","tagline":"Distribute selected objects in a circular (donut) pattern","archive_hash":"sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451","archive_size":3099,"archive_url":"https://extensions.blender.org/download/sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451/add-on-circular-stacker-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/circular-stacker/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"overscan","schema_version":"1.0.0","name":"Overscan Render","version":"1.2.3","tagline":"Render with an overscan","archive_hash":"sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b","archive_size":3063,"archive_url":"https://extensions.blender.org/download/sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b/add-on-overscan-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Distribute","schema_version":"1.0.0","name":"Distribute","version":"1.1.0","tagline":"Distribute selected objects from first to last on X, Y or Z axis","archive_hash":"sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47","archive_size":1692,"archive_url":"https://extensions.blender.org/download/sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47/add-on-distribute-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/distribute/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"motionpath","schema_version":"1.0.0","name":"Motion Path Creator","version":"2.1.2","tagline":"Create motion paths for bones, vertices, empties and objects","archive_hash":"sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f","archive_size":6955,"archive_url":"https://extensions.blender.org/download/sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f/add-on-motionpath-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motionpath/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"fireray","schema_version":"1.0.0","name":"Fire Ray","version":"2.0.0","tagline":"Reality Capture setup and create an empty on a tracked camera","archive_hash":"sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3","archive_size":2709,"archive_url":"https://extensions.blender.org/download/sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3/add-on-fireray-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fireray/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"HDRIRotator","schema_version":"1.0.0","name":"HDRI Rotator","version":"1.1.3","tagline":"Rotate HDRIs, Shadows and Sun from the viewport","archive_hash":"sha256:104ca5af587bb671e13aa9c56a5a6c373e8e6932f101e961cfc261db57c34c0d","archive_size":18375,"archive_url":"https://extensions.blender.org/download/sha256:104ca5af587bb671e13aa9c56a5a6c373e8e6932f101e961cfc261db57c34c0d/add-on-hdrirotator-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdrirotator/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"auto_active_camera_switcher","schema_version":"1.0.0","name":"Auto Active Camera Switcher","version":"1.0.2","tagline":"Automatically makes the selected camera the active camera","archive_hash":"sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5","archive_size":2653,"archive_url":"https://extensions.blender.org/download/sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5/add-on-auto-active-camera-switcher-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-active-camera-switcher/","maintainer":"Yamato3D-3dnchu.com-","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera"]},{"id":"pcb3d_importer","schema_version":"1.0.0","name":"PCB 3D Importer","version":"2.17.4-fix","tagline":"Import PCB 3D Models from KiCad","archive_hash":"sha256:510b600c3155d7afedef450c05a7c1de9ee25fc1d0583ec6f45cfdd5ed374eed","archive_size":85003351,"archive_url":"https://extensions.blender.org/download/sha256:510b600c3155d7afedef450c05a7c1de9ee25fc1d0583ec6f45cfdd5ed374eed/add-on-pcb3d-importer-v2.17.4-fix-windows-x64-windows-arm64-linux-x64-macos-x64-macos-arm64.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/pcb3d-importer/","maintainer":"Bobbe","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .pcb3d files from disk"},"platforms":["windows-x64","windows-arm64","linux-x64","macos-x64","macos-arm64"],"tags":["Import-Export"]},{"id":"AddonProfiler","schema_version":"1.0.0","name":"Add-on Profiler","version":"2.1.0","tagline":"Monitor and capture add-on profiling data","archive_hash":"sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c/add-on-addonprofiler-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/addonprofiler/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and process benchmark and profile data"},"tags":["Development"]},{"id":"add_frame_range_presets","schema_version":"1.0.0","name":"Add Frame Range Presets","version":"1.1.3","tagline":"Create preset frame ranges in just a click","archive_hash":"sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed","archive_size":16118,"archive_url":"https://extensions.blender.org/download/sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed/add-on-add-frame-range-presets-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-frame-range-presets/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Light_Rain_Theme","schema_version":"1.0.0","name":"Light_Rain_Theme","version":"2.1.4","tagline":"Transparent Light Grey","archive_hash":"sha256:ef2d321959246456dc8ad8367146449a18dba8e6661be91285be7da9b48a1d3d","archive_size":5576,"archive_url":"https://extensions.blender.org/download/sha256:ef2d321959246456dc8ad8367146449a18dba8e6661be91285be7da9b48a1d3d/theme-light-rain-theme-v2.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/light-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"C3DB","schema_version":"1.0.0","name":"3D Cursors Briefcase","version":"0.1.5","tagline":"Store and manage multiple 3D Cursors","archive_hash":"sha256:ada3f81101ccc11fadaa391ca697e11b29e7696dc20f2e4355af9bb4bddd5901","archive_size":6191,"archive_url":"https://extensions.blender.org/download/sha256:ada3f81101ccc11fadaa391ca697e11b29e7696dc20f2e4355af9bb4bddd5901/add-on-c3db-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/c3db/","maintainer":"dupoxy","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"cameraide_settings","schema_version":"1.0.0","name":"Cameraide","version":"1.0.6","tagline":"Camera specific Resolution, Frame Range, Output Path & Format","archive_hash":"sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe","archive_size":34464,"archive_url":"https://extensions.blender.org/download/sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe/add-on-cameraide-settings-v1.0.6.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/cameraide-settings/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"simple_bounce_curve","schema_version":"1.0.0","name":"Simple Bounce Curve","version":"1.1.0","tagline":"Creates a simple bounce curve between selected objects","archive_hash":"sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b","archive_size":2102,"archive_url":"https://extensions.blender.org/download/sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b/add-on-simple-bounce-curve-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-bounce-curve/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Object"]},{"id":"org_tayou_bone_vertex_group_merge","schema_version":"1.0.0","name":"Bone and Vertex Group Merge","version":"1.2.0","tagline":"merge selected bones into the active bone","archive_hash":"sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf","archive_size":1084528,"archive_url":"https://extensions.blender.org/download/sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf/add-on-org-tayou-bone-vertex-group-merge-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/org-tayou-bone-vertex-group-merge/","maintainer":"Tayou","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Custom_Grid_Scales","schema_version":"1.0.0","name":"Custom Grid Scales","version":"1.1.0","tagline":"Adds the ability to quickly change between custom grid scales","archive_hash":"sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01","archive_size":2631,"archive_url":"https://extensions.blender.org/download/sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01/add-on-custom-grid-scales-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.1","website":"https://extensions.blender.org/add-ons/custom-grid-scales/","maintainer":"Jacob-Beatty","license":["SPDX:GPL-3.0-or-later"]},{"id":"more_colors","schema_version":"1.0.0","name":"More Colors!","version":"1.1.0","tagline":"A set of tools to make vertex painting easier","archive_hash":"sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2","archive_size":31239,"archive_url":"https://extensions.blender.org/download/sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2/add-on-more-colors-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/more-colors/","maintainer":"tojynick","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Mesh","Paint"]},{"id":"thomas_rig_legacy","schema_version":"1.0.0","name":"Thomas Rig Legacy","version":"1.2.2","tagline":"Addon for this rig","archive_hash":"sha256:0e2893a9731bbc6384ef7fe4a75a30d74c751a51661655c03369f7cf6ac2134c","archive_size":10607720,"archive_url":"https://extensions.blender.org/download/sha256:0e2893a9731bbc6384ef7fe4a75a30d74c751a51661655c03369f7cf6ac2134c/add-on-thomas-rig-legacy-v1.2.2-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/thomas-rig-legacy/","maintainer":"BlueEvilGFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the skin to Blender-tmp & read MC textures","network":"To download a skin with the Minecraft/Mojang API"},"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Animation","Rigging"]},{"id":"cortecloud_export","schema_version":"1.0.0","name":"CorteCloud Export","version":"1.0.5","tagline":"Manage and Export wood cut list to CorteCloud csv format","archive_hash":"sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191","archive_size":20274,"archive_url":"https://extensions.blender.org/download/sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191/add-on-cortecloud-export-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cortecloud-export/","maintainer":"Filipe-Rocha-Lopes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export csv files"}},{"id":"auto_reload","schema_version":"1.0.0","name":"Auto Reload","version":"3.1.2","tagline":"Automatic reload for external files","archive_hash":"sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4","archive_size":21511,"archive_url":"https://extensions.blender.org/download/sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4/add-on-auto-reload-v3.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-reload/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Checking/Reloading external files from current blend"},"tags":["Import-Export","Pipeline"]},{"id":"Colorista","schema_version":"1.0.0","name":"Colorista","version":"1.1.8","tagline":"A convenient color grading add-on designed for colorists","archive_hash":"sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2","archive_size":950327,"archive_url":"https://extensions.blender.org/download/sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2/add-on-colorista-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/colorista/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read Node"},"tags":["Modeling","Node","Render","Compositing"]},{"id":"popoti_align_helper","schema_version":"1.0.0","name":"POPOTI Align Helper","version":"1.2.7","tagline":"More friendly alignment based on observation perspective","archive_hash":"sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f","archive_size":95518,"archive_url":"https://extensions.blender.org/download/sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f/add-on-popoti-align-helper-v1.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/popoti-align-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"UV_Snapper","schema_version":"1.0.0","name":"UV Snapper","version":"1.1.1","tagline":"Snap selected UVs to a custom atlas","archive_hash":"sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb","archive_size":236058,"archive_url":"https://extensions.blender.org/download/sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb/add-on-uv-snapper-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-snapper/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"theme_moss","schema_version":"1.0.0","name":"Moss","version":"1.0.5","tagline":"Mossy castle dark theme","archive_hash":"sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078","archive_size":5609,"archive_url":"https://extensions.blender.org/download/sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078/theme-theme-moss-v1.0.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-moss/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"mesh_repair_tools","schema_version":"1.0.0","name":"Mesh Repair Tools","version":"4.0.2","tagline":"An integrated toolbox for mesh repair","archive_hash":"sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7","archive_size":13836,"archive_url":"https://extensions.blender.org/download/sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7/add-on-mesh-repair-tools-v4.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-repair-tools/","maintainer":"SineWave","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","User Interface"]},{"id":"profiling_buddy","schema_version":"1.0.0","name":"Profiling Buddy","version":"1.0.0","tagline":"Adds modifier panel to profile execution times","archive_hash":"sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0","archive_size":1756,"archive_url":"https://extensions.blender.org/download/sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0/add-on-profiling-buddy-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/profiling-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Rigging","Geometry Nodes","User Interface"]},{"id":"Proton","schema_version":"1.0.0","name":"Proton","version":"1.1.0","tagline":"A modern dark theme for Blender with purple accents","archive_hash":"sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99","archive_size":5141,"archive_url":"https://extensions.blender.org/download/sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99/theme-proton-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/proton/","maintainer":"VISaberToothIV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neo_Grey_Theme","schema_version":"1.0.0","name":"Neo_Grey_Theme","version":"2.4.2","tagline":"Dust Cloud","archive_hash":"sha256:6882357d6cd78a737e198fcaf53299c4c0bd3cc5c2e8e93d0dcb7c10dbbfe55b","archive_size":5600,"archive_url":"https://extensions.blender.org/download/sha256:6882357d6cd78a737e198fcaf53299c4c0bd3cc5c2e8e93d0dcb7c10dbbfe55b/theme-neo-grey-theme-v2.4.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neo-grey-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"SMEAR","schema_version":"1.0.0","name":"SMEAR","version":"1.1.8","tagline":"Create smear frames for 3D animations","archive_hash":"sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5","archive_size":3313751,"archive_url":"https://extensions.blender.org/download/sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5/add-on-smear-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smear/","maintainer":"Jean-Basset","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"simple_deform_helper","schema_version":"1.0.0","name":"Simple Deform Helper","version":"0.2.7","tagline":"Simple Deform visualization adjustment tool","archive_hash":"sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb","archive_size":173571,"archive_url":"https://extensions.blender.org/download/sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb/add-on-simple-deform-helper-v0.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-deform-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Mesh"]},{"id":"uv_toolkit","schema_version":"1.0.0","name":"UVToolkit","version":"2.1.4","tagline":"A collection of UV editing tools for Blender","archive_hash":"sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859","archive_size":2611931,"archive_url":"https://extensions.blender.org/download/sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859/add-on-uv-toolkit-v2.1.4.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/uv-toolkit/","maintainer":"razed","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","Material"]},{"id":"image_packer","schema_version":"1.0.0","name":"Image Packer","version":"1.0.7","tagline":"Packs images into a single image","archive_hash":"sha256:32ff0572ecfd9fd7af321ae9299f59101c3d222879c7d7aebb2622f1c3f82c2c","archive_size":24146,"archive_url":"https://extensions.blender.org/download/sha256:32ff0572ecfd9fd7af321ae9299f59101c3d222879c7d7aebb2622f1c3f82c2c/add-on-image-packer-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/image-packer/","maintainer":"Quint-Vrolijk","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"Modal_lattice_resolution","schema_version":"1.0.0","name":"Modal Lattice Resolution","version":"0.3.4","tagline":"Create Lattice or Tweak Resolution from 3D viewport, 'L' keymap","archive_hash":"sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b","archive_size":7314,"archive_url":"https://extensions.blender.org/download/sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b/add-on-modal-lattice-resolution-v0.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modal-lattice-resolution/","maintainer":"Tyo79","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"you_are_autosave","schema_version":"1.0.0","name":"You Are Autosave","version":"1.5.0","tagline":"Show a warning when you haven't saved in a while","archive_hash":"sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b","archive_size":17503,"archive_url":"https://extensions.blender.org/download/sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b/add-on-you-are-autosave-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/you-are-autosave/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"univ","schema_version":"1.0.0","name":"UniV","version":"3.9.8","tagline":"UV Toolkit","archive_hash":"sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c","archive_size":538491,"archive_url":"https://extensions.blender.org/download/sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c/add-on-univ-v3.9.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/univ/","maintainer":"Oxicid","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and updates icon files in the add-on directory"},"tags":["UV"]},{"id":"gesture_helper","schema_version":"1.0.0","name":"Gesture Helper","version":"2.2.6","tagline":"Quickly use gestures to run the operator or change properties","archive_hash":"sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5","archive_size":1125093,"archive_url":"https://extensions.blender.org/download/sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5/add-on-gesture-helper-v2.2.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gesture-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Gesture preset"},"tags":["3D View","User Interface"]},{"id":"bone_eyedropper","schema_version":"1.0.0","name":"Bone Eyedropper","version":"1.1.8","tagline":"Eyedrop a bone from active or target and assign it to a property","archive_hash":"sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd","archive_size":139882,"archive_url":"https://extensions.blender.org/download/sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd/add-on-bone-eyedropper-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-eyedropper/","maintainer":"Nifs","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .blend from disk","clipboard":"Copy property paths to clipboard"},"tags":["3D View","User Interface"]},{"id":"quick_export_extension","schema_version":"1.0.0","name":"Quick Export","version":"1.1.0","tagline":"Exports the active object's collection if it has exporters","archive_hash":"sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76","archive_size":2422,"archive_url":"https://extensions.blender.org/download/sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76/add-on-quick-export-extension-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-export-extension/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"Real_Time_Paths","schema_version":"1.0.0","name":"Motion Path Pro","version":"3.1.0","tagline":"Update motion path in real time","archive_hash":"sha256:eaee70d1ffaf5b3454ba6cd5c39d4b779b99bd59c52227aa0fea627276db7ff2","archive_size":15369,"archive_url":"https://extensions.blender.org/download/sha256:eaee70d1ffaf5b3454ba6cd5c39d4b779b99bd59c52227aa0fea627276db7ff2/add-on-real-time-paths-v3.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/real-time-paths/","maintainer":"Hamdi-Amer","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"theme_GreenKM","schema_version":"1.0.0","name":"Green Kode Mono","version":"1.1.6","tagline":"Kinda retro green theme","archive_hash":"sha256:9e27e44e3086d3df5937c923415b4271c6a4d6ff0cf288bb01cc62b362d46567","archive_size":6032,"archive_url":"https://extensions.blender.org/download/sha256:9e27e44e3086d3df5937c923415b4271c6a4d6ff0cf288bb01cc62b362d46567/theme-theme-greenkm-v1.1.6.zip","type":"theme","blender_version_min":"5.0.1","website":"https://extensions.blender.org/themes/theme-greenkm/","maintainer":"DannySi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Quellenform_theme","schema_version":"1.0.0","name":"Quellenform's Theme","version":"0.1.0","tagline":"A dark grey theme with a gentle touch of blue and green colors","archive_hash":"sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d","archive_size":5899,"archive_url":"https://extensions.blender.org/download/sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d/theme-quellenform-theme-v0.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quellenform-theme/","maintainer":"quellenform","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"act_game_asset_creation_toolset","schema_version":"1.0.0","name":"ACT: Game Asset Creation Toolset","version":"2025.2.1","tagline":"Tools for easy create and export low-poly game assets","archive_hash":"sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284","archive_size":49479,"archive_url":"https://extensions.blender.org/download/sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284/add-on-act-game-asset-creation-toolset-v2025.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/act-game-asset-creation-toolset/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX/OBJ/GLTF to disk"},"tags":["3D View","Object","UV","Mesh","Import-Export","Modeling"]},{"id":"node_to_python","schema_version":"1.0.0","name":"Node To Python","version":"4.0.1","tagline":"Turn node groups into Python code","archive_hash":"sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec","archive_size":81184,"archive_url":"https://extensions.blender.org/download/sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec/add-on-node-to-python-v4.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-to-python/","maintainer":"Brendan-Parmer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and writes to files in a user-specified directory"},"tags":["Development","Compositing","Geometry Nodes","Material","Node"]},{"id":"Eclipse","schema_version":"1.0.0","name":"Eclipse","version":"1.2.2","tagline":"Where Darkness Meets Elegance","archive_hash":"sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7","archive_size":5863,"archive_url":"https://extensions.blender.org/download/sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7/theme-eclipse-v1.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/eclipse/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"custom_templates","schema_version":"1.0.0","name":"Custom Templates","version":"1.6.0","tagline":"Use your own .blend files as template options for new projects","archive_hash":"sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e","archive_size":10674,"archive_url":"https://extensions.blender.org/download/sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e/add-on-custom-templates-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/custom-templates/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export, + from folder, Ensure absolute paths in resources"},"tags":["System","User Interface"]},{"id":"world_apply","schema_version":"1.0.0","name":"World Apply","version":"1.0.1","tagline":"Sync viewport world settings with scene world settings","archive_hash":"sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663","archive_size":2866,"archive_url":"https://extensions.blender.org/download/sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663/add-on-world-apply-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/world-apply/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read HDRI files stored in Blender's directories"},"tags":["Lighting"]},{"id":"timeline_buttons","schema_version":"1.0.0","name":"Timeline Buttons","version":"1.0.0","tagline":"Put the buttons in timeline to other animation related editors","archive_hash":"sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815","archive_size":15158,"archive_url":"https://extensions.blender.org/download/sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815/add-on-timeline-buttons-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/timeline-buttons/","maintainer":"tinkerboi","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ddslideshow","schema_version":"1.0.0","name":"DDSlideshow","version":"0.0.5","tagline":"Create a Ken Burns Effect slideshow","archive_hash":"sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b/add-on-ddslideshow-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ddslideshow/","maintainer":"Michael-Lamertz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to load images for the slideshow"},"tags":["Sequencer"]},{"id":"ikea_browser","schema_version":"1.0.0","name":"IKEA Browser","version":"0.4.0","tagline":"Search and import models from ikea.com","archive_hash":"sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2","archive_size":7016,"archive_url":"https://extensions.blender.org/download/sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2/add-on-ikea-browser-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ikea-browser/","maintainer":"Shish","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store downloaded models","network":"Download from ikea.com"},"tags":["Import-Export"]},{"id":"bonsai","schema_version":"1.0.0","name":"Bonsai","version":"0.8.4","tagline":"A native Building Information Model authoring platform using IFC","archive_hash":"sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65","archive_size":119643469,"archive_url":"https://extensions.blender.org/download/sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65/add-on-bonsai-v0.8.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bonsai/","maintainer":"IfcOpenShell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save IFCs, IDS, BCF, etc from disk","network":"Augin / Cove.Tool integration for VR and environmental analysis","clipboard":"Copy and paste error logs"},"platforms":["windows-x64"],"tags":["3D View","Add Mesh","Animation","Camera","Development","Import-Export","Lighting","Material","Modeling","Mesh","Node","Object","Pipeline","Render","Scene","System","User Interface","UV"]},{"id":"Clean_Blue","schema_version":"1.0.0","name":"Clean Blue","version":"1.4.0","tagline":"This is a pleasant light-colored theme","archive_hash":"sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d/theme-clean-blue-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/clean-blue/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"redsquare","schema_version":"1.0.0","name":"RedSquare V2","version":"1.2.1","tagline":"A theme with basic red tones and a more square-ish type of look","archive_hash":"sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e/theme-redsquare-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redsquare/","maintainer":"luccadanielp","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"mengges_dark_theme","schema_version":"1.0.0","name":"MengGe's Dark Theme","version":"1.2.0","tagline":"Dark Theme Pro Max Ultra Plus Lift","archive_hash":"sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc","archive_size":5629,"archive_url":"https://extensions.blender.org/download/sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc/theme-mengges-dark-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mengges-dark-theme/","maintainer":"MengGe_KKD","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"armature_pie","schema_version":"1.0.0","name":"Armature Pie","version":"1.1.2","tagline":"Pick Armatures Comfortably & Solo Collection By Pie Menu","archive_hash":"sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da","archive_size":13793,"archive_url":"https://extensions.blender.org/download/sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da/add-on-armature-pie-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-pie/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"Elegant_Light_Theme","schema_version":"1.0.0","name":"Elegant_Light_Theme","version":"2.2.5","tagline":"Soft Light","archive_hash":"sha256:1571ca9ae69f3be9ed3de964720f919909ec38b739c91842eca156bf56ac2c86","archive_size":5615,"archive_url":"https://extensions.blender.org/download/sha256:1571ca9ae69f3be9ed3de964720f919909ec38b739c91842eca156bf56ac2c86/theme-elegant-light-theme-v2.2.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/elegant-light-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"livery_helper","schema_version":"1.0.0","name":"LiveryHelper","version":"1.0.3","tagline":"Makes creating, editing and customizing car liveries much easier","archive_hash":"sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab","archive_size":5198,"archive_url":"https://extensions.blender.org/download/sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab/add-on-livery-helper-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/livery-helper/","maintainer":"Mast26","license":["SPDX:MIT"],"permissions":{"files":"Loading source livery images"},"tags":["Material"]},{"id":"optiploy","schema_version":"1.0.0","name":"OptiPloy: Rig Spawner","version":"1.8.2","tagline":"Improve your workflow with smarter linking tools","archive_hash":"sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956","archive_size":41364,"archive_url":"https://extensions.blender.org/download/sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956/add-on-optiploy-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/optiploy/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and save .blend and folder entries"},"tags":["Pipeline","Animation","Rigging","Import-Export"]},{"id":"io_scene_mvr","schema_version":"1.0.0","name":"Scene MVR (.mvr) and GDTF (.gdtf)","version":"1.5.0","tagline":"My Virtual Rig and General Device Type Format","archive_hash":"sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9","archive_size":296414,"archive_url":"https://extensions.blender.org/download/sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9/add-on-io-scene-mvr-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-mvr/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"General Device Type Format and My Virtual Rig files"},"tags":["Import-Export","Scene","Lighting","Tracking","Rigging"]},{"id":"CV_Filter_Channels","schema_version":"1.0.0","name":"Filter_Channels","version":"1.0.8","tagline":"Filter channels in Graph Editor for animation","archive_hash":"sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2","archive_size":15830,"archive_url":"https://extensions.blender.org/download/sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2/add-on-cv-filter-channels-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cv-filter-channels/","maintainer":"Carles-V","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"right_mouse_navigation","schema_version":"1.0.0","name":"Right Mouse Navigation","version":"2.8.0","tagline":"Game Engine Movement and Menus","archive_hash":"sha256:9974909656bb82cb599949b93df47cabf0b174cd727504254e35fc08a36e222d","archive_size":2200146,"archive_url":"https://extensions.blender.org/download/sha256:9974909656bb82cb599949b93df47cabf0b174cd727504254e35fc08a36e222d/add-on-right-mouse-navigation-v2.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/right-mouse-navigation/","maintainer":"SpectralVectors","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Node","User Interface"]},{"id":"texel_density_checker","schema_version":"1.0.0","name":"Texel Density Checker","version":"2025.1.2","tagline":"Toolset for working with Texel Density","archive_hash":"sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35","archive_size":48357,"archive_url":"https://extensions.blender.org/download/sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35/add-on-texel-density-checker-v2025.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texel-density-checker/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","UV"]},{"id":"simple_renaming_panel","schema_version":"1.0.0","name":"Simple Renaming","version":"2.1.4","tagline":"Effortlessly rename multiple objects with this simple addon","archive_hash":"sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5","archive_size":46786,"archive_url":"https://extensions.blender.org/download/sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5/add-on-simple-renaming-panel-v2.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-renaming-panel/","maintainer":"MatthiasPatscheider","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Scene","User Interface"]},{"id":"auto_switch_theme","schema_version":"1.0.0","name":"Auto Switch Theme","version":"1.0.1","tagline":"Set light and dark themes based on your system appearance","archive_hash":"sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1","archive_size":11020,"archive_url":"https://extensions.blender.org/download/sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1/add-on-auto-switch-theme-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-switch-theme/","maintainer":"pablovazquez","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"ik_fk_snapping_tool","schema_version":"1.0.0","name":"IK-FK Snapping Tool","version":"3.0.3","tagline":"Tools to perform IK to FK and FK to IK snapping","archive_hash":"sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd","archive_size":19058,"archive_url":"https://extensions.blender.org/download/sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd/add-on-ik-fk-snapping-tool-v3.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ik-fk-snapping-tool/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"macos_dark_theme","schema_version":"1.0.0","name":"MacOS Dark Theme","version":"2.0.1","tagline":"The MacOS interface style in Blender","archive_hash":"sha256:5a2b3a93e7d4aad0a6adb3e52f382007e292af49730e5335f018b11c3cfdd4f3","archive_size":17990,"archive_url":"https://extensions.blender.org/download/sha256:5a2b3a93e7d4aad0a6adb3e52f382007e292af49730e5335f018b11c3cfdd4f3/theme-macos-dark-theme-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/macos-dark-theme/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"openvat","schema_version":"1.0.0","name":"OpenVAT","version":"1.1.0","tagline":"Encode and preview vertex animation textures","archive_hash":"sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1","archive_size":277888,"archive_url":"https://extensions.blender.org/download/sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1/add-on-openvat-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/openvat/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"]},{"id":"align2custom","schema_version":"1.0.0","name":"Align 2 Custom","version":"2.1.2","tagline":"Align 3D View to custom orientation or 3D cursor","archive_hash":"sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856","archive_size":17939,"archive_url":"https://extensions.blender.org/download/sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856/add-on-align2custom-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align2custom/","maintainer":"fdaubine","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View"]},{"id":"import_mixamo_root_motion","schema_version":"1.0.0","name":"Import Mixamo - Root Motion","version":"1.0.4","tagline":"Batch Import Fbx (Mixamo) And Apply Root Motion","archive_hash":"sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898","archive_size":23759,"archive_url":"https://extensions.blender.org/download/sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898/add-on-import-mixamo-root-motion-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/import-mixamo-root-motion/","maintainer":"DevilMayCry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import FBX from disk"},"tags":["Import-Export"]},{"id":"Quick_Rigid","schema_version":"1.0.0","name":"Quick Rigid","version":"1.2.1","tagline":"Easy access to the most used rigid body settings","archive_hash":"sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb","archive_size":1229239,"archive_url":"https://extensions.blender.org/download/sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb/add-on-quick-rigid-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-rigid/","maintainer":"nova3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Physics","Object"]},{"id":"geonode_shapekeys","schema_version":"1.0.0","name":"GeoNode Shape Keys","version":"1.0.0","tagline":"Sculpt on linked animated characters","archive_hash":"sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c","archive_size":220787,"archive_url":"https://extensions.blender.org/download/sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c/add-on-geonode-shapekeys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-shapekeys/","maintainer":"Mets","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"To load the necessary GeoNodes from its .blend file"},"tags":["Rigging"]},{"id":"mesh_mesh_align_plus","schema_version":"1.0.0","name":"Mesh Align Plus","version":"1.1.0-rc.1","tagline":"Move/align mesh parts+objects based on scene geometry/metrics","archive_hash":"sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719","archive_size":90285,"archive_url":"https://extensions.blender.org/download/sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719/add-on-mesh-mesh-align-plus-v1.1.0-rc.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-mesh-align-plus/","maintainer":"BitByte","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Mesh","Modeling","Object","User Interface"]},{"id":"theme_Houdini","schema_version":"1.0.0","name":"Houdini","version":"1.3.0","tagline":"Theme Inspired By SideFX Houdini","archive_hash":"sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9","archive_size":5502,"archive_url":"https://extensions.blender.org/download/sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9/theme-theme-houdini-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-houdini/","maintainer":"rmantdtg","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"mio3_copy_weight","schema_version":"1.0.0","name":"Mio3 Copy Weight","version":"1.1.0","tagline":"Copies weights of selected vertices across objects","archive_hash":"sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e","archive_size":15521,"archive_url":"https://extensions.blender.org/download/sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e/add-on-mio3-copy-weight-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-copy-weight/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"whispering_ripples","schema_version":"1.0.0","name":"Whispering Ripples","version":"1.3.0","tagline":"In the whisper of the night, ripples of creativity flow freely","archive_hash":"sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1","archive_size":6168,"archive_url":"https://extensions.blender.org/download/sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1/theme-whispering-ripples-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/whispering-ripples/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"sequenced_bake","schema_version":"1.0.0","name":"Sequenced Bake","version":"1.1.2","tagline":"Tools for baking material sequences and generating sprite sheets","archive_hash":"sha256:917f041e203e21f2bdfe94fe45f954102fafcd8383092f1e19fa58b0cc63a5e9","archive_size":36274,"archive_url":"https://extensions.blender.org/download/sha256:917f041e203e21f2bdfe94fe45f954102fafcd8383092f1e19fa58b0cc63a5e9/add-on-sequenced-bake-v1.1.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sequenced-bake/","maintainer":"Anthony-OConnell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Saving and opening image files"},"tags":["Material","Bake","Node"]},{"id":"quick_menu","schema_version":"1.0.0","name":"QuickMenu","version":"2.0.0","tagline":"Quick-Add/Mod & Quick-Cam","archive_hash":"sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2","archive_size":17449,"archive_url":"https://extensions.blender.org/download/sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2/add-on-quick-menu-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-menu/","maintainer":"QiuMu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"auto_track","schema_version":"1.0.0","name":"Auto-tracking","version":"1.0.0","tagline":"VFX motion tracking automation","archive_hash":"sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d","archive_size":3589,"archive_url":"https://extensions.blender.org/download/sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d/add-on-auto-track-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track/","maintainer":"mcd1992","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"snap_bisect","schema_version":"1.0.0","name":"Snap Bisect","version":"1.0.6","tagline":"Bisect operator with snapping to vertices or edge midpoints","archive_hash":"sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a","archive_size":3851,"archive_url":"https://extensions.blender.org/download/sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a/add-on-snap-bisect-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-bisect/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"shape_key_swapper_extension","schema_version":"1.0.0","name":"ShapeKeySwapper","version":"1.0.3","tagline":"Swap vertex positions between 0 and 1 of the active shape key","archive_hash":"sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0","archive_size":1941,"archive_url":"https://extensions.blender.org/download/sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0/add-on-shape-key-swapper-extension-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-swapper-extension/","maintainer":"Maro3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"passpartout_slider","schema_version":"1.0.0","name":"Passpartout Slider","version":"1.0.0","tagline":"Let's you control active camera Passpartout by pressing P","archive_hash":"sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21","archive_size":1819,"archive_url":"https://extensions.blender.org/download/sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21/add-on-passpartout-slider-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/passpartout-slider/","maintainer":"Costa","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Professional_theme","schema_version":"1.0.0","name":"Professional","version":"1.0.1","tagline":"Refined dark theme for professional use","archive_hash":"sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9","archive_size":36987,"archive_url":"https://extensions.blender.org/download/sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9/theme-professional-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/professional-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Piano_White_theme","schema_version":"1.0.0","name":"Piano_White","version":"1.0.2","tagline":"Elegant piano-inspired light theme","archive_hash":"sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d","archive_size":36289,"archive_url":"https://extensions.blender.org/download/sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d/theme-piano-white-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/piano-white-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Pastel_Pink_theme","schema_version":"1.0.0","name":"Pastel_Pink","version":"1.0.0","tagline":"Bright and poppy pastel pink Blender theme","archive_hash":"sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae","archive_size":36506,"archive_url":"https://extensions.blender.org/download/sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae/theme-pastel-pink-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/pastel-pink-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Midnight_theme","schema_version":"1.0.0","name":"Midnight","version":"1.0.1","tagline":"Midnight blue dark theme","archive_hash":"sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c","archive_size":36944,"archive_url":"https://extensions.blender.org/download/sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c/theme-midnight-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/midnight-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Metaseq_theme","schema_version":"1.0.0","name":"Metaseq","version":"1.0.1","tagline":"Light Metasequoia-style Blender theme","archive_hash":"sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c","archive_size":36310,"archive_url":"https://extensions.blender.org/download/sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c/theme-metaseq-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Maya2024_theme","schema_version":"1.0.0","name":"Maya2024","version":"1.0.1","tagline":"Maya-inspired Blender theme","archive_hash":"sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5","archive_size":36471,"archive_url":"https://extensions.blender.org/download/sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5/theme-maya2024-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/maya2024-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Graphite_theme","schema_version":"1.0.0","name":"Graphite","version":"1.0.2","tagline":"Dark cool blue-tinted graphite theme","archive_hash":"sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40","archive_size":36964,"archive_url":"https://extensions.blender.org/download/sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40/theme-graphite-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/graphite-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Emerald_theme","schema_version":"1.0.0","name":"Emerald","version":"1.0.1","tagline":"Cyber-style green theme","archive_hash":"sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d","archive_size":36939,"archive_url":"https://extensions.blender.org/download/sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d/theme-emerald-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/emerald-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Choco_Mint_theme","schema_version":"1.0.0","name":"Choco_Mint","version":"1.0.1","tagline":"Sweet and cool choco mint ice cream theme","archive_hash":"sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a","archive_size":36494,"archive_url":"https://extensions.blender.org/download/sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a/theme-choco-mint-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/choco-mint-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"keyframe_tools_extension","schema_version":"1.0.0","name":"Keyframe Tools","version":"1.0.7","tagline":"A set of tools for inserting, deleting, and moving keyframes","archive_hash":"sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e","archive_size":11009,"archive_url":"https://extensions.blender.org/download/sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e/add-on-keyframe-tools-extension-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-tools-extension/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"omUlete","schema_version":"1.0.0","name":"omUlete","version":"0.98.4","tagline":"A stand-alone exporter for the Panda3D .egg format","archive_hash":"sha256:f66d9695a47dd27cf943ec3d483c6a8192b7a78a9f555410e712713b6567dcbe","archive_size":32752,"archive_url":"https://extensions.blender.org/download/sha256:f66d9695a47dd27cf943ec3d483c6a8192b7a78a9f555410e712713b6567dcbe/add-on-omulete-v0.98.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/omulete/","maintainer":"Jackson-Sutherland","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"save exported egg files"},"tags":["Import-Export","Game Engine"]},{"id":"custom_output_path","schema_version":"1.0.0","name":"Custom Output Path","version":"1.1.7","tagline":"Customize file output paths with placeholders","archive_hash":"sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc","archive_size":23227,"archive_url":"https://extensions.blender.org/download/sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc/add-on-custom-output-path-v1.1.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/custom-output-path/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Render"]},{"id":"render_preset","schema_version":"1.0.0","name":"Render Preset","version":"1.3.4","tagline":"Create and use render presets","archive_hash":"sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3","archive_size":74565,"archive_url":"https://extensions.blender.org/download/sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3/add-on-render-preset-v1.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-preset/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files in a user-defined location"},"tags":["Render","Pipeline"]},{"id":"mesh_maze","schema_version":"1.0.0","name":"Maze any Mesh","version":"1.2.2","tagline":"Convert any mesh to a maze pattern","archive_hash":"sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2","archive_size":18705,"archive_url":"https://extensions.blender.org/download/sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2/add-on-mesh-maze-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-maze/","maintainer":"elfnorcat","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Amethyst_theme","schema_version":"1.0.0","name":"Amethyst","version":"1.0.2","tagline":"Cyberpunk-inspired purple theme","archive_hash":"sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f","archive_size":36951,"archive_url":"https://extensions.blender.org/download/sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f/theme-amethyst-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/amethyst-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"NodePie","schema_version":"1.0.0","name":"Node Pie","version":"1.2.51","tagline":"Add nodes faster with a pie menu","archive_hash":"sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36","archive_size":414208,"archive_url":"https://extensions.blender.org/download/sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36/add-on-nodepie-v1.2.51.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nodepie/","maintainer":"Strike_Digital","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing config files"},"tags":["User Interface","Node"]},{"id":"drag_and_drop_support","schema_version":"1.0.0","name":"Drag and Drop Support","version":"1.3.0","tagline":"Support and improve drag and drop imports in Blender","archive_hash":"sha256:ffca1b51dec3b369d4550b7890bdcfe83ca5e33fbf8b0f77c6feb777640a0980","archive_size":29508,"archive_url":"https://extensions.blender.org/download/sha256:ffca1b51dec3b369d4550b7890bdcfe83ca5e33fbf8b0f77c6feb777640a0980/add-on-drag-and-drop-support-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/drag-and-drop-support/","maintainer":"Natsune-Mochizuki","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import models from the disk"},"tags":["3D View","Import-Export"]},{"id":"deep_gray_something","schema_version":"1.0.0","name":"Deep Gray Something","version":"1.0.1","tagline":"Blender 5 dark theme with blue and green selection highlights","archive_hash":"sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1","archive_size":6009,"archive_url":"https://extensions.blender.org/download/sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1/theme-deep-gray-something-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-gray-something/","maintainer":"blanchsb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast","Accessibility"]},{"id":"matbatchtools","schema_version":"1.0.0","name":"Material Batch Tools","version":"2.3.2","tagline":"Quick batch automation of common material tasks","archive_hash":"sha256:2e401a8e2ad6de13a53c7a9b751d6276cb02b9d9cd1e027d2ff48cd58870a08f","archive_size":35616,"archive_url":"https://extensions.blender.org/download/sha256:2e401a8e2ad6de13a53c7a9b751d6276cb02b9d9cd1e027d2ff48cd58870a08f/add-on-matbatchtools-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matbatchtools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"sourceenginecollisiontools","schema_version":"1.0.0","name":"Source Engine Collision Tools","version":"3.1.1","tagline":"Generate & optimize collision models for use in Source Engine","archive_hash":"sha256:cd0beb8c9123274c81dfcad4f43ae3e29cc2efafd7a83533fc1ee370593fcf69","archive_size":68537,"archive_url":"https://extensions.blender.org/download/sha256:cd0beb8c9123274c81dfcad4f43ae3e29cc2efafd7a83533fc1ee370593fcf69/add-on-sourceenginecollisiontools-v3.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sourceenginecollisiontools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export collision-related QC and VMF files"},"tags":["Mesh","Object","Game Engine"]},{"id":"Key_Ops_Toolkit","schema_version":"1.0.0","name":"Key Ops: Toolkit","version":"0.2.1985","tagline":"Industri Standard Tools & Shortcuts to Speed Up Blender Workflow","archive_hash":"sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40","archive_size":201205,"archive_url":"https://extensions.blender.org/download/sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40/add-on-key-ops-toolkit-v0.2.1985.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/key-ops-toolkit/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export/Import .obj files and use of temp folder"},"tags":["Modeling","Mesh","Object","UV","3D View"]},{"id":"hot_node","schema_version":"1.0.0","name":"Hot Node","version":"1.2.1","tagline":"Add nodes like adding node","archive_hash":"sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4","archive_size":113483,"archive_url":"https://extensions.blender.org/download/sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4/add-on-hot-node-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hot-node/","maintainer":"Trantor","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access file system for storing custom nodes"},"tags":["Node","Geometry Nodes","Material"]},{"id":"ZenUVChecker","schema_version":"1.0.0","name":"Zen UV Checker","version":"1.4.12","tagline":"Check the state of UVs on the model easily with Checker Textures","archive_hash":"sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672","archive_size":2989286,"archive_url":"https://extensions.blender.org/download/sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672/add-on-zenuvchecker-v1.4.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/zenuvchecker/","maintainer":"Sergey_Tyapkin","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to folders for importing Checker Textures"},"tags":["UV"]},{"id":"improved_node_search","schema_version":"1.0.0","name":"Improved Node Search","version":"1.0.5","tagline":"Navigate your node tree faster via more node search options","archive_hash":"sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4","archive_size":11647,"archive_url":"https://extensions.blender.org/download/sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4/add-on-improved-node-search-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/improved-node-search/","maintainer":"Griperis","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"noise_nodes","schema_version":"1.0.0","name":"Noise Nodes","version":"0.7.0","tagline":"Advance Noise Nodes For blender","archive_hash":"sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc","archive_size":1482042,"archive_url":"https://extensions.blender.org/download/sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc/add-on-noise-nodes-v0.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/noise-nodes/","maintainer":"Haseeb-Ahmed-3","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"Modifier_List_Fork","schema_version":"1.0.0","name":"Modifier List","version":"1.9.88","tagline":"Enhanced Modifier UI/Features, now with Edit Mesh Modifier","archive_hash":"sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55","archive_size":164500,"archive_url":"https://extensions.blender.org/download/sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55/add-on-modifier-list-fork-v1.9.88.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifier-list-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save Add-on Prefrences"},"tags":["Modeling","User Interface"]},{"id":"PolyQuilt_Fork","schema_version":"1.0.0","name":"PolyQuilt Retopology Tool","version":"1.45.9","tagline":"Retopology Tool for Blender","archive_hash":"sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5","archive_size":179729,"archive_url":"https://extensions.blender.org/download/sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5/add-on-polyquilt-fork-v1.45.9.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/polyquilt-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"clear_filepaths","schema_version":"1.0.0","name":"Clear Filepaths","version":"1.1.2","tagline":"Removes personal filepaths from your .blend file","archive_hash":"sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9","archive_size":4114,"archive_url":"https://extensions.blender.org/download/sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9/add-on-clear-filepaths-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clear-filepaths/","maintainer":"FlailingFog","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Saves a copy of a .blend file without filepaths"},"platforms":["windows-x64"],"tags":["System"]},{"id":"onyx","schema_version":"1.0.0","name":"Onyx","version":"1.1.0","tagline":"A minimalistic dark theme","archive_hash":"sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6","archive_size":5177,"archive_url":"https://extensions.blender.org/download/sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6/theme-onyx-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/onyx/","maintainer":"Aeraglyx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"incremental_auto_save","schema_version":"1.0.0","name":"Incremental Auto-Save","version":"1.1.1","tagline":"Improvements to Blender's Autosave","archive_hash":"sha256:f97c7e93f3ba3f7f6d8cbe3e0dbc911bb5d0011df70841e4762f80bea70e1cee","archive_size":74530,"archive_url":"https://extensions.blender.org/download/sha256:f97c7e93f3ba3f7f6d8cbe3e0dbc911bb5d0011df70841e4762f80bea70e1cee/add-on-incremental-auto-save-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/incremental-auto-save/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save preferences & .blends in chosen directories"},"tags":["System"]},{"id":"tiny_backup","schema_version":"1.0.0","name":"Tiny Backup","version":"1.0.2","tagline":"A minimalistic backup solution","archive_hash":"sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc","archive_size":13763,"archive_url":"https://extensions.blender.org/download/sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc/add-on-tiny-backup-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tiny-backup/","maintainer":"Thane5","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Save backups on disk"},"tags":["System"]},{"id":"Randomize_Bones_Pose","schema_version":"1.0.0","name":"Randomize_Bones_Pose","version":"2.0.0","tagline":"Randomize_Bones_Pose","archive_hash":"sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4","archive_size":16685,"archive_url":"https://extensions.blender.org/download/sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4/add-on-randomize-bones-pose-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-bones-pose/","maintainer":"IZ.MdVerz","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"omniscient","schema_version":"1.0.0","name":"Omniscient Importer","version":"2.3.5","tagline":"Automated scene setup for shots recorded with Omniscient iOS app","archive_hash":"sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e","archive_size":119480,"archive_url":"https://extensions.blender.org/download/sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e/add-on-omniscient-v2.3.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omniscient/","maintainer":"Omniscient","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .omni file from disk"},"tags":["Tracking","Import-Export","Camera","Compositing","Animation","Mesh","Scene"]},{"id":"pose_shape_keys","schema_version":"1.0.0","name":"Pose Shape Keys","version":"1.0.0","tagline":"Preserve your shape keys through weight changes, and much more","archive_hash":"sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6","archive_size":35835,"archive_url":"https://extensions.blender.org/download/sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6/add-on-pose-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pose-shape-keys/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"select_panel_xdanic","schema_version":"1.0.0","name":"Select panel","version":"0.1.5","tagline":"All selections and more under a panel","archive_hash":"sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793","archive_size":4058,"archive_url":"https://extensions.blender.org/download/sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793/add-on-select-panel-xdanic-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-panel-xdanic/","maintainer":"xdanic","license":["SPDX:GPL-2.0"],"tags":["User Interface"]},{"id":"theme_XP_AliVe","schema_version":"1.0.0","name":"XP_AliVe","version":"1.0.3","tagline":"Blender theme inspired by 2000s","archive_hash":"sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a","archive_size":5978,"archive_url":"https://extensions.blender.org/download/sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a/theme-theme-xp-alive-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xp-alive/","maintainer":"AliVe","license":["SPDX:GPL-2.0-or-later"],"tags":["Colorful","High Contrast","Inspired By","Accessibility"]},{"id":"MustardUI","schema_version":"1.0.0","name":"MustardUI","version":"2026.2.1","tagline":"Easy-to-use UI for human characters","archive_hash":"sha256:c22b64c388d66d3719dce4a2edee1f3f3a39e0f295364da95b68eedb659e085c","archive_size":436947,"archive_url":"https://extensions.blender.org/download/sha256:c22b64c388d66d3719dce4a2edee1f3f3a39e0f295364da95b68eedb659e085c/add-on-mustardui-v2026.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mustardui/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export templates from/to disk"},"tags":["User Interface"]},{"id":"Half_Knife","schema_version":"1.0.0","name":"Half Knife","version":"1.3.85","tagline":"Optimized for fast workflow knife tool for Blender","archive_hash":"sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83","archive_size":15498,"archive_url":"https://extensions.blender.org/download/sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83/add-on-half-knife-v1.3.85.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/half-knife/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"node_quick_maths","schema_version":"1.0.0","name":"Node Quick Maths","version":"1.2.2","tagline":"A fast way to make long math chains in node editors","archive_hash":"sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac","archive_size":22432,"archive_url":"https://extensions.blender.org/download/sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac/add-on-node-quick-maths-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-quick-maths/","maintainer":"Zeptofine","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"easyweight","schema_version":"1.0.0","name":"EasyWeight","version":"1.0.9","tagline":"Weight Painting Workflow Boosters","archive_hash":"sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0","archive_size":42626,"archive_url":"https://extensions.blender.org/download/sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0/add-on-easyweight-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easyweight/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"set_smooth_group","schema_version":"1.0.0","name":"Set Smooth Group","version":"1.1.0","tagline":"Simplify setting smooth groups with sharp edges","archive_hash":"sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b","archive_size":17228,"archive_url":"https://extensions.blender.org/download/sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b/add-on-set-smooth-group-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-smooth-group/","maintainer":"VIktor-Kom","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"toggle_socket_visibility","schema_version":"1.0.0","name":"Toggle Socket Visibility","version":"1.0.0","tagline":"Control which node sockets are visible or not via panel/pop-up","archive_hash":"sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f","archive_size":7638,"archive_url":"https://extensions.blender.org/download/sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f/add-on-toggle-socket-visibility-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-socket-visibility/","maintainer":"quackarooni","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"strange_attractors","schema_version":"1.0.0","name":"Strange Attractors","version":"2.1.0","tagline":"Add Strange Attractor curves","archive_hash":"sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06/add-on-strange-attractors-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/strange-attractors/","maintainer":"7bitretro","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"k_tools_view_sync","schema_version":"1.0.0","name":"Sync | Lock Viewport","version":"2.7.0","tagline":"Sync or Lock multiple viewports at once in real-time","archive_hash":"sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf","archive_size":46836,"archive_url":"https://extensions.blender.org/download/sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf/add-on-k-tools-view-sync-v2.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-view-sync/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"universal_multi_importer","schema_version":"1.0.0","name":"Universal Multi Importer","version":"2.3.3","tagline":"Batch Import many file formats at once, Batch process them","archive_hash":"sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599","archive_size":118110,"archive_url":"https://extensions.blender.org/download/sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599/add-on-universal-multi-importer-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/universal-multi-importer/","maintainer":"Tilapiatsu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Files from disk, save presets to disk"},"tags":["Import-Export","Pipeline"]},{"id":"BAM","schema_version":"1.0.0","name":"[BAM] AutoMat","version":"1.2.1","tagline":"Batch creation of materials from textures folder","archive_hash":"sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649","archive_size":563501,"archive_url":"https://extensions.blender.org/download/sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649/add-on-bam-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bam/","maintainer":"AlexeyHRDesign","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Import-Export"]},{"id":"action_to_scene_range","schema_version":"1.0.0","name":"Action to Scene Range","version":"1.7.0","tagline":"When switching Actions, automatically set the Scene Frame Range","archive_hash":"sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf","archive_size":2520,"archive_url":"https://extensions.blender.org/download/sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf/add-on-action-to-scene-range-v1.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/action-to-scene-range/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"face_set_operators","schema_version":"1.0.0","name":"Face Set Operators","version":"1.0.0","tagline":"Convert sculpt mode attributes into anything you need","archive_hash":"sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6","archive_size":4650,"archive_url":"https://extensions.blender.org/download/sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6/add-on-face-set-operators-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-set-operators/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt","Mesh"]},{"id":"my_best_pie_menu_ever","schema_version":"1.0.0","name":"My Best Pie Menu Ever","version":"2.9.1","tagline":"Quick access to the functions you need","archive_hash":"sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c","archive_size":84510,"archive_url":"https://extensions.blender.org/download/sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c/add-on-my-best-pie-menu-ever-v2.9.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/my-best-pie-menu-ever/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["3D View","User Interface"]},{"id":"mmd_tools","schema_version":"1.0.0","name":"MMD Tools","version":"4.5.9","tagline":"Utility tools for MMD model editing","archive_hash":"sha256:fe17037ca0f22d70b6605d11e3e8a38e566b8f4cee6fd9320cf4f822ee0c821b","archive_size":747992,"archive_url":"https://extensions.blender.org/download/sha256:fe17037ca0f22d70b6605d11e3e8a38e566b8f4cee6fd9320cf4f822ee0c821b/add-on-mmd-tools-v4.5.9.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/mmd-tools/","maintainer":"MMD","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PMX/PMD/VMD/VPD from/to disk"},"tags":["3D View","Camera","Import-Export","Material","Mesh","Object","Physics"]},{"id":"bioxelnodes","schema_version":"1.0.0","name":"Bioxel Nodes","version":"1.0.9","tagline":"For scientific volumetric data visualization in Blender","archive_hash":"sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620","archive_size":28047296,"archive_url":"https://extensions.blender.org/download/sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620/add-on-bioxelnodes-v1.0.9-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bioxelnodes/","maintainer":"icrdr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export volume data from/to disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Render","Import-Export"]},{"id":"molecularnodes","schema_version":"1.0.0","name":"Molecular Nodes","version":"4.5.10","tagline":"A toolbox for molecular import and animation in Blender","archive_hash":"sha256:63b867c8e187308ba03a0b00baeb9c32938da460017cb9ee1446c69cd66ce8b9","archive_size":132883479,"archive_url":"https://extensions.blender.org/download/sha256:63b867c8e187308ba03a0b00baeb9c32938da460017cb9ee1446c69cd66ce8b9/add-on-molecularnodes-v4.5.10-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/molecularnodes/","maintainer":"bradyajohnston","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk and caching downloads","network":"Downloading structural data from the PDB and AFPDB"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"io_scene_psk_psa","schema_version":"1.0.0","name":"Unreal PSK/PSA (.psk/.psa)","version":"9.1.1","tagline":"Import and export PSK and PSA files used in Unreal Engine","archive_hash":"sha256:14a637bb9da65b67a26f0ca3e6e490f2a855a6f5e38be103adcd69ca316793a1","archive_size":80472,"archive_url":"https://extensions.blender.org/download/sha256:14a637bb9da65b67a26f0ca3e6e490f2a855a6f5e38be103adcd69ca316793a1/add-on-io-scene-psk-psa-v9.1.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-scene-psk-psa/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write PSK and PSA files from and to disk"},"tags":["Game Engine","Import-Export"]},{"id":"theme_Plasticity","schema_version":"1.0.0","name":"Plasticity","version":"2.0.0","tagline":"Theme Inspired By Plasticity app","archive_hash":"sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351","archive_size":6395,"archive_url":"https://extensions.blender.org/download/sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351/theme-theme-plasticity-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-plasticity/","maintainer":"SHEK","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast","Inspired By","Accessibility"]},{"id":"open_stage_blender_dmx","schema_version":"1.0.0","name":"DMX","version":"2.1.6","tagline":"Visualization & programming with GDTF&MVR, OSC, PSN, Networking","archive_hash":"sha256:034899c2f1d9e8d08ba6012005a2da4f37bcd5a09a4605e81034f8b046dc4ef8","archive_size":2002292,"archive_url":"https://extensions.blender.org/download/sha256:034899c2f1d9e8d08ba6012005a2da4f37bcd5a09a4605e81034f8b046dc4ef8/add-on-open-stage-blender-dmx-v2.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-stage-blender-dmx/","maintainer":"Sunova","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import GDTF devices. Import/Export MVR scenes and project data","network":"For GDTF Share, sACN, Art-Net, OSC, PSN, MVR-xchange"},"tags":["Lighting","Animation","Scene","Import-Export","Rigging","Tracking","Sequencer","3D View","Camera"]},{"id":"maze_generator","schema_version":"1.0.0","name":"Maze Generator","version":"0.2.5","tagline":"A Maze generator extension for Blender","archive_hash":"sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030","archive_size":22231,"archive_url":"https://extensions.blender.org/download/sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030/add-on-maze-generator-v0.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maze-generator/","maintainer":"Leeroy-Majors","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"node_group_presets","schema_version":"1.0.0","name":"Node Group Presets","version":"0.8.0","tagline":"Save Node Group values as presets","archive_hash":"sha256:201454f4c0a32eed158502d13a0887141aaf4494647a22b4264802f94272b5a0","archive_size":27634,"archive_url":"https://extensions.blender.org/download/sha256:201454f4c0a32eed158502d13a0887141aaf4494647a22b4264802f94272b5a0/add-on-node-group-presets-v0.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-presets/","maintainer":"juaum","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy/paste presets between nodedroups and across files"},"tags":["Geometry Nodes","Material","Node"]},{"id":"booltron","schema_version":"1.0.0","name":"Booltron","version":"3.3.2","tagline":"Super add-on for superfast booleans","archive_hash":"sha256:f353beedfc46a1f321e1abc02a0294ebdfc9fb2c735d9bb0df5307b2701127b6","archive_size":166040,"archive_url":"https://extensions.blender.org/download/sha256:f353beedfc46a1f321e1abc02a0294ebdfc9fb2c735d9bb0df5307b2701127b6/add-on-booltron-v3.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/booltron/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"Dark_Pro","schema_version":"1.0.0","name":"Dark Pro","version":"2.0.2","tagline":"Just a little darker","archive_hash":"sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b","archive_size":5431,"archive_url":"https://extensions.blender.org/download/sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b/theme-dark-pro-v2.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/dark-pro/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"quick_groups","schema_version":"1.0.0","name":"Quick Groups (Instances)","version":"1.0.3","tagline":"Group objects with Ctrl+G using instances","archive_hash":"sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c","archive_size":6862,"archive_url":"https://extensions.blender.org/download/sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c/add-on-quick-groups-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-groups/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling"]},{"id":"t3d_gn_presets","schema_version":"1.0.0","name":"T3D GN Presets","version":"1.6.0","tagline":"A versatile collection of useful node groups for Geometry Nodes","archive_hash":"sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd","archive_size":835788,"archive_url":"https://extensions.blender.org/download/sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd/add-on-t3d-gn-presets-v1.6.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/t3d-gn-presets/","maintainer":"Tams_3d","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Append node-groups from source file"},"tags":["Geometry Nodes"]},{"id":"per_camera_resolution","schema_version":"1.0.0","name":"Per-Camera Resolution","version":"2.3.2","tagline":"Every camera should have its resolution","archive_hash":"sha256:48cecdfc004417c6d0dee452657d0822dd96ea3897e159d5544d9819f3e54b8f","archive_size":11199,"archive_url":"https://extensions.blender.org/download/sha256:48cecdfc004417c6d0dee452657d0822dd96ea3897e159d5544d9819f3e54b8f/add-on-per-camera-resolution-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/per-camera-resolution/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","Camera"]},{"id":"synchronize_workspaces","schema_version":"1.0.0","name":"Synchronize Workspaces","version":"1.14.0","tagline":"Synchronize 3D views between workspaces","archive_hash":"sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5","archive_size":3974,"archive_url":"https://extensions.blender.org/download/sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5/add-on-synchronize-workspaces-v1.14.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/synchronize-workspaces/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"grease_pencil_tool_wheel","schema_version":"1.0.0","name":"GP Tool Wheel","version":"1.0.11","tagline":"Extended pie menu for selecting Grease Pencil tools quickly","archive_hash":"sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6","archive_size":206402,"archive_url":"https://extensions.blender.org/download/sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6/add-on-grease-pencil-tool-wheel-v1.0.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tool-wheel/","maintainer":"SietseB","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Grease Pencil"]},{"id":"commotion","schema_version":"1.0.0","name":"Commotion","version":"2.5.0","tagline":"Animation offset tools for motion graphics","archive_hash":"sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb","archive_size":27868,"archive_url":"https://extensions.blender.org/download/sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb/add-on-commotion-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/commotion/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"find_bad_tracks","schema_version":"1.0.0","name":"Find Bad Tracks","version":"1.0.2","tagline":"Highlight motion tracks that move in suspicious directions","archive_hash":"sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8","archive_size":25067,"archive_url":"https://extensions.blender.org/download/sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8/add-on-find-bad-tracks-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/find-bad-tracks/","maintainer":"Walles","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"cloudrig","schema_version":"1.0.0","name":"CloudRig","version":"2.2.18","tagline":"Rig Generation & Rigging Workflow Tools","archive_hash":"sha256:3e82377a722e89608843957cecfe82a026f956c917786380d026656714382c73","archive_size":3309577,"archive_url":"https://extensions.blender.org/download/sha256:3e82377a722e89608843957cecfe82a026f956c917786380d026656714382c73/add-on-cloudrig-v2.2.18.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/cloudrig/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load widgets/metarigs/preferences from disk","clipboard":"Copy/paste Bone Collections between armatures"},"tags":["Rigging"]},{"id":"theme_drcl","schema_version":"1.0.0","name":"drcl","version":"1.0.3","tagline":"A variation of Dracula dark theme","archive_hash":"sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040","archive_size":4955,"archive_url":"https://extensions.blender.org/download/sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040/theme-theme-drcl-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-drcl/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"YB_Animator_Tool","schema_version":"1.0.0","name":"YB Animator Tool","version":"1.1.3","tagline":"export grease pencil layers as keyframes and CSV","archive_hash":"sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b","archive_size":5541,"archive_url":"https://extensions.blender.org/download/sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b/add-on-yb-animator-tool-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/yb-animator-tool/","maintainer":"YB_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Output CSV and sequence diagram"},"tags":["Grease Pencil","Animation","User Interface"]},{"id":"keymesh","schema_version":"1.0.0","name":"Keymesh","version":"2.3.2","tagline":"Create stop-motion animations by sculpting frame-by-frame","archive_hash":"sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a","archive_size":42763,"archive_url":"https://extensions.blender.org/download/sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a/add-on-keymesh-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keymesh/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store generated pose preview images and/or load them from disk"},"tags":["Animation","Sculpt","Mesh"]},{"id":"node_annotator","schema_version":"1.0.0","name":"Node Annotator","version":"0.4.2","tagline":"Easily create good documentation of your node trees","archive_hash":"sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef","archive_size":28721,"archive_url":"https://extensions.blender.org/download/sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef/add-on-node-annotator-v0.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-annotator/","maintainer":"FrankFirsching","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"theme_ps","schema_version":"1.0.0","name":"PS","version":"1.1.3","tagline":"Adobe Photoshop inspired light theme","archive_hash":"sha256:1b69c3dabcffcdd76b87ed15724dd2db995821823b72bdea8946c0709854cbc2","archive_size":5663,"archive_url":"https://extensions.blender.org/download/sha256:1b69c3dabcffcdd76b87ed15724dd2db995821823b72bdea8946c0709854cbc2/theme-theme-ps-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-ps/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Light"]},{"id":"toggle_language","schema_version":"1.0.0","name":"Toggle Language","version":"1.6.2","tagline":"One click to toggle UI between two languages","archive_hash":"sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe","archive_size":31213,"archive_url":"https://extensions.blender.org/download/sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe/add-on-toggle-language-v1.6.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-language/","maintainer":"del1a8dc50179276c0","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_lighting_environment","schema_version":"1.0.0","name":"QLE (Quick Lighting Environment)","version":"1.8.0","tagline":"Adds a Basic Lighting Setup to Your Blender Scene","archive_hash":"sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883","archive_size":105787,"archive_url":"https://extensions.blender.org/download/sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883/add-on-quick-lighting-environment-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-lighting-environment/","maintainer":"don1138","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"SB_path_actions","schema_version":"1.0.0","name":"Path Actions","version":"2.6.0","tagline":"Open blend folder in OS explorer, and more","archive_hash":"sha256:19bc2a56bd8ad64ddb1b4c2a82f5faec4af79b151aea66f50c6b47e33e0385b4","archive_size":42150,"archive_url":"https://extensions.blender.org/download/sha256:19bc2a56bd8ad64ddb1b4c2a82f5faec4af79b151aea66f50c6b47e33e0385b4/add-on-sb-path-actions-v2.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sb-path-actions/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open folders, List Blend files","clipboard":"Copy path to files"},"tags":["System","Development"]},{"id":"print3d_toolbox","schema_version":"1.0.0","name":"3D Print Toolbox","version":"1.3.2","tagline":"Utilities for 3D printing","archive_hash":"sha256:71545a4be21fc2a9d28ae8d810d2cfca1e37da1a5db2d4826f28883c69da20b8","archive_size":145816,"archive_url":"https://extensions.blender.org/download/sha256:71545a4be21fc2a9d28ae8d810d2cfca1e37da1a5db2d4826f28883c69da20b8/add-on-print3d-toolbox-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/print3d-toolbox/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export STL, PLY, OBJ files"},"tags":["Mesh"]},{"id":"green_olive","schema_version":"1.0.0","name":"Green Olive","version":"1.0.3","tagline":"A fine-tuned dark green theme","archive_hash":"sha256:c7544cc6ceb987628e3d7cbf49ac394cb9da92228673cebb1664aa2f0beb8cac","archive_size":5774,"archive_url":"https://extensions.blender.org/download/sha256:c7544cc6ceb987628e3d7cbf49ac394cb9da92228673cebb1664aa2f0beb8cac/theme-green-olive-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/green-olive/","maintainer":"Liuuzaki","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Accessibility"]},{"id":"fls_blcn","schema_version":"1.0.0","name":"Fast Language Switch","version":"0.0.5","tagline":"Fast change the language of the interface","archive_hash":"sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9","archive_size":2475,"archive_url":"https://extensions.blender.org/download/sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9/add-on-fls-blcn-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fls-blcn/","maintainer":"Kk","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"theme_xsi","schema_version":"1.0.0","name":"Softimage XSI","version":"5.0.0","tagline":"Community-made theme inspired by Softimage XSI","archive_hash":"sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443","archive_size":6273,"archive_url":"https://extensions.blender.org/download/sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443/theme-theme-xsi-v5.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xsi/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By"]},{"id":"theme_white","schema_version":"1.0.0","name":"White","version":"1.0.1","tagline":"Community-made theme","archive_hash":"sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0","archive_size":6242,"archive_url":"https://extensions.blender.org/download/sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0/theme-theme-white-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-white/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_print_friendly","schema_version":"1.0.0","name":"Print Friendly","version":"2.0.0","tagline":"Community-made theme optimized for printing","archive_hash":"sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24","archive_size":5585,"archive_url":"https://extensions.blender.org/download/sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24/theme-theme-print-friendly-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-print-friendly/","maintainer":"JasonvanGumster","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_minimal_dark","schema_version":"1.0.0","name":"Minimal Dark","version":"3.1.2","tagline":"A flat dark theme for Blender","archive_hash":"sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a","archive_size":7358,"archive_url":"https://extensions.blender.org/download/sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a/theme-theme-minimal-dark-v3.1.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-minimal-dark/","maintainer":"jlampel","license":["SPDX:GPL-2.0-or-later"]},{"id":"theme_maya","schema_version":"1.0.0","name":"Maya","version":"2.0.0","tagline":"Community-made theme inspired by Maya","archive_hash":"sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a","archive_size":5859,"archive_url":"https://extensions.blender.org/download/sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a/theme-theme-maya-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-maya/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"theme_deep_grey","schema_version":"1.0.0","name":"Deep Grey","version":"2.0.4","tagline":"A comfortable medium dark theme for Blender","archive_hash":"sha256:5ad9d7a6f9522a7319a43fc55255dc1d482d639d7228eacf3d8c52f42cd248bc","archive_size":5593,"archive_url":"https://extensions.blender.org/download/sha256:5ad9d7a6f9522a7319a43fc55255dc1d482d639d7228eacf3d8c52f42cd248bc/theme-theme-deep-grey-v2.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-deep-grey/","maintainer":"TheRedWaxPolice","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"skinify_rig","schema_version":"1.0.0","name":"Skinify Rig","version":"0.11.2","tagline":"Creates a mesh object from selected bones","archive_hash":"sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61","archive_size":6450,"archive_url":"https://extensions.blender.org/download/sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61/add-on-skinify-rig-v0.11.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skinify-rig/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"f2","schema_version":"1.0.0","name":"F2","version":"1.8.5","tagline":"Extends the 'Make Edge/Face' functionality","archive_hash":"sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c","archive_size":5505,"archive_url":"https://extensions.blender.org/download/sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c/add-on-f2-v1.8.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/f2/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"navigation","schema_version":"1.0.0","name":"3D Navigation","version":"1.3.0","tagline":"Navigate the 3D Viewport from the Sidebar","archive_hash":"sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed","archive_size":3238,"archive_url":"https://extensions.blender.org/download/sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed/add-on-navigation-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"amaranth","schema_version":"1.0.0","name":"Amaranth","version":"1.0.30","tagline":"A collection of tools to improve productivity","archive_hash":"sha256:93514320a854acaed6d481ecbcbe2feb9e990b6fcbca80f81b0c3d89dca5cb29","archive_size":46387,"archive_url":"https://extensions.blender.org/download/sha256:93514320a854acaed6d481ecbcbe2feb9e990b6fcbca80f81b0c3d89dca5cb29/add-on-amaranth-v1.0.30.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/amaranth/","maintainer":"pablovazquez","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render","Compositing","User Interface","Scene","Lighting"]},{"id":"math_vis_console","schema_version":"1.0.0","name":"Math Vis (Console)","version":"0.2.2","tagline":"Display console defined mathutils variables in the 3D view","archive_hash":"sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a","archive_size":6507,"archive_url":"https://extensions.blender.org/download/sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a/add-on-math-vis-console-v0.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/math-vis-console/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"auto_mirror","schema_version":"1.0.0","name":"Auto Mirror","version":"2.5.4","tagline":"Super fast cutting and mirroring for mesh","archive_hash":"sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7","archive_size":3571,"archive_url":"https://extensions.blender.org/download/sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7/add-on-auto-mirror-v2.5.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-mirror/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"looptools","schema_version":"1.0.0","name":"LoopTools","version":"4.7.7","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108","archive_size":30534,"archive_url":"https://extensions.blender.org/download/sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108/add-on-looptools-v4.7.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/looptools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"node_arrange","schema_version":"1.0.0","name":"Node Arrange","version":"1.10.1","tagline":"Arrange node trees with one click","archive_hash":"sha256:9f0d135a1041c361c1f06ea836cd40b87dfe255ae30ca696e49ea9164d3dd231","archive_size":1755733,"archive_url":"https://extensions.blender.org/download/sha256:9f0d135a1041c361c1f06ea836cd40b87dfe255ae30ca696e49ea9164d3dd231/add-on-node-arrange-v1.10.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-arrange/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"antlandscape","schema_version":"1.0.0","name":"A.N.T.Landscape","version":"0.2.0","tagline":"Another Noise Tool: Landscape and Displace","archive_hash":"sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0","archive_size":60899,"archive_url":"https://extensions.blender.org/download/sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0/add-on-antlandscape-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/antlandscape/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"material_library","schema_version":"1.0.0","name":"Material Library","version":"0.6.0","tagline":"Material Library VX","archive_hash":"sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019","archive_size":594898,"archive_url":"https://extensions.blender.org/download/sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019/add-on-material-library-v0.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-library/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Material"]},{"id":"copy_attributes_menu","schema_version":"1.0.0","name":"Copy Attributes Menu","version":"0.6.3","tagline":"Copy Attributes Menu","archive_hash":"sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478","archive_size":8270,"archive_url":"https://extensions.blender.org/download/sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478/add-on-copy-attributes-menu-v0.6.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-attributes-menu/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"material_utilities","schema_version":"1.0.0","name":"Material Utilities","version":"2.2.3","tagline":"Menu of material tools (assign, select..) in the 3D View","archive_hash":"sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739","archive_size":16895,"archive_url":"https://extensions.blender.org/download/sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739/add-on-material-utilities-v2.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-utilities/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"edit_linked_library","schema_version":"1.0.0","name":"Edit Linked Library","version":"0.9.2","tagline":"Allows editing of objects, collections, and node groups lin . . ","archive_hash":"sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234","archive_size":3575,"archive_url":"https://extensions.blender.org/download/sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234/add-on-edit-linked-library-v0.9.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-linked-library/","maintainer":"JasonvanGumster","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"simplify_curves_plus","schema_version":"1.0.0","name":"Simplify Curves+","version":"1.1.3","tagline":"Simplify Curves: 3dview, Dopesheet, Graph","archive_hash":"sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851","archive_size":5943,"archive_url":"https://extensions.blender.org/download/sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851/add-on-simplify-curves-plus-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simplify-curves-plus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"modifier_tools","schema_version":"1.0.0","name":"Modifier Tools","version":"0.2.7","tagline":"Modifiers Specials Show/Hide/Apply Selected","archive_hash":"sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a","archive_size":2718,"archive_url":"https://extensions.blender.org/download/sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a/add-on-modifier-tools-v0.2.7.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modifier-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"extra_mesh_objects","schema_version":"1.0.0","name":"Extra Mesh Objects","version":"0.4.0","tagline":"Add extra mesh object types","archive_hash":"sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61","archive_size":130665,"archive_url":"https://extensions.blender.org/download/sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61/add-on-extra-mesh-objects-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-mesh-objects/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"export_paper_model","schema_version":"1.0.0","name":"Export Paper Model","version":"1.4.2","tagline":"Export printable net of a Mesh object","archive_hash":"sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba","archive_size":35606,"archive_url":"https://extensions.blender.org/download/sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba/add-on-export-paper-model-v1.4.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-paper-model/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk"},"tags":["Import-Export"]},{"id":"precision_drawing_tools_pdt","schema_version":"1.0.0","name":"Precision Drawing Tools (PDT)","version":"1.5.3","tagline":"Precision Drawing Tools for Accurate Modelling","archive_hash":"sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266","archive_size":49495,"archive_url":"https://extensions.blender.org/download/sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266/add-on-precision-drawing-tools-pdt-v1.5.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/precision-drawing-tools-pdt/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"extra_curve_objectes","schema_version":"1.0.0","name":"Extra Curve Objects","version":"0.2.0","tagline":"Add extra curve object types","archive_hash":"sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909","archive_size":52956,"archive_url":"https://extensions.blender.org/download/sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909/add-on-extra-curve-objectes-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-curve-objectes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"tinycad_mesh_tools","schema_version":"1.0.0","name":"tinyCAD Mesh tools","version":"1.3.3","tagline":"tinyCAD Mesh tools Add-on","archive_hash":"sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6","archive_size":37134,"archive_url":"https://extensions.blender.org/download/sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6/add-on-tinycad-mesh-tools-v1.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tinycad-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"collection_manager","schema_version":"1.0.0","name":"Collection Manager","version":"2.24.11","tagline":"Manage collections and their objects","archive_hash":"sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5","archive_size":42496,"archive_url":"https://extensions.blender.org/download/sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5/add-on-collection-manager-v2.24.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-manager/","maintainer":"Imaginer","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"import_palettes","schema_version":"1.0.0","name":"Import Palettes","version":"1.0.5","tagline":"Import Palettes","archive_hash":"sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd","archive_size":4151,"archive_url":"https://extensions.blender.org/download/sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd/add-on-import-palettes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-palettes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"autodesk_3ds_format","schema_version":"1.0.0","name":"Autodesk 3D Studio (.3ds)","version":"3.0.1","tagline":"Import-Export 3DS scenes, objects, cameras, lights & animations","archive_hash":"sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9","archive_size":208325,"archive_url":"https://extensions.blender.org/download/sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9/add-on-autodesk-3ds-format-v3.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autodesk-3ds-format/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import-Export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"storypencil_storyboard_tools","schema_version":"1.0.0","name":"Storypencil - Storyboard Tools","version":"1.2.0","tagline":"Storyboard tools","archive_hash":"sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6","archive_size":20608,"archive_url":"https://extensions.blender.org/download/sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6/add-on-storypencil-storyboard-tools-v1.2.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/storypencil-storyboard-tools/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"object_color_rules","schema_version":"1.0.0","name":"Object Color Rules","version":"0.0.2","tagline":"Rules for assigning object color (for object & wireframe co . . ","archive_hash":"sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5","archive_size":4057,"archive_url":"https://extensions.blender.org/download/sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5/add-on-object-color-rules-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/object-color-rules/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"stored_views","schema_version":"1.0.0","name":"Stored Views","version":"0.4.0","tagline":"Save and restore views, pov, layers & display configs","archive_hash":"sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0","archive_size":24199,"archive_url":"https://extensions.blender.org/download/sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0/add-on-stored-views-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stored-views/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it stores/reads view presets"},"tags":["3D View"]},{"id":"cell_fracture","schema_version":"1.0.0","name":"Cell Fracture","version":"0.2.1","tagline":"Fractured Object Creation","archive_hash":"sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2","archive_size":9722,"archive_url":"https://extensions.blender.org/download/sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2/add-on-cell-fracture-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cell-fracture/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"import_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Import AutoCAD DXF Format (.dxf)","version":"0.9.10","tagline":"Import files in the Autocad DXF format (.dxf)","archive_hash":"sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3","archive_size":57092,"archive_url":"https://extensions.blender.org/download/sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3/add-on-import-autocad-dxf-format-dxf-v0.9.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with .dxf files"},"tags":["Import-Export"]},{"id":"bool_tool","schema_version":"1.0.0","name":"Bool Tool","version":"2.0.0","tagline":"Quick boolean operators and tools for hard surface modeling","archive_hash":"sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d","archive_size":167487,"archive_url":"https://extensions.blender.org/download/sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d/add-on-bool-tool-v2.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bool-tool/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"vdm_brush_baker","schema_version":"1.0.0","name":"VDM Brush Baker","version":"1.0.6","tagline":"Bake vector displacement brushes easily from a plane","archive_hash":"sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419","archive_size":5781,"archive_url":"https://extensions.blender.org/download/sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419/add-on-vdm-brush-baker-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vdm-brush-baker/","maintainer":"robin.hohni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on saves textures to disk"},"tags":["Bake","Sculpt"]},{"id":"add_camera_rigs","schema_version":"1.0.0","name":"Add Camera Rigs","version":"1.8.2","tagline":"Adds a Camera Rig with UI","archive_hash":"sha256:b06aa8048718bbea463fc430694b735fd69b934bf8811a02f6fd17d18a7c1f90","archive_size":13706,"archive_url":"https://extensions.blender.org/download/sha256:b06aa8048718bbea463fc430694b735fd69b934bf8811a02f6fd17d18a7c1f90/add-on-add-camera-rigs-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-camera-rigs/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"ivygen","schema_version":"1.0.0","name":"IvyGen","version":"0.1.5","tagline":"Adds generated ivy to a mesh object starting at the 3D cursor","archive_hash":"sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98","archive_size":7172,"archive_url":"https://extensions.blender.org/download/sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98/add-on-ivygen-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ivygen/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"measureit","schema_version":"1.0.0","name":"MeasureIt","version":"1.8.4","tagline":"Tools for measuring objects","archive_hash":"sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042","archive_size":28891,"archive_url":"https://extensions.blender.org/download/sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042/add-on-measureit-v1.8.4.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/measureit/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"tri_lighting","schema_version":"1.0.0","name":"Tri-lighting","version":"0.2.1","tagline":"Add 3 Point Lighting to Selected / Active Object","archive_hash":"sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b","archive_size":3531,"archive_url":"https://extensions.blender.org/download/sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b/add-on-tri-lighting-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tri-lighting/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"grease_pencil_tools","schema_version":"1.0.0","name":"Grease Pencil Tools","version":"2.2.4","tagline":"Extra tools for Grease Pencil","archive_hash":"sha256:de2228934ac042a2aa3cf82af135592b7ef24af5588c12357810ff6b44d5359b","archive_size":51948,"archive_url":"https://extensions.blender.org/download/sha256:de2228934ac042a2aa3cf82af135592b7ef24af5588c12357810ff6b44d5359b/add-on-grease-pencil-tools-v2.2.4.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tools/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Object"]},{"id":"tissue","schema_version":"1.0.0","name":"Tissue","version":"0.3.71","tagline":"Tools for Computational Design","archive_hash":"sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad","archive_size":113361,"archive_url":"https://extensions.blender.org/download/sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad/add-on-tissue-v0.3.71.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tissue/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"icon_viewer","schema_version":"1.0.0","name":"Icon Viewer","version":"1.4.2","tagline":"Click an icon to copy its name to the clipboard","archive_hash":"sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc","archive_size":3814,"archive_url":"https://extensions.blender.org/download/sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc/add-on-icon-viewer-v1.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/icon-viewer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"magic_uv","schema_version":"1.0.0","name":"Magic UV","version":"6.7.1","tagline":"UV Toolset. See Add-ons Preferences for details","archive_hash":"sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571","archive_size":104347,"archive_url":"https://extensions.blender.org/download/sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571/add-on-magic-uv-v6.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/magic-uv/","maintainer":"nutti","license":["SPDX:GPL-2.0-or-later"],"tags":["UV"]},{"id":"export_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Export Autocad DXF Format (.dxf)","version":"2.2.4","tagline":"The script exports Blender geometry to DXF format r12 version","archive_hash":"sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7","archive_size":33206,"archive_url":"https://extensions.blender.org/download/sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7/add-on-export-autocad-dxf-format-dxf-v2.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports DXF file"},"tags":["Import-Export"]},{"id":"discombobulator","schema_version":"1.0.0","name":"Discombobulator","version":"0.1.0","tagline":"Add Discombobulator","archive_hash":"sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d","archive_size":7864,"archive_url":"https://extensions.blender.org/download/sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d/add-on-discombobulator-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/discombobulator/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"animall","schema_version":"1.0.0","name":"AnimAll","version":"0.14.0","tagline":"Animate mesh, lattice, curve and surface data","archive_hash":"sha256:85fcb80112f25a194891242708eb3bc8fdd02890b9a6d9fc83502e059e0d1f86","archive_size":8635,"archive_url":"https://extensions.blender.org/download/sha256:85fcb80112f25a194891242708eb3bc8fdd02890b9a6d9fc83502e059e0d1f86/add-on-animall-v0.14.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/animall/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blender_id_authentication","schema_version":"1.0.0","name":"Blender ID authentication","version":"2.1.3","tagline":"Stores your Blender ID credentials for usage with other add-ons","archive_hash":"sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5/add-on-blender-id-authentication-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-id-authentication/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Requires access to id.blender.org to sync preferences"},"tags":["System"]},{"id":"edit_mesh_tools","schema_version":"1.0.0","name":"Edit Mesh Tools","version":"0.3.6","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0","archive_size":74410,"archive_url":"https://extensions.blender.org/download/sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0/add-on-edit-mesh-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"viewport_pie_menus","schema_version":"1.0.0","name":"3D Viewport Pie Menus","version":"1.7.3","tagline":"Various pie menus to speed up your workflow","archive_hash":"sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100","archive_size":110402,"archive_url":"https://extensions.blender.org/download/sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100/add-on-viewport-pie-menus-v1.7.3.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/viewport-pie-menus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To load brush icons from disk"},"tags":["User Interface"]},{"id":"sapling_tree_gen","schema_version":"1.0.0","name":"Sapling Tree Gen","version":"0.3.7","tagline":"Adds a parametric tree","archive_hash":"sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f","archive_size":36296,"archive_url":"https://extensions.blender.org/download/sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f/add-on-sapling-tree-gen-v0.3.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/sapling-tree-gen/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"bsurfaces_gpl_edition","schema_version":"1.0.0","name":"Bsurfaces GPL Edition","version":"1.8.4","tagline":"Modeling and retopology tool","archive_hash":"sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e","archive_size":31781,"archive_url":"https://extensions.blender.org/download/sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e/add-on-bsurfaces-gpl-edition-v1.8.4.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bsurfaces-gpl-edition/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"curve_tools","schema_version":"1.0.0","name":"Curve Tools","version":"0.4.6","tagline":"Adds some functionality for bezier/nurbs curve/surface modeling","archive_hash":"sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f","archive_size":55633,"archive_url":"https://extensions.blender.org/download/sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f/add-on-curve-tools-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"power_sequencer","schema_version":"1.0.0","name":"Power Sequencer","version":"2.0.4","tagline":"Video editing tools for content creators","archive_hash":"sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a","archive_size":97495,"archive_url":"https://extensions.blender.org/download/sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a/add-on-power-sequencer-v2.0.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/power-sequencer/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"dynamic_sky","schema_version":"1.0.0","name":"Dynamic Sky","version":"1.0.6","tagline":"Creates Dynamic Sky for Cycles","archive_hash":"sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f","archive_size":4358,"archive_url":"https://extensions.blender.org/download/sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f/add-on-dynamic-sky-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-sky/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Lighting"]},{"id":"vrm","schema_version":"1.0.0","name":"VRM format","version":"3.21.1","tagline":"VRM import, export and editing capabilities","archive_hash":"sha256:e2bb23ba073278094fc2c7bc9073726542e9998965a76eee65c6b4c5b39467d9","archive_size":1563645,"archive_url":"https://extensions.blender.org/download/sha256:e2bb23ba073278094fc2c7bc9073726542e9998965a76eee65c6b4c5b39467d9/add-on-vrm-v3.21.1.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/vrm/","maintainer":"saturday06","license":["SPDX:MIT","SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export VRM from/to disk"},"tags":["Import-Export","Animation","Modeling","Material","Physics"]},{"id":"io_scene_max","schema_version":"1.0.0","name":"Import Autodesk MAX (.max)","version":"1.7.5","tagline":"Import 3DSMAX meshes & materials","archive_hash":"sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7","archive_size":83827,"archive_url":"https://extensions.blender.org/download/sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7/add-on-io-scene-max-v1.7.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-max/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Autodesk MAX files"},"tags":["Import-Export","Mesh","Material"]},{"id":"sun_position","schema_version":"1.0.0","name":"Sun Position","version":"4.4.0","tagline":"Show the position of the Sun with objects or an environment","archive_hash":"sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856","archive_size":26592,"archive_url":"https://extensions.blender.org/download/sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856/add-on-sun-position-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sun-position/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"gruvbox_light","schema_version":"1.0.0","name":"Gruvbox Light","version":"1.6.0","tagline":"Gruvbox light theme","archive_hash":"sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae","archive_size":5392,"archive_url":"https://extensions.blender.org/download/sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae/theme-gruvbox-light-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-light/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"gruvbox_dark","schema_version":"1.0.0","name":"Gruvbox Dark","version":"1.6.0","tagline":"Gruvbox dark theme","archive_hash":"sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa","archive_size":5192,"archive_url":"https://extensions.blender.org/download/sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa/theme-gruvbox-dark-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-dark/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"phoenixart_fusion_theme","schema_version":"1.0.0","name":"PhoenixArt Fusion Theme","version":"4.0.3","tagline":"Based on Blackmagic Fusion Theme","archive_hash":"sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066","archive_size":6404,"archive_url":"https://extensions.blender.org/download/sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066/theme-phoenixart-fusion-theme-v4.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/phoenixart-fusion-theme/","maintainer":"phoenixart","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"alien_pink_theme","schema_version":"1.0.0","name":"Alien Pink","version":"6.0.0","tagline":"Stylish and vibrant theme designed specially for you","archive_hash":"sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641","archive_size":6709,"archive_url":"https://extensions.blender.org/download/sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641/theme-alien-pink-theme-v6.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/alien-pink-theme/","maintainer":"Alumx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"copy_object_name_to_data","schema_version":"1.0.0","name":"Copy Object Name to Data","version":"1.1.1","tagline":"A simple operator to copy object names to object data","archive_hash":"sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03","archive_size":14363,"archive_url":"https://extensions.blender.org/download/sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03/add-on-copy-object-name-to-data-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-object-name-to-data/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"nd","schema_version":"1.0.0","name":"ND","version":"2.1.0","tagline":"Non-Destructive Modeling Toolkit","archive_hash":"sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5","archive_size":1546886,"archive_url":"https://extensions.blender.org/download/sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5/add-on-nd-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nd/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import built-in and custom assets"},"tags":["3D View","Lighting","Material","Modeling","Mesh","Object","Scene","UV"]},{"id":"io_export_after_effects","schema_version":"1.0.0","name":"Export: Adobe After Effects (.jsx)","version":"0.2.1","tagline":"Export cameras, images and empties to Adobe After Effects","archive_hash":"sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4","archive_size":16102,"archive_url":"https://extensions.blender.org/download/sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4/add-on-io-export-after-effects-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-export-after-effects/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Export JSX file to disk"},"tags":["Import-Export"]},{"id":"textify","schema_version":"1.0.0","name":"Textify","version":"1.8.0","tagline":"Streamline and Enhance Blender’s Text Editor","archive_hash":"sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4","archive_size":1851559,"archive_url":"https://extensions.blender.org/download/sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4/add-on-textify-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/textify/","maintainer":"Jishnu-kv","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write settings, and manage scripts on disk","clipboard":"Copy class bl_idname and identifiers to clipboard"},"tags":["Text Editor","Development"]},{"id":"Bagapie","schema_version":"1.0.0","name":"Bagapie","version":"11.0.8","tagline":"50+ tools : Scattering, Ivy Gen, Random Array, Architecture","archive_hash":"sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad","archive_size":10833664,"archive_url":"https://extensions.blender.org/download/sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad/add-on-bagapie-v11.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bagapie/","maintainer":"Kiara_Bagattini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create, setup and add assets libraries","network":"Open web browser for documentation and tutorials"},"tags":["Modeling","Node"]},{"id":"y_projectionnode_form_camera_f1","schema_version":"1.0.0","name":"ProjectionNode from Camera","version":"1.3.0","tagline":"Creates a material specified in the Background Image of Camera","archive_hash":"sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75","archive_size":9289,"archive_url":"https://extensions.blender.org/download/sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75/add-on-y-projectionnode-form-camera-f1-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/y-projectionnode-form-camera-f1/","maintainer":"Yukimituki","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"Shadow","schema_version":"1.0.0","name":"Shadow","version":"5.0.2","tagline":"Dark theme","archive_hash":"sha256:0325c737f887420efd31225df8a6d79c7645b4bff72dec4787605ed2d6fbf84b","archive_size":5744,"archive_url":"https://extensions.blender.org/download/sha256:0325c737f887420efd31225df8a6d79c7645b4bff72dec4787605ed2d6fbf84b/theme-shadow-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/shadow/","maintainer":"--Shadow--","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"ucupaint","schema_version":"1.0.0","name":"Ucupaint","version":"2.4.5","tagline":"Layer based painting for Eevee and Cycles","archive_hash":"sha256:9fd5fc4c8f12cdf4ce240dc84f6524fccce11fca72c47094f257631fca3b7b3b","archive_size":2067468,"archive_url":"https://extensions.blender.org/download/sha256:9fd5fc4c8f12cdf4ce240dc84f6524fccce11fca72c47094f257631fca3b7b3b/add-on-ucupaint-v2.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ucupaint/","maintainer":"ucupumar","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to filesystem for loading and saving images","network":"Access to the network to update contributors and sponsors list"},"tags":["Node","Material","Paint","Bake"]},{"id":"Industrial_AOV_Connector","schema_version":"1.0.0","name":"Industrial AOV Connector","version":"5.1.0","tagline":"Auto generate outputs for advanced compositing","archive_hash":"sha256:edcfdf0a2e8bc0bfd90dc961d351ddbd9303f4af985de5d21ff67a499f2c30bb","archive_size":218597,"archive_url":"https://extensions.blender.org/download/sha256:edcfdf0a2e8bc0bfd90dc961d351ddbd9303f4af985de5d21ff67a499f2c30bb/add-on-industrial-aov-connector-v5.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-aov-connector/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Delete Useless Default Renders button need this"},"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"hdr_rotation","schema_version":"1.0.0","name":"Hdr Rotation","version":"1.0.7","tagline":"Rotation HDR by Shift+Right Drag in 3D View","archive_hash":"sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68","archive_size":6585,"archive_url":"https://extensions.blender.org/download/sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68/add-on-hdr-rotation-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdr-rotation/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Render"]},{"id":"Dark_Purple_Green","schema_version":"1.0.0","name":"DarkPurpleGreen","version":"1.0.1","tagline":"Dark minimal neon theme","archive_hash":"sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4","archive_size":5871,"archive_url":"https://extensions.blender.org/download/sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4/theme-dark-purple-green-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-purple-green/","maintainer":"MSBH","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"node_editor_switcher","schema_version":"1.0.0","name":"Node Editor Switcher","version":"1.1.0","tagline":"Pie menu, shortcuts and buttons to switch between node editors","archive_hash":"sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3","archive_size":2134,"archive_url":"https://extensions.blender.org/download/sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3/add-on-node-editor-switcher-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-switcher/","maintainer":"Victor-09","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"Adapta_Nokto","schema_version":"1.0.0","name":"Adapta Nokto","version":"1.1.3","tagline":"Adapta Nokto theme","archive_hash":"sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4","archive_size":5612,"archive_url":"https://extensions.blender.org/download/sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4/theme-adapta-nokto-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/adapta-nokto/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"browser_scroll_resize","schema_version":"1.0.0","name":"Browser Scroll Resize","version":"1.0.1","tagline":"Resize File Size Thumbnail on Browsers with Mouse Wheel","archive_hash":"sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da","archive_size":2729,"archive_url":"https://extensions.blender.org/download/sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da/add-on-browser-scroll-resize-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/browser-scroll-resize/","maintainer":"Barrunterio","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"secret_paint","schema_version":"1.0.0","name":"Secret Paint","version":"1.7.31","tagline":"Select an object, select a surface, paint","archive_hash":"sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6","archive_size":1950644,"archive_url":"https://extensions.blender.org/download/sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6/add-on-secret-paint-v1.7.31.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/secret-paint/","maintainer":"orencloud","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export objects and biomes to external blend files","network":"Update from GitHub if installed as addon rather than extension"},"tags":["Modeling","Add Curve"]},{"id":"delete_line_shortcut","schema_version":"1.0.0","name":"Delete Line Shortcut","version":"1.2.2","tagline":"Shortcut to delete a line and copy its content","archive_hash":"sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab","archive_size":15764,"archive_url":"https://extensions.blender.org/download/sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab/add-on-delete-line-shortcut-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/delete-line-shortcut/","maintainer":"matej.zeman02","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Add-on can read and write to the system clipboard."},"tags":["User Interface","Text Editor"]},{"id":"keyframe_visibility","schema_version":"1.0.0","name":"Keyframe Visibility","version":"1.0.2","tagline":"Batch keyframe visibility for objects","archive_hash":"sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84","archive_size":4295,"archive_url":"https://extensions.blender.org/download/sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84/add-on-keyframe-visibility-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-visibility/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"midnight_blue_theme","schema_version":"1.0.0","name":"Midnight Blue","version":"1.0.1","tagline":"Blender blues after midnight","archive_hash":"sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928","archive_size":5982,"archive_url":"https://extensions.blender.org/download/sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928/theme-midnight-blue-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/midnight-blue-theme/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"bulk_asset_tools","schema_version":"1.0.0","name":"Bulk Asset Tools","version":"1.7.3","tagline":"Manage your asset libraries with ease","archive_hash":"sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d","archive_size":10636,"archive_url":"https://extensions.blender.org/download/sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d/add-on-bulk-asset-tools-v1.7.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bulk-asset-tools/","maintainer":"guitargeek","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"blender_path_maker","schema_version":"1.0.0","name":"Path Maker","version":"1.4.4","tagline":"Replaces custom tags in the Output Path","archive_hash":"sha256:ac0e5abd81f0a555aeeea19206daf037427fe28da134f08775b9dc178e6247e2","archive_size":4818,"archive_url":"https://extensions.blender.org/download/sha256:ac0e5abd81f0a555aeeea19206daf037427fe28da134f08775b9dc178e6247e2/add-on-blender-path-maker-v1.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-path-maker/","maintainer":"thornydre","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"SelectsAllIslandsUDIM","schema_version":"1.0.0","name":"Selects all UV islands on one UDIM","version":"1.2.0","tagline":"Highlighting UV-islands and faces of the corresponding UDIM","archive_hash":"sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f","archive_size":3781,"archive_url":"https://extensions.blender.org/download/sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f/add-on-selectsallislandsudim-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selectsallislandsudim/","maintainer":"Ailex","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"lightpainter","schema_version":"1.0.0","name":"Light Painter","version":"1.5.6","tagline":"Do not place your lights, paint them","archive_hash":"sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a","archive_size":112051,"archive_url":"https://extensions.blender.org/download/sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a/add-on-lightpainter-v1.5.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lightpainter/","maintainer":"SMagnusson","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting","Object"]},{"id":"ContextPie","schema_version":"1.0.0","name":"Context Pie","version":"0.9.21","tagline":"Context sensitive pie menu for a simple, fast workflow","archive_hash":"sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66","archive_size":126927,"archive_url":"https://extensions.blender.org/download/sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66/add-on-contextpie-v0.9.21.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/contextpie/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View","UV"]},{"id":"orient_and_origin_to_selected","schema_version":"1.0.0","name":"Orient and Origin to Selected","version":"1.2.0","tagline":"Quickly manipulate the object origin","archive_hash":"sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521","archive_size":42615,"archive_url":"https://extensions.blender.org/download/sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521/add-on-orient-and-origin-to-selected-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orient-and-origin-to-selected/","maintainer":"Orange Turbine","license":["SPDX:GPL-2.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"screencast_keys","schema_version":"1.0.0","name":"Screencast Keys","version":"4.2.1","tagline":"Display keys pressed in Blender","archive_hash":"sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb","archive_size":38532,"archive_url":"https://extensions.blender.org/download/sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb/add-on-screencast-keys-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/screencast-keys/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"tags":["System","User Interface"]},{"id":"Gold_Pro_Theme","schema_version":"1.0.0","name":"Gold Pro","version":"1.1.4","tagline":"Professional blender theme with Gold :)","archive_hash":"sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d","archive_size":5514,"archive_url":"https://extensions.blender.org/download/sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d/theme-gold-pro-theme-v1.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gold-pro-theme/","maintainer":"EmanuelFerro","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"lfs_camera_plane","schema_version":"1.0.0","name":"Camera Plane","version":"3.0.0","tagline":"Import images and stick them to the camera","archive_hash":"sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4","archive_size":17262,"archive_url":"https://extensions.blender.org/download/sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4/add-on-lfs-camera-plane-v3.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/lfs-camera-plane/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["3D View","Import-Export","Object","Camera"]},{"id":"Wireframe_Color_Tools","schema_version":"1.0.0","name":"Wireframe Color Tools","version":"1.0.0","tagline":"Change Object Colors based on different kinds of methods","archive_hash":"sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9","archive_size":3122,"archive_url":"https://extensions.blender.org/download/sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9/add-on-wireframe-color-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wireframe-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Material","Object"]},{"id":"neutral_grey","schema_version":"1.0.0","name":"Neutral Grey","version":"2.0.3","tagline":"A neutral grey theme for Blender","archive_hash":"sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454","archive_size":5558,"archive_url":"https://extensions.blender.org/download/sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454/theme-neutral-grey-v2.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutral-grey/","maintainer":"scopelma","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Accessibility"]},{"id":"deep_dark_sea","schema_version":"1.0.0","name":"Deep Dark Sea","version":"3.0.0","tagline":"Darker than the default dark","archive_hash":"sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298","archive_size":6219,"archive_url":"https://extensions.blender.org/download/sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298/theme-deep-dark-sea-v3.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-dark-sea/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"border_buddy","schema_version":"1.0.0","name":"Border Buddy","version":"0.1.1","tagline":"Your buddy that helps to preserve borders","archive_hash":"sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4","archive_size":2579,"archive_url":"https://extensions.blender.org/download/sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4/add-on-border-buddy-v0.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/border-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"bake_shape_keys","schema_version":"1.0.0","name":"Bake Shape Keys","version":"1.4.0","tagline":"Feature-set for shape keys and shape key animations","archive_hash":"sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd","archive_size":14241,"archive_url":"https://extensions.blender.org/download/sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd/add-on-bake-shape-keys-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-shape-keys/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Mesh"]},{"id":"matalogue","schema_version":"1.0.0","name":"Matalogue","version":"1.5.0","tagline":"All your node trees in one list","archive_hash":"sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2","archive_size":13081,"archive_url":"https://extensions.blender.org/download/sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2/add-on-matalogue-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matalogue/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"NieR_Automata_UI","schema_version":"1.0.0","name":"NieR_Automata_UI","version":"1.2.3","tagline":"Glory to Mankind","archive_hash":"sha256:296e97dbc97caa4ab94612939407210adda1682ffea5be9c916e90671139874a","archive_size":5769,"archive_url":"https://extensions.blender.org/download/sha256:296e97dbc97caa4ab94612939407210adda1682ffea5be9c916e90671139874a/theme-nier-automata-ui-v1.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nier-automata-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Colorful"]},{"id":"preset_startup_manager","schema_version":"1.0.0","name":"Startup Preset Manager","version":"2.10.0","tagline":"Custom startup file creation / hot reloading","archive_hash":"sha256:09db3bb39ffa07a51635b7af748221c1b45c4fca6d49174d2a57366652609ca8","archive_size":4684,"archive_url":"https://extensions.blender.org/download/sha256:09db3bb39ffa07a51635b7af748221c1b45c4fca6d49174d2a57366652609ca8/add-on-preset-startup-manager-v2.10.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/preset-startup-manager/","maintainer":"Gruff-Wright","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline","Scene","System"]},{"id":"time_theme_switcher","schema_version":"1.0.0","name":"Time Theme Switcher","version":"1.0.0","tagline":"Switches between light and dark UI themes at scheduled times","archive_hash":"sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010","archive_size":18346,"archive_url":"https://extensions.blender.org/download/sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010/add-on-time-theme-switcher-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-theme-switcher/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"k_tools_render_preset_manager","schema_version":"1.0.0","name":"K-Tools: Render Preset Manager","version":"1.2.2","tagline":"Save and Load Blender's Settings","archive_hash":"sha256:024bc16b800a7fb54d2b986c79756b3214bbadef5a4f9999a55b6577e2d9d87f","archive_size":75069,"archive_url":"https://extensions.blender.org/download/sha256:024bc16b800a7fb54d2b986c79756b3214bbadef5a4f9999a55b6577e2d9d87f/add-on-k-tools-render-preset-manager-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-render-preset-manager/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .JSON text files from/to disk"},"tags":["Render"]},{"id":"VAT","schema_version":"1.0.0","name":"Vertex Animation Texture Addon (VAT)","version":"1.0.1","tagline":"Tools for vertex animation textures in Blender","archive_hash":"sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065","archive_size":8592,"archive_url":"https://extensions.blender.org/download/sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065/add-on-vat-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vat/","maintainer":"Flement","license":["SPDX:GPL-3.0-or-later"]},{"id":"vectart_import","schema_version":"1.0.0","name":"Vectart Import","version":"1.0.4","tagline":"Import and preview vector files with layer management","archive_hash":"sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1","archive_size":19068,"archive_url":"https://extensions.blender.org/download/sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1/add-on-vectart-import-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-import/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to read and import SVG files from the disk"},"tags":["Modeling","Object"]},{"id":"extrude_along_path","schema_version":"1.0.0","name":"Extrude Along Path","version":"2.2.0","tagline":"Extrude or Rake profile geometry Along a defined Path","archive_hash":"sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283","archive_size":15621,"archive_url":"https://extensions.blender.org/download/sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283/add-on-extrude-along-path-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extrude-along-path/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"dimensions_and_lines","schema_version":"1.0.0","name":"Dimensions and Lines","version":"1.1.0","tagline":"create technical drawings, dimensions and lines","archive_hash":"sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30","archive_size":75526,"archive_url":"https://extensions.blender.org/download/sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30/add-on-dimensions-and-lines-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dimensions-and-lines/","maintainer":"jan.holinka","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"textures_autosave","schema_version":"1.0.0","name":"Autosave Textures","version":"1.0.1","tagline":"Save all modified image textures on blendfile (auto-)save","archive_hash":"sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938","archive_size":2642,"archive_url":"https://extensions.blender.org/download/sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938/add-on-textures-autosave-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/textures-autosave/","maintainer":"mont29","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write image files to disk"},"tags":["Pipeline","Paint"]},{"id":"csv_importer","schema_version":"1.0.0","name":"CSV Importer","version":"0.2.2","tagline":"import csv data to meshes in Blender","archive_hash":"sha256:631249d12f3617113e2f22fa4006a9a96fdb9774e9a0d3a61fb660656314937b","archive_size":46529057,"archive_url":"https://extensions.blender.org/download/sha256:631249d12f3617113e2f22fa4006a9a96fdb9774e9a0d3a61fb660656314937b/add-on-csv-importer-v0.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/csv-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"NLATools","schema_version":"1.0.0","name":"Merge NLA Strips","version":"1.2.0","tagline":"Combine selected NLA strips into one","archive_hash":"sha256:fb71b63b597aa5998c41387cb24ccb78fed7944a43e80418f959080090a4d276","archive_size":4416,"archive_url":"https://extensions.blender.org/download/sha256:fb71b63b597aa5998c41387cb24ccb78fed7944a43e80418f959080090a4d276/add-on-nlatools-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nlatools/","maintainer":"Likkez","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake"]},{"id":"Frigus_Nox","schema_version":"1.0.0","name":"Frigus Nox","version":"1.0.7","tagline":"Frigus Nox theme","archive_hash":"sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06","archive_size":5535,"archive_url":"https://extensions.blender.org/download/sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06/theme-frigus-nox-v1.0.7.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/frigus-nox/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Auto_Sort_Collections","schema_version":"1.0.0","name":"Auto Sort Collections","version":"1.0.2","tagline":"Automatic organisation of collections","archive_hash":"sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079","archive_size":9665,"archive_url":"https://extensions.blender.org/download/sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079/add-on-auto-sort-collections-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sort-collections/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"Cake_Particles","schema_version":"1.0.0","name":"Cake_Particles","version":"5.0.0","tagline":"Bake particles simulation into keyframed animations","archive_hash":"sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f","archive_size":9459,"archive_url":"https://extensions.blender.org/download/sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f/add-on-cake-particles-v5.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cake-particles/","maintainer":"scaryplasmon","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake","Physics","Object"]},{"id":"Quick_Character_Selector","schema_version":"1.0.0","name":"Quick Character Selector","version":"1.1.0","tagline":"Seleccion rapida de armatures","archive_hash":"sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad/add-on-quick-character-selector-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-character-selector/","maintainer":"MatiasMartin","license":["SPDX:GPL-2.0-or-later"],"tags":["Object","Animation"]},{"id":"momo","schema_version":"1.0.0","name":"Momo Light","version":"5.0.5","tagline":"Momo Light - theme inspired by Modo","archive_hash":"sha256:cf00fdad2d18855ecc66619205364da458738a82a0d1e2257ca3011de6fa7f7c","archive_size":6482,"archive_url":"https://extensions.blender.org/download/sha256:cf00fdad2d18855ecc66619205364da458738a82a0d1e2257ca3011de6fa7f7c/theme-momo-v5.0.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"k_tools_visibility_check","schema_version":"1.0.0","name":"Visibility Check","version":"2.5.2","tagline":"Check for mismatched objects in viewport and render view","archive_hash":"sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913","archive_size":6511,"archive_url":"https://extensions.blender.org/download/sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913/add-on-k-tools-visibility-check-v2.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-visibility-check/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render"]},{"id":"boltfactory","schema_version":"1.0.0","name":"BoltFactory","version":"0.7.1","tagline":"Add a bolt or nut","archive_hash":"sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3","archive_size":35319,"archive_url":"https://extensions.blender.org/download/sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3/add-on-boltfactory-v0.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/boltfactory/","maintainer":"Bolt Factory","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"snap_utilities_line","schema_version":"1.0.0","name":"Snap Line Tool","version":"6.8.1","tagline":"Extends Blender Snap controls","archive_hash":"sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc","archive_size":32147,"archive_url":"https://extensions.blender.org/download/sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc/add-on-snap-utilities-line-v6.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-utilities-line/","maintainer":"mano-wii","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"dynamic_context_menu","schema_version":"1.0.0","name":"Dynamic Context Menu","version":"1.9.4","tagline":"Object Mode Context Sensitive Spacebar Menu","archive_hash":"sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5","archive_size":15679,"archive_url":"https://extensions.blender.org/download/sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5/add-on-dynamic-context-menu-v1.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-context-menu/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"open_linked","schema_version":"1.0.0","name":"Open Linked","version":"1.0.1","tagline":"Open linked blends from the Outliner","archive_hash":"sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3","archive_size":40897,"archive_url":"https://extensions.blender.org/download/sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3/add-on-open-linked-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-linked/","maintainer":"polygoniq","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"theme_CrimsonAttack","schema_version":"1.0.0","name":"Crimson Attack","version":"1.0.0","tagline":"A Red hue'd version of blue invasion","archive_hash":"sha256:c797984cfd094d88741f76100340a6885e11d0d815da2ad8d15676f99f3d620c","archive_size":6231,"archive_url":"https://extensions.blender.org/download/sha256:c797984cfd094d88741f76100340a6885e11d0d815da2ad8d15676f99f3d620c/theme-theme-crimsonattack-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-crimsonattack/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"mat_helperr","schema_version":"1.0.0","name":"MAT Helper","version":"1.2.1","tagline":"Smart PBR texture importer for UModel .mat & .json exports","archive_hash":"sha256:3386ada34896c54c73e1cffe52a1de9fdedc5a475324ddbcd08b6fa60691b9b6","archive_size":4011,"archive_url":"https://extensions.blender.org/download/sha256:3386ada34896c54c73e1cffe52a1de9fdedc5a475324ddbcd08b6fa60691b9b6/add-on-mat-helperr-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mat-helperr/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Import-Export"]},{"id":"texops","schema_version":"1.0.0","name":"TexOps","version":"1.0.0","tagline":"Texture Conversion, Generation, and Manipulation Operations","archive_hash":"sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9","archive_size":94059,"archive_url":"https://extensions.blender.org/download/sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9/add-on-texops-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texops/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Bake","Import-Export","User Interface"]},{"id":"VibeyTM_Pro","schema_version":"1.0.0","name":"Vibey™ Pro","version":"0.0.1","tagline":"Visually exciting yet fully functional","archive_hash":"sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92","archive_size":18840,"archive_url":"https://extensions.blender.org/download/sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92/theme-vibeytm-pro-v0.0.1.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/vibeytm-pro/","maintainer":"Fedor-Rezhenov","license":["SPDX:GPL-3.0-or-later"]},{"id":"Three_d_Cursor_Snap","schema_version":"1.0.0","name":"Three d Cursor Snap","version":"1.2.0","tagline":"Move 3d cursor like gizmo to snap vertex, edge and face","archive_hash":"sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55","archive_size":3579,"archive_url":"https://extensions.blender.org/download/sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55/add-on-three-d-cursor-snap-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/three-d-cursor-snap/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"gzm_mod","schema_version":"1.0.0","name":"GZM 3D model format","version":"1.0.2","tagline":"Import-export 3D models for the GZM game","archive_hash":"sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2","archive_size":288070,"archive_url":"https://extensions.blender.org/download/sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2/add-on-gzm-mod-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gzm-mod/","maintainer":"777-tanks","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"batch_camera_render","schema_version":"1.0.0","name":"Batch Render Cameras","version":"1.8.1","tagline":"Render animations from multiple selected cameras","archive_hash":"sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036","archive_size":3228,"archive_url":"https://extensions.blender.org/download/sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036/add-on-batch-camera-render-v1.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-camera-render/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create output folders for rendered frames"},"tags":["Render","Camera"]},{"id":"blur_hdri","schema_version":"1.0.0","name":"Blur HDRI","version":"0.0.6","tagline":"Blur HDRI Images by creating a new node with a Gaussian Blur","archive_hash":"sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7","archive_size":23644138,"archive_url":"https://extensions.blender.org/download/sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7/add-on-blur-hdri-v0.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blur-hdri/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Material","Lighting"]},{"id":"node_editor_pro","schema_version":"1.0.0","name":"Node Editor Pro","version":"0.5.0","tagline":"Organize nodes with auto-layout, snap and cleanup","archive_hash":"sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c","archive_size":4809,"archive_url":"https://extensions.blender.org/download/sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c/add-on-node-editor-pro-v0.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-pro/","maintainer":"the_visual_geek","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"data_scale","schema_version":"1.0.0","name":"ID Tools","version":"1.2.0","tagline":"Assortment of tools for the manipulation of data-blocks","archive_hash":"sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646","archive_size":22974,"archive_url":"https://extensions.blender.org/download/sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646/add-on-data-scale-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/data-scale/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Temporarily create .blend files to weigh them"},"tags":["Import-Export"]},{"id":"anim_offset_pro","schema_version":"1.0.0","name":"Anim Offset Pro","version":"1.3.0","tagline":"Offset poses across animation keyframes","archive_hash":"sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd","archive_size":5091,"archive_url":"https://extensions.blender.org/download/sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd/add-on-anim-offset-pro-v1.3.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-offset-pro/","maintainer":"Drika111.","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"dynamic_render_border","schema_version":"1.0.0","name":"Dynamic Render Border","version":"1.0.1","tagline":"Addon to create dynamic render borders for animations","archive_hash":"sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986","archive_size":7352,"archive_url":"https://extensions.blender.org/download/sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986/add-on-dynamic-render-border-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-render-border/","maintainer":"tobiaskummer","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Animation"]},{"id":"shapeFitter","schema_version":"1.0.0","name":"Shape Fitter","version":"1.3.0","tagline":"Fit primitive shapes to verticies","archive_hash":"sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee","archive_size":10012,"archive_url":"https://extensions.blender.org/download/sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee/add-on-shapefitter-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapefitter/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"trimmer","schema_version":"1.0.0","name":"Trimmer","version":"0.3.0","tagline":"Simplified texturing workflow for trim-sheets","archive_hash":"sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5","archive_size":12275,"archive_url":"https://extensions.blender.org/download/sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5/add-on-trimmer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trimmer/","maintainer":"LaXHeXLuX","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"camera_viewer","schema_version":"1.0.0","name":"Camera Viewer","version":"1.1.4","tagline":"You can preview the camera view directly in the 3D viewport","archive_hash":"sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79","archive_size":11337,"archive_url":"https://extensions.blender.org/download/sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79/add-on-camera-viewer-v1.1.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-viewer/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"polyzamboni","schema_version":"1.0.0","name":"PolyZamboni","version":"1.2.2","tagline":"Papercraft in Blender","archive_hash":"sha256:1ae944f663de2898d1401cede5ca6368b941ee738d647321dc298db32d13871c","archive_size":14292071,"archive_url":"https://extensions.blender.org/download/sha256:1ae944f663de2898d1401cede5ca6368b941ee738d647321dc298db32d13871c/add-on-polyzamboni-v1.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polyzamboni/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export PDF/SVG to disk"},"platforms":["windows-x64"],"tags":["3D View","Import-Export"]},{"id":"meshstats","schema_version":"1.0.0","name":"Meshstats","version":"1.3.2","tagline":"Mesh statistics","archive_hash":"sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421","archive_size":55105,"archive_url":"https://extensions.blender.org/download/sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421/add-on-meshstats-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.2","website":"https://extensions.blender.org/add-ons/meshstats/","maintainer":"muhuk","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"requin_blue_theme","schema_version":"1.0.0","name":"Requin Blue","version":"1.2.0","tagline":"This is a Blender theme with a major blue color","archive_hash":"sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42","archive_size":6733,"archive_url":"https://extensions.blender.org/download/sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42/theme-requin-blue-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/themes/requin-blue-theme/","maintainer":"MozzarellaARC","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"auto_dark_mode","schema_version":"1.0.0","name":"Auto Dark Mode","version":"3.0.0","tagline":"Automatically follow the system light/dark mode","archive_hash":"sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b","archive_size":11993,"archive_url":"https://extensions.blender.org/download/sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b/add-on-auto-dark-mode-v3.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-dark-mode/","maintainer":"dprice","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read installed themes"},"tags":["System","User Interface"]},{"id":"blue_genes","schema_version":"1.0.0","name":"Blue Genes","version":"1.0.3","tagline":"Dark Blue, Readable Daily Driver","archive_hash":"sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e","archive_size":5997,"archive_url":"https://extensions.blender.org/download/sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e/theme-blue-genes-v1.0.3.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blue-genes/","maintainer":"SpectralVectors","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"save_with_versioning","schema_version":"1.0.0","name":"Save with Versioning","version":"2.1.0","tagline":"Save incremental and use published files for asset linking","archive_hash":"sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff","archive_size":20710,"archive_url":"https://extensions.blender.org/download/sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff/add-on-save-with-versioning-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/save-with-versioning/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save .blend files"},"tags":["Pipeline"]},{"id":"is_key_free","schema_version":"1.0.0","name":"Is key Free","version":"1.1.3","tagline":"Find free shortcuts, inform about used and print a key list","archive_hash":"sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a/add-on-is-key-free-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/is-key-free/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"node_presets","schema_version":"1.0.0","name":"Node Presets","version":"1.1.0","tagline":"Add node groups directly to the node editors","archive_hash":"sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04","archive_size":2398,"archive_url":"https://extensions.blender.org/download/sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04/add-on-node-presets-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-presets/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Node"]},{"id":"archimesh","schema_version":"1.0.0","name":"Archimesh","version":"1.2.5","tagline":"Generate rooms, doors, windows, and other architecture objects","archive_hash":"sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87","archive_size":323488,"archive_url":"https://extensions.blender.org/download/sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87/add-on-archimesh-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/archimesh/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"scatter_objects","schema_version":"1.0.0","name":"Scatter Objects","version":"0.2.0","tagline":"Distribute object instances on another object","archive_hash":"sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b","archive_size":6876,"archive_url":"https://extensions.blender.org/download/sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b/add-on-scatter-objects-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scatter-objects/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"node_group_utilities","schema_version":"1.0.0","name":"Node Group Utilities","version":"2.1.1","tagline":"Extra options and functions for node groups","archive_hash":"sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5","archive_size":67952,"archive_url":"https://extensions.blender.org/download/sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5/add-on-node-group-utilities-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-utilities/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"flatterer","schema_version":"1.0.0","name":"Flatterer","version":"1.6.0","tagline":"Flat mesh to SVG exporter for laser cutters","archive_hash":"sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559","archive_size":383844,"archive_url":"https://extensions.blender.org/download/sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559/add-on-flatterer-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/flatterer/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG files to disk"},"tags":["Import-Export"]},{"id":"bombsquad_tools","schema_version":"1.0.0","name":"BombSquad Tools","version":"3.0.12","tagline":"Tools for creating BombSquad game assets","archive_hash":"sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00","archive_size":39147,"archive_url":"https://extensions.blender.org/download/sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00/add-on-bombsquad-tools-v3.0.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bombsquad-tools/","maintainer":"aryan02420","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .bob, .cob, and .json files"},"tags":["Import-Export","Scene"]},{"id":"vertex_group_assistant","schema_version":"1.0.0","name":"Vertex Group Assistant","version":"1.0.2","tagline":"Simplifies clothing rigging for avatars","archive_hash":"sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c","archive_size":3846,"archive_url":"https://extensions.blender.org/download/sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c/add-on-vertex-group-assistant-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-assistant/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"blender_Run_Scripts_From_Folder","schema_version":"1.0.0","name":"Run Scripts From Folder","version":"0.0.7","tagline":"Execute script from Script Directiories","archive_hash":"sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47","archive_size":2464,"archive_url":"https://extensions.blender.org/download/sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47/add-on-blender-run-scripts-from-folder-v0.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-run-scripts-from-folder/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read .py files from disk"},"tags":["System"]},{"id":"convert_rotation_mode","schema_version":"1.0.0","name":"Convert Rotation Mode","version":"1.5.1","tagline":"Change rotation mode whilst preserving animation","archive_hash":"sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec","archive_size":23134,"archive_url":"https://extensions.blender.org/download/sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec/add-on-convert-rotation-mode-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/convert-rotation-mode/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste bone transforms"},"tags":["Animation","3D View","Bake"]},{"id":"bdvd_SharpBlade","schema_version":"1.0.0","name":"Sharp Blade","version":"5.2.0","tagline":"Easy on the eyes, deep in the blue. Create freely","archive_hash":"sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24","archive_size":5892,"archive_url":"https://extensions.blender.org/download/sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24/theme-bdvd-sharpblade-v5.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/bdvd-sharpblade/","maintainer":"bdvd","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"dynamic_brush_menus","schema_version":"1.0.0","name":"Dynamic Brush Menus","version":"1.1.10","tagline":"Fast access to brushes & tools in Sculpt and Paint Modes","archive_hash":"sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400","archive_size":15222,"archive_url":"https://extensions.blender.org/download/sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400/add-on-dynamic-brush-menus-v1.1.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-brush-menus/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"image_sequence_to_mp4_video_converter","schema_version":"1.0.0","name":"Image Sequence to MP4 Video Converter","version":"1.0.3","tagline":"Convert image sequences to MP4 with custom resolution","archive_hash":"sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d","archive_size":8152,"archive_url":"https://extensions.blender.org/download/sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d/add-on-image-sequence-to-mp4-video-converter-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/image-sequence-to-mp4-video-converter/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"vertex_group_hierarchy_sorter","schema_version":"1.0.0","name":"Vertex Group Hierarchy Sorter","version":"1.0.4","tagline":"List vertex groups in armature hierarchy order","archive_hash":"sha256:943c36cb19536f4658439ef967455e8ae927620ebcd5421a1b3fe202823258b1","archive_size":15156,"archive_url":"https://extensions.blender.org/download/sha256:943c36cb19536f4658439ef967455e8ae927620ebcd5421a1b3fe202823258b1/add-on-vertex-group-hierarchy-sorter-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-hierarchy-sorter/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"expLODe","schema_version":"1.0.0","name":"expLODe","version":"1.0.2","tagline":"LOD automation script using Python and Blender","archive_hash":"sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74","archive_size":22275,"archive_url":"https://extensions.blender.org/download/sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74/add-on-explode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/explode/","maintainer":"Rainma22","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["Import-Export"]},{"id":"render_notifications_extension","schema_version":"1.0.0","name":"Render Notifications","version":"1.2.2","tagline":"Notifies you via Discord, desktop, or webhook on render events","archive_hash":"sha256:5ac923b73c553303352a38de784606aefa0580e2fa9002a33e09d956fb12c85e","archive_size":2804206,"archive_url":"https://extensions.blender.org/download/sha256:5ac923b73c553303352a38de784606aefa0580e2fa9002a33e09d956fb12c85e/add-on-render-notifications-extension-v1.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/render-notifications-extension/","maintainer":"JimmyNoStar","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Needed to send notifications via webhooks and Discord"},"platforms":["windows-x64"],"tags":["Render","System"]},{"id":"armature_deform_with_linked_groups","schema_version":"1.0.0","name":"Armature Deform with Linked Groups","version":"1.0.0","tagline":"Create an armature deformation using linked vertices","archive_hash":"sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2","archive_size":4824,"archive_url":"https://extensions.blender.org/download/sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2/add-on-armature-deform-with-linked-groups-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-deform-with-linked-groups/","maintainer":"Suchaaver","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Mesh"]},{"id":"LinkageMarkingMenu","schema_version":"1.0.0","name":"Linkage Marking Menu","version":"1.0.5","tagline":"Customizable Marking Menu for Object and Edit modes","archive_hash":"sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c","archive_size":18953,"archive_url":"https://extensions.blender.org/download/sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c/add-on-linkagemarkingmenu-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/linkagemarkingmenu/","maintainer":"Linkage","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"eevee_projectors","schema_version":"1.0.0","name":"Eevee Projectors","version":"1.1.1","tagline":"Fake Projector lights in Eeve","archive_hash":"sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e","archive_size":285870,"archive_url":"https://extensions.blender.org/download/sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e/add-on-eevee-projectors-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/eevee-projectors/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","Object"]},{"id":"Arma3ObjectBuilder","schema_version":"1.0.0","name":"Arma 3 Object Builder","version":"2.5.1","tagline":"Comprehensive add-on for modding Arma 3","archive_hash":"sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009","archive_size":270830,"archive_url":"https://extensions.blender.org/download/sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009/add-on-arma3objectbuilder-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/arma3objectbuilder/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export operations on supported file formats"},"tags":["Import-Export","Game Engine","Object"]},{"id":"align_tools","schema_version":"1.0.0","name":"Align Tools","version":"0.3.6","tagline":"Align Selected Objects to Active Object","archive_hash":"sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de","archive_size":6743,"archive_url":"https://extensions.blender.org/download/sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de/add-on-align-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"gp_to_curves","schema_version":"1.0.0","name":"Grease Pencil to Curves","version":"0.4.5","tagline":"Quickly convert Grease Pencil strokes to simple curves and hair","archive_hash":"sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5","archive_size":6977,"archive_url":"https://extensions.blender.org/download/sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5/add-on-gp-to-curves-v0.4.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-to-curves/","maintainer":"DadsCastle","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Add Curve","Modeling"]},{"id":"RigFlex","schema_version":"1.0.0","name":"RigFlex Simple Soft Body Simulation for Armatures","version":"4.2.1","tagline":"Simple Soft Body Simulation for Armatures","archive_hash":"sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064","archive_size":8750,"archive_url":"https://extensions.blender.org/download/sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064/add-on-rigflex-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigflex/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation","Physics","Rigging"]},{"id":"visibility_handler","schema_version":"1.0.0","name":"Visibility handler","version":"1.1.3","tagline":"Copy visibility from viewport to render settings or vice versa","archive_hash":"sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c","archive_size":8680,"archive_url":"https://extensions.blender.org/download/sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c/add-on-visibility-handler-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/visibility-handler/","maintainer":"DanielBystedt","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"FavoriteObjects","schema_version":"1.0.0","name":"Favorite Objects","version":"1.0.5","tagline":"Mark your favorite objects and select them from the Viewport","archive_hash":"sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6","archive_size":5933,"archive_url":"https://extensions.blender.org/download/sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6/add-on-favoriteobjects-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/favoriteobjects/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"property_chart","schema_version":"1.0.0","name":"Property Chart","version":"0.1.2","tagline":"Edit properties simultaneously for selected objects/sequencer","archive_hash":"sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed","archive_size":2959,"archive_url":"https://extensions.blender.org/download/sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed/add-on-property-chart-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/property-chart/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"Connecter","schema_version":"1.0.0","name":"Connecter","version":"0.6.20","tagline":"Streamlined Asset Management: Import & Export with Connecter DAM","archive_hash":"sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310","archive_size":392369,"archive_url":"https://extensions.blender.org/download/sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310/add-on-connecter-v0.6.20-windows-x64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/connecter/","maintainer":"DesignConnected","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export blend files from/to disk"},"platforms":["windows-x64","windows-arm64"],"tags":["Import-Export"]},{"id":"render_multiple_instances","schema_version":"1.0.0","name":"Render Multiple Instances","version":"3.2.1","tagline":"Render animations and Flipbooks faster with multiple instances","archive_hash":"sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc","archive_size":8380,"archive_url":"https://extensions.blender.org/download/sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc/add-on-render-multiple-instances-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-multiple-instances/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and read exports images"},"tags":["Render","Pipeline"]},{"id":"turnaround_camera","schema_version":"1.0.0","name":"Turnaround Camera","version":"0.3.0","tagline":"Add a camera rotation around selected object","archive_hash":"sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa","archive_size":3237,"archive_url":"https://extensions.blender.org/download/sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa/add-on-turnaround-camera-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turnaround-camera/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"carver","schema_version":"1.0.0","name":"Carver","version":"1.2.3","tagline":"Multiple tools to carve or to create objects","archive_hash":"sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b","archive_size":29032,"archive_url":"https://extensions.blender.org/download/sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b/add-on-carver-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/carver/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"sculpt_mask_facesets_tools","schema_version":"1.0.0","name":"Sculpt Mask FaceSets Tools","version":"1.0.0","tagline":"This is a Blender sculpting support tools","archive_hash":"sha256:5846b16d90b6dcda0833a576e725ab8e8b3bbd4bd4d23adf51d4cde7eab409c1","archive_size":11172,"archive_url":"https://extensions.blender.org/download/sha256:5846b16d90b6dcda0833a576e725ab8e8b3bbd4bd4d23adf51d4cde7eab409c1/add-on-sculpt-mask-facesets-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/sculpt-mask-facesets-tools/","maintainer":"Seaway","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt"]},{"id":"image_dimensions_viewer","schema_version":"1.0.0","name":"Image Dimensions Viewer","version":"1.0.0","tagline":"Displays image dimensions in Node and Image Editors","archive_hash":"sha256:73f178f668da9da03c70738cdf09c249114e06f33c37bba37bfe8395130f15db","archive_size":4894,"archive_url":"https://extensions.blender.org/download/sha256:73f178f668da9da03c70738cdf09c249114e06f33c37bba37bfe8395130f15db/add-on-image-dimensions-viewer-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/image-dimensions-viewer/","maintainer":"Pazelock","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Blender_Darker","schema_version":"1.0.0","name":"Darker","version":"1.0.1","tagline":"Blender Dark but well... darker","archive_hash":"sha256:5e356f36b12f0398c67cb3afc93a86d616e23d28f8c703f43e876f6f33c29107","archive_size":5572,"archive_url":"https://extensions.blender.org/download/sha256:5e356f36b12f0398c67cb3afc93a86d616e23d28f8c703f43e876f6f33c29107/theme-blender-darker-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blender-darker/","maintainer":"FlorianW","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"dynamic_rig_ui","schema_version":"1.0.0","name":"Dynamic Rig UI","version":"1.0.1","tagline":"Dynamic Rig UI driven by bone collections and custom properties","archive_hash":"sha256:688fae94a0b2cfb8c55da4f0208f0aaa8c2d1d926e437c5334b0ef8df3dc39f7","archive_size":33793,"archive_url":"https://extensions.blender.org/download/sha256:688fae94a0b2cfb8c55da4f0208f0aaa8c2d1d926e437c5334b0ef8df3dc39f7/add-on-dynamic-rig-ui-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/dynamic-rig-ui/","maintainer":"Samy_Rodriguez","license":["SPDX:GPL-3.0-or-later"]},{"id":"auto_paint_boundaries","schema_version":"1.0.0","name":"Auto Paint Boundaries","version":"1.1.1","tagline":"Paint cleanly inside smart, selection-limited regions","archive_hash":"sha256:5db1c2668d80db2e149ac3dd75fc2d15b7a6603e2da184468bd3588f29edb496","archive_size":14645,"archive_url":"https://extensions.blender.org/download/sha256:5db1c2668d80db2e149ac3dd75fc2d15b7a6603e2da184468bd3588f29edb496/add-on-auto-paint-boundaries-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-paint-boundaries/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"sprocket_tools","schema_version":"1.0.0","name":"Sprocket Tools","version":"1.0.2","tagline":"Import and export Sprocket tank blueprints","archive_hash":"sha256:ede8a6a611179c585c1ad09cf5240fb1ea1cda37ecc994ce2c9817ef73f2758b","archive_size":392332,"archive_url":"https://extensions.blender.org/download/sha256:ede8a6a611179c585c1ad09cf5240fb1ea1cda37ecc994ce2c9817ef73f2758b/add-on-sprocket-tools-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sprocket-tools/","maintainer":"Brian-Marshall","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to import/export Sprocket blueprint data"},"tags":["Game Engine","Import-Export"]},{"id":"isometric_scene_setup","schema_version":"1.0.0","name":"Isometric Scene Setup","version":"1.0.1","tagline":"Isometric scene setup and 2D normal map rendering","archive_hash":"sha256:1e9dea02be61e0e956e7686afab62bd16494e620ace389f495cb7de2934bdda4","archive_size":5255,"archive_url":"https://extensions.blender.org/download/sha256:1e9dea02be61e0e956e7686afab62bd16494e620ace389f495cb7de2934bdda4/add-on-isometric-scene-setup-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/isometric-scene-setup/","maintainer":"RafaelPasquay","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"tags":["Camera","Render","Scene"]},{"id":"render_profiler","schema_version":"1.0.0","name":"Render Profiler","version":"0.9.3","tagline":"Profile and analyze Blender render/viewport performance","archive_hash":"sha256:0f8cefbcaf62dc6caeee332a249876c1f9020f5b5827249ab64d6b64c6552169","archive_size":38504,"archive_url":"https://extensions.blender.org/download/sha256:0f8cefbcaf62dc6caeee332a249876c1f9020f5b5827249ab64d6b64c6552169/add-on-render-profiler-v0.9.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-profiler/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","System"]},{"id":"gruvbox_green_theme","schema_version":"1.0.0","name":"Gruvbox Green Theme","version":"1.0.1","tagline":"A gruvbox theme that is using aqua / green as the primary color","archive_hash":"sha256:f557ec7c47635202c1a700091f1c35cb931aff8f7c5791200d988f9f3a30e85e","archive_size":6478,"archive_url":"https://extensions.blender.org/download/sha256:f557ec7c47635202c1a700091f1c35cb931aff8f7c5791200d988f9f3a30e85e/theme-gruvbox-green-theme-v1.0.1.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/gruvbox-green-theme/","maintainer":"Edin-Spiegel","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"batch_texture_converter","schema_version":"1.0.0","name":"Batch Texture Converter","version":"1.1.0","tagline":"Bulk texture conversion with color space and alpha splitting","archive_hash":"sha256:93fd5b7addd7d32213938f448fafd1bbc342f27c6eba53f55104ce79dbe2080a","archive_size":4400,"archive_url":"https://extensions.blender.org/download/sha256:93fd5b7addd7d32213938f448fafd1bbc342f27c6eba53f55104ce79dbe2080a/add-on-batch-texture-converter-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/batch-texture-converter/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write local files"},"tags":["Import-Export"]},{"id":"stmap_exporter","schema_version":"1.0.0","name":"STMap Exporter","version":"1.1.0","tagline":"STMap Exporter for All Distortion Models","archive_hash":"sha256:19b8aaa06074c695d069c27288c0703b4f8d6be6046d4a4e663bcb18d94c4a61","archive_size":8942,"archive_url":"https://extensions.blender.org/download/sha256:19b8aaa06074c695d069c27288c0703b4f8d6be6046d4a4e663bcb18d94c4a61/add-on-stmap-exporter-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stmap-exporter/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Import-Export"]},{"id":"softviz_pro","schema_version":"1.0.0","name":"SoftViz Pro","version":"1.2.0","tagline":"GPU-accelerated heatmap visualizer for Proportional Editing","archive_hash":"sha256:3f84cef289f013863d16b9a80df390e0c24b5b9deb9c094e6f1749bbc9d946f9","archive_size":5456,"archive_url":"https://extensions.blender.org/download/sha256:3f84cef289f013863d16b9a80df390e0c24b5b9deb9c094e6f1749bbc9d946f9/add-on-softviz-pro-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/softviz-pro/","maintainer":"Niels-Couvreur","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","3D View"]},{"id":"script_launcher","schema_version":"1.0.0","name":"Script Launcher","version":"1.2.0","tagline":"Manage and run Python scripts from multiple root folders","archive_hash":"sha256:91ef1b99bb67b6e65ed5dea7b2c9a7799fe6423b951bc4214c27357156ad4bce","archive_size":8018,"archive_url":"https://extensions.blender.org/download/sha256:91ef1b99bb67b6e65ed5dea7b2c9a7799fe6423b951bc4214c27357156ad4bce/add-on-script-launcher-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/script-launcher/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Development","Pipeline"]},{"id":"momentum","schema_version":"1.0.0","name":"Momentum","version":"1.0.1","tagline":"quickly add configurable follow-through to animations","archive_hash":"sha256:1d8f3e962baabeb2f028ae92952bc9f3fbffc0c390c2889859534dab616f7383","archive_size":16133,"archive_url":"https://extensions.blender.org/download/sha256:1d8f3e962baabeb2f028ae92952bc9f3fbffc0c390c2889859534dab616f7383/add-on-momentum-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/momentum/","maintainer":"Isaac-Burke","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"lily_lime_theme","schema_version":"1.0.0","name":"LiLy Lime","version":"1.0.0","tagline":"A fresh LiLy Lime-inspired light theme for Blender","archive_hash":"sha256:64af2baa0f398da24c045d1e33265dfcc174fc2e2df0c23dbbdfb10e331829bb","archive_size":9509,"archive_url":"https://extensions.blender.org/download/sha256:64af2baa0f398da24c045d1e33265dfcc174fc2e2df0c23dbbdfb10e331829bb/theme-lily-lime-theme-v1.0.0.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/lily-lime-theme/","maintainer":"Eridanus-Epsilon","license":["SPDX:MIT"],"tags":["Light","Colorful","Inspired By"]},{"id":"Solemn_Theme","schema_version":"1.0.0","name":"Solemn","version":"1.0.1","tagline":"A clean and dark theme","archive_hash":"sha256:2ae08f3759820778a85132a84edc89b77faf2240f844638469d28932bdd57f5e","archive_size":6723,"archive_url":"https://extensions.blender.org/download/sha256:2ae08f3759820778a85132a84edc89b77faf2240f844638469d28932bdd57f5e/theme-solemn-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.1","website":"https://extensions.blender.org/themes/solemn-theme/","maintainer":"czod","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Dark_Max_Pro","schema_version":"1.0.0","name":"Dark Max Pro","version":"1.0.0","tagline":"Pro Dark Max","archive_hash":"sha256:fbdab60a32fc45ac3a8de80366bea7dd8fb2903d315daf9714e496f7516f3f6e","archive_size":5433,"archive_url":"https://extensions.blender.org/download/sha256:fbdab60a32fc45ac3a8de80366bea7dd8fb2903d315daf9714e496f7516f3f6e/theme-dark-max-pro-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-max-pro/","maintainer":"PedroAmorim","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"gp_select","schema_version":"1.0.0","name":"Gp Select","version":"1.2.5","tagline":"Grease Pencil,Weight/Rig,reorder,Rename,lock,Duplicate,Mask,Hide","archive_hash":"sha256:4f41dbc660b79e4d95d2e858e8f687c56fab9789d6a3ce81db8f7c71202e4d6a","archive_size":14338,"archive_url":"https://extensions.blender.org/download/sha256:4f41dbc660b79e4d95d2e858e8f687c56fab9789d6a3ce81db8f7c71202e4d6a/add-on-gp-select-v1.2.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/gp-select/","maintainer":"HissatsuClaw","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Rigging"]},{"id":"stop_motion_style_animator","schema_version":"1.0.0","name":"Stop Motion Animator","version":"0.3.1","tagline":"Convert animations into stop-motion style","archive_hash":"sha256:264e8e39a2015709778e8c3fbb8c70585aabd438ee9737b9df538d1f9ad24917","archive_size":3004,"archive_url":"https://extensions.blender.org/download/sha256:264e8e39a2015709778e8c3fbb8c70585aabd438ee9737b9df538d1f9ad24917/add-on-stop-motion-style-animator-v0.3.1.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/stop-motion-style-animator/","maintainer":"Copperhead","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"alias_repowered","schema_version":"1.0.0","name":"Alias Repowered","version":"1.0.0","tagline":"Classic theme inspired by Alias Poweranimator","archive_hash":"sha256:b2d913d82657c2b4f5e91eb61d5fe3ed131b2601234714a2b6aefc7adc91a525","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:b2d913d82657c2b4f5e91eb61d5fe3ed131b2601234714a2b6aefc7adc91a525/theme-alias-repowered-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/alias-repowered/","maintainer":"Tetrabunz","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Light"]},{"id":"object_reporter","schema_version":"1.0.0","name":"Object Reporter","version":"2.4.5","tagline":"Report, edit, select and export objects by custom properties","archive_hash":"sha256:7691ac2222aebcc83143312b391bb43f44683972a68d6216a69b50d4eef7adfa","archive_size":71155,"archive_url":"https://extensions.blender.org/download/sha256:7691ac2222aebcc83143312b391bb43f44683972a68d6216a69b50d4eef7adfa/add-on-object-reporter-v2.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/object-reporter/","maintainer":"Justinas-Dudenas","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export object property reports to CSV files on disk"},"tags":["Object"]},{"id":"e_topology_smooth","schema_version":"1.0.0","name":"E Topology Smooth","version":"2.7.1","tagline":"Mesh topology smoothing with G0-G4 continuity analysis","archive_hash":"sha256:2428b86c5e340712ce74dfe731cf5601acf3222f187189a2495bc683d42282ba","archive_size":35954186,"archive_url":"https://extensions.blender.org/download/sha256:2428b86c5e340712ce74dfe731cf5601acf3222f187189a2495bc683d42282ba/add-on-e-topology-smooth-v2.7.1-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/e-topology-smooth/","maintainer":"Eridanus-Epsilon","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Mesh","Modeling"]},{"id":"frame_range_renderer","schema_version":"1.0.0","name":"Frame Range Renderer","version":"1.0.0","tagline":"Render specific frames or frame ranges from the Output panel","archive_hash":"sha256:36b5912e8efd5943a737161e6076a0fc4c5dd0aa949bb60850dd6d1e45d2da53","archive_size":8126,"archive_url":"https://extensions.blender.org/download/sha256:36b5912e8efd5943a737161e6076a0fc4c5dd0aa949bb60850dd6d1e45d2da53/add-on-frame-range-renderer-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/frame-range-renderer/","maintainer":"AndreasResch","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Writes output images to disk"}},{"id":"soleshapper","schema_version":"1.0.0","name":"SoleShapper","version":"2.0.1","tagline":"Procedural shoe sole designer with noise deformation","archive_hash":"sha256:3724521212c5bf026c78f3dccef1cee697355dceac3847de85350f9cdf8d3ae7","archive_size":23584,"archive_url":"https://extensions.blender.org/download/sha256:3724521212c5bf026c78f3dccef1cee697355dceac3847de85350f9cdf8d3ae7/add-on-soleshapper-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/soleshapper/","maintainer":"David-Orrick","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import OBJ meshes and export STL or OBJ"},"tags":["Add Mesh"]},{"id":"edge_length_measure","schema_version":"1.0.0","name":"Edge Length Measure","version":"1.0.0","tagline":"Measure mesh edge lengths in Object Mode","archive_hash":"sha256:1fb1319bf07728a6c8cd4478f28a8ebb03072f0f2f10a2f7392c8586bfb73a0e","archive_size":16761,"archive_url":"https://extensions.blender.org/download/sha256:1fb1319bf07728a6c8cd4478f28a8ebb03072f0f2f10a2f7392c8586bfb73a0e/add-on-edge-length-measure-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/edge-length-measure/","maintainer":"binary-angel","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Mesh","Modeling"]},{"id":"tu_addon_id","schema_version":"1.0.0","name":"GeneradorMapsPbr","version":"1.0.0","tagline":"Make texture metallic,specular,Roughtness,NormalMap,Height","archive_hash":"sha256:0b37d42af8905161a45836f5c1be098f1f22b9b171f46995b3c9828791ebe37b","archive_size":6065,"archive_url":"https://extensions.blender.org/download/sha256:0b37d42af8905161a45836f5c1be098f1f22b9b171f46995b3c9828791ebe37b/add-on-tu-addon-id-v1.0.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/tu-addon-id/","maintainer":"Fran-Dominguez-Leiva-2","license":["SPDX:GPL-3.0-or-later"]},{"id":"doblux_geometry_node_group_execute","schema_version":"1.0.0","name":"DOBLUX Button to execute Geometry Node Group","version":"1.1.1","tagline":"one-click execution of any open Geometry Node group","archive_hash":"sha256:2975816a00a2d28d2f8cb8f9ba6c7598208d07ce1e72e6795c847847b4495344","archive_size":2014,"archive_url":"https://extensions.blender.org/download/sha256:2975816a00a2d28d2f8cb8f9ba6c7598208d07ce1e72e6795c847847b4495344/add-on-doblux-geometry-node-group-execute-v1.1.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/doblux-geometry-node-group-execute/","maintainer":"Dan-Oak","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes","User Interface"]},{"id":"Crunchyroll_Dark","schema_version":"1.0.0","name":"Crunchyroll Dark","version":"1.0.0","tagline":"A Crunchyroll theme for Blender","archive_hash":"sha256:c8ce1657172ae7e855e8820d924070caab3bfeedb20a47fc12ec2abbbed17c55","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:c8ce1657172ae7e855e8820d924070caab3bfeedb20a47fc12ec2abbbed17c55/theme-crunchyroll-dark-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/crunchyroll-dark/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"EyeZen","schema_version":"1.0.0","name":"Eye Zen","version":"1.0.3","tagline":"A Relaxing Theme","archive_hash":"sha256:822e900972709f7402a5021b569ec8cc29074656d7a7037fc0a1434023287362","archive_size":5767,"archive_url":"https://extensions.blender.org/download/sha256:822e900972709f7402a5021b569ec8cc29074656d7a7037fc0a1434023287362/theme-eyezen-v1.0.3.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/eyezen/","maintainer":"Sakuta-Narukami","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Print"]},{"id":"randomizer","schema_version":"1.0.0","name":"Material Randomizer Pro","version":"1.10.0","tagline":"Material Randomization Tools","archive_hash":"sha256:8747ea7cad63a28ebba701b426f306ad6fc1bf8c66f7486c222a40120f902d46","archive_size":10795,"archive_url":"https://extensions.blender.org/download/sha256:8747ea7cad63a28ebba701b426f306ad6fc1bf8c66f7486c222a40120f902d46/add-on-randomizer-v1.10.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/randomizer/","maintainer":"lambdawalker","license":["SPDX:GPL-3.0-or-later"]},{"id":"Dark_Pro_Max_Theme","schema_version":"1.0.0","name":"Dark_Pro_Max_Theme","version":"1.0.8","tagline":"Dark Ultra Plus","archive_hash":"sha256:a41a968cf505728dee403000c953fa2ad6ef5e52cf97e98522c2e1e043b78d35","archive_size":5658,"archive_url":"https://extensions.blender.org/download/sha256:a41a968cf505728dee403000c953fa2ad6ef5e52cf97e98522c2e1e043b78d35/theme-dark-pro-max-theme-v1.0.8.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-pro-max-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"output_setup_helper","schema_version":"1.0.0","name":"Output Setup Helper","version":"5.0.1","tagline":"Auto setup render outputs and denoising for multi-pass renders","archive_hash":"sha256:2ae18a2f31ec11e134586c3dfae4df83732dbc5c42a39171a04ab3f6c4f2c848","archive_size":4450,"archive_url":"https://extensions.blender.org/download/sha256:2ae18a2f31ec11e134586c3dfae4df83732dbc5c42a39171a04ab3f6c4f2c848/add-on-output-setup-helper-v5.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/output-setup-helper/","maintainer":"lukas.remis","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Render","Pipeline"]},{"id":"reflex_potentials","schema_version":"1.0.0","name":"Reflex Potentials","version":"1.0.3","tagline":"Reflex Potentials","archive_hash":"sha256:f41f8e3805cf75f8cb732dc24733ab839f5b7d633d136bcc59f40635245b1890","archive_size":35482,"archive_url":"https://extensions.blender.org/download/sha256:f41f8e3805cf75f8cb732dc24733ab839f5b7d633d136bcc59f40635245b1890/add-on-reflex-potentials-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/reflex-potentials/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"blender_source_theme","schema_version":"1.0.0","name":"Source","version":"1.0.0","tagline":"This is a Source Engine Based theme for Blender","archive_hash":"sha256:5a6aaaf773d46c437c98caef00c0dfede6a26d4b2ffdd0853fa099fdfe95ac49","archive_size":6684,"archive_url":"https://extensions.blender.org/download/sha256:5a6aaaf773d46c437c98caef00c0dfede6a26d4b2ffdd0853fa099fdfe95ac49/theme-blender-source-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blender-source-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"Blueprint_Theme","schema_version":"1.0.0","name":"Blueprint_Theme","version":"1.0.3","tagline":"True Blueprint Colour","archive_hash":"sha256:259a10535fcb1f7092a2278a4dfe0af8b8ecf5d66192ef2a3c9ef3375b6a79cf","archive_size":5665,"archive_url":"https://extensions.blender.org/download/sha256:259a10535fcb1f7092a2278a4dfe0af8b8ecf5d66192ef2a3c9ef3375b6a79cf/theme-blueprint-theme-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Nostalgia_2bit_UI","schema_version":"1.0.0","name":"Nostalgia_2bit_UI","version":"1.2.6","tagline":"Hi-fi alternate of default Light","archive_hash":"sha256:2d3c82efd1d86bf7f4bdef2f5f824f652a03c3af688a189893be3900c7a9dd1a","archive_size":5589,"archive_url":"https://extensions.blender.org/download/sha256:2d3c82efd1d86bf7f4bdef2f5f824f652a03c3af688a189893be3900c7a9dd1a/theme-nostalgia-2bit-ui-v1.2.6.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nostalgia-2bit-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"BLeQ_Extension","schema_version":"1.0.0","name":"BLeQ","version":"1.0.5","tagline":"Renderqueue / 3DHomePage / Hardwaremonitor / Tools","archive_hash":"sha256:286cefdc0eaeabc2e348c1e26ac7c5eaec9946603e3570aa5382a1704132c0ac","archive_size":35304,"archive_url":"https://extensions.blender.org/download/sha256:286cefdc0eaeabc2e348c1e26ac7c5eaec9946603e3570aa5382a1704132c0ac/add-on-bleq-extension-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bleq-extension/","maintainer":"Christian-Makarski","license":["SPDX:GPL-3.0-or-later"]},{"id":"driver_copy_io","schema_version":"1.0.0","name":"Driver Copy IO","version":"2.1.1","tagline":"Copy/Paste drivers via JSON using full path","archive_hash":"sha256:58a88728287093155bb2f61c7a7e526c2923c0889872d4613bf2db867dba207d","archive_size":21147,"archive_url":"https://extensions.blender.org/download/sha256:58a88728287093155bb2f61c7a7e526c2923c0889872d4613bf2db867dba207d/add-on-driver-copy-io-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/driver-copy-io/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"modifier_manager","schema_version":"1.0.0","name":"Modifier Manager","version":"1.0.2","tagline":"Manage your modifiers from right click menu","archive_hash":"sha256:0e03355dba011e705ff220940779f32169080136f625866173e8a79077f87f29","archive_size":11707,"archive_url":"https://extensions.blender.org/download/sha256:0e03355dba011e705ff220940779f32169080136f625866173e8a79077f87f29/add-on-modifier-manager-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifier-manager/","maintainer":"KewlSheet","license":["SPDX:GPL-3.0-or-later"]},{"id":"mockup_screenshoter","schema_version":"1.0.0","name":"Mockup Screenshoter","version":"0.9.1","tagline":"Capture your screen to make mockups in Penpot","archive_hash":"sha256:16c2d787b49297921eebec6f3bebf1727606c435f1053f6ed6eab55280bbd96e","archive_size":6437,"archive_url":"https://extensions.blender.org/download/sha256:16c2d787b49297921eebec6f3bebf1727606c435f1053f6ed6eab55280bbd96e/add-on-mockup-screenshoter-v0.9.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mockup-screenshoter/","maintainer":"Blender","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary folder for the screen captures","clipboard":"Copy Penpot-ready json into the clipboard"},"tags":["Development"]},{"id":"SilhouetteToole","schema_version":"1.0.0","name":"SilhouetteToole","version":"1.9.3","tagline":"One-click viewport silhouette mode","archive_hash":"sha256:3d21f4e70cbc54a5ad89ce8169dcec502cad3d4d5a96c3cbd899ddee1ec82bc9","archive_size":2042,"archive_url":"https://extensions.blender.org/download/sha256:3d21f4e70cbc54a5ad89ce8169dcec502cad3d4d5a96c3cbd899ddee1ec82bc9/add-on-silhouettetoole-v1.9.3.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/silhouettetoole/","maintainer":"Quinzy","license":["SPDX:GPL-3.0-or-later"]},{"id":"b3d_ui_langloop","schema_version":"1.0.0","name":"B3D UI Language Loop","version":"1.0.3","tagline":"Quickly cycle Blender interface languages with a shortcut","archive_hash":"sha256:63bf8c9073919e21a7eb49b352d02a54f71057cfe26adce7f9d2337ac9a0b866","archive_size":6240,"archive_url":"https://extensions.blender.org/download/sha256:63bf8c9073919e21a7eb49b352d02a54f71057cfe26adce7f9d2337ac9a0b866/add-on-b3d-ui-langloop-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b3d-ui-langloop/","maintainer":"楊景貴","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"tree_clipper","schema_version":"1.0.0","name":"Tree Clipper","version":"0.1.6","tagline":"Export and import Blender node trees as JSON","archive_hash":"sha256:e67f50a0da6699a7257e93f10be341f5e3461d070d808c2281264d8d0ac8de44","archive_size":52846,"archive_url":"https://extensions.blender.org/download/sha256:e67f50a0da6699a7257e93f10be341f5e3461d070d808c2281264d8d0ac8de44/add-on-tree-clipper-v0.1.6.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/tree-clipper/","maintainer":"Lars-Helge-Scheel","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Node"]},{"id":"shapingrecorder","schema_version":"1.0.0","name":"Shaping Recorder","version":"0.7.5","tagline":"Record mesh shaping and viewport moves, replay interpolated","archive_hash":"sha256:a10c5e07c373447ad896741da47cc8a4fc831852c2f09261b57c120f2f8c3596","archive_size":38248,"archive_url":"https://extensions.blender.org/download/sha256:a10c5e07c373447ad896741da47cc8a4fc831852c2f09261b57c120f2f8c3596/add-on-shapingrecorder-v0.7.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapingrecorder/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write image sequences"},"tags":["Modeling"]},{"id":"reforge","schema_version":"1.0.0","name":"Reforge","version":"0.5.2","tagline":"Reforge Blender scenes into Defold assets","archive_hash":"sha256:15bd625739050ad3a4b3641ebdebfac6298330c02dee5d0b1bc08eb96b47f811","archive_size":16167,"archive_url":"https://extensions.blender.org/download/sha256:15bd625739050ad3a4b3641ebdebfac6298330c02dee5d0b1bc08eb96b47f811/add-on-reforge-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reforge/","maintainer":"Alexander-Bulatov","license":["SPDX:GPL-3.0-or-later"]},{"id":"comparable","schema_version":"1.0.0","name":"Comparable","version":"1.0.2","tagline":"Compare two objects or collections in one click","archive_hash":"sha256:b72d64fdb22b697a07806b75fcf932348475e326fc38b27d9230ddc0aae2116d","archive_size":3981,"archive_url":"https://extensions.blender.org/download/sha256:b72d64fdb22b697a07806b75fcf932348475e326fc38b27d9230ddc0aae2116d/add-on-comparable-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/comparable/","maintainer":"ffuthoni","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"screenwriter","schema_version":"1.0.0","name":"Screenwriter","version":"1.0.0","tagline":"Screenplay formatting and syncing tools for Blender","archive_hash":"sha256:ea16e42750bde882d4e1ceed7a74d55e020bb52bed06816615f9d5e162f6c2c6","archive_size":7307,"archive_url":"https://extensions.blender.org/download/sha256:ea16e42750bde882d4e1ceed7a74d55e020bb52bed06816615f9d5e162f6c2c6/add-on-screenwriter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/screenwriter/","maintainer":"zhengyang237","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing .fountain files"}},{"id":"image_zoom_overlay","schema_version":"1.0.0","name":"Image Zoom Overlay","version":"1.0.0","tagline":"Display zoom level in Image Editor with quick presets","archive_hash":"sha256:96407335647d7191ba1522818bd6f5b9e15be10fd896c50a18a5330e4d09e154","archive_size":2896,"archive_url":"https://extensions.blender.org/download/sha256:96407335647d7191ba1522818bd6f5b9e15be10fd896c50a18a5330e4d09e154/add-on-image-zoom-overlay-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/image-zoom-overlay/","maintainer":"pikok85","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to image editor display settings"},"tags":["User Interface"]},{"id":"pataz_notes","schema_version":"1.0.0","name":"Pataz Notes","version":"5.1.1","tagline":"Anotate your blend files","archive_hash":"sha256:41e6e18fe44ba530a0525c3f1543a54589096fe017ad1dac108aa96a03ab72b0","archive_size":4385,"archive_url":"https://extensions.blender.org/download/sha256:41e6e18fe44ba530a0525c3f1543a54589096fe017ad1dac108aa96a03ab72b0/add-on-pataz-notes-v5.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-notes/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"local_view_collection","schema_version":"1.0.0","name":"Local View by collection","version":"1.0.1","tagline":"Quickly isolate into local view the objects of a collection","archive_hash":"sha256:b3787414e05eb4fec2321dfa8869b24a904daca1a94537c0624733dd171b9e7b","archive_size":5631,"archive_url":"https://extensions.blender.org/download/sha256:b3787414e05eb4fec2321dfa8869b24a904daca1a94537c0624733dd171b9e7b/add-on-local-view-collection-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/local-view-collection/","maintainer":"D3W3","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","User Interface"]},{"id":"omoospace","schema_version":"1.0.0","name":"Omoospace","version":"0.2.2","tagline":"Manage your project files in omoospace's way","archive_hash":"sha256:ea1b57339370dc90b75597d163f687fc308e620cb947046f3b047226d510bb0e","archive_size":1788795,"archive_url":"https://extensions.blender.org/download/sha256:ea1b57339370dc90b75597d163f687fc308e620cb947046f3b047226d510bb0e/add-on-omoospace-v0.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omoospace/","maintainer":"icrdr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Manage your project files in omoospace's way"},"platforms":["windows-x64"],"tags":["Pipeline"]},{"id":"export_curve_to_json","schema_version":"1.0.0","name":"Export Curve To Json","version":"1.0.2","tagline":"File import/export for curves with JSON","archive_hash":"sha256:3646464bdf053849db751b2222790836064e5e268c70ef559f89bacde467c115","archive_size":18907,"archive_url":"https://extensions.blender.org/download/sha256:3646464bdf053849db751b2222790836064e5e268c70ef559f89bacde467c115/add-on-export-curve-to-json-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-curve-to-json/","maintainer":"Quint-Vrolijk","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"sculpting_extra_meshes_curve","schema_version":"1.0.0","name":"Sculpting Extra Meshes + Curve","version":"1.2.1","tagline":"Add primitives, join, boolean, mirror while in Sculpt Mode","archive_hash":"sha256:1ffdfc6d35b339f74a33a425a63d896b0c1516306e1c70b14974ea032f47f556","archive_size":3706,"archive_url":"https://extensions.blender.org/download/sha256:1ffdfc6d35b339f74a33a425a63d896b0c1516306e1c70b14974ea032f47f556/add-on-sculpting-extra-meshes-curve-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sculpting-extra-meshes-curve/","maintainer":"pixldg","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt"]},{"id":"global_custom_properties","schema_version":"1.0.0","name":"Global Custom Properties","version":"1.0.0","tagline":"Reusable Custom Properties on Objects and Collections","archive_hash":"sha256:9775ca35a3b7fb12a8c36dcbde85c8497a0ddd8938ec180416d9f23d9907d128","archive_size":18782,"archive_url":"https://extensions.blender.org/download/sha256:9775ca35a3b7fb12a8c36dcbde85c8497a0ddd8938ec180416d9f23d9907d128/add-on-global-custom-properties-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/global-custom-properties/","maintainer":"1hue","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"SimpleMIDI","schema_version":"1.0.0","name":"SimpleMIDI","version":"0.1.13","tagline":"Control object parameters through MIDI Input","archive_hash":"sha256:1c9001d8ced49c7dd63ec3c88c69f3095eff57dd00b6d45f136dd6a00b67db16","archive_size":279077,"archive_url":"https://extensions.blender.org/download/sha256:1c9001d8ced49c7dd63ec3c88c69f3095eff57dd00b6d45f136dd6a00b67db16/add-on-simplemidi-v0.1.13-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simplemidi/","maintainer":"yadu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Imports and exports JSON for target maps"},"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"curve_fillet_tool","schema_version":"1.0.0","name":"NURBS/Poly Fillet Tool","version":"1.0.0","tagline":"Fillet and 'unfillet' for paths","archive_hash":"sha256:07d671b719e336aba5192208baf4951d2db3cf161e56350c3fb405fb3b6b1df7","archive_size":17360,"archive_url":"https://extensions.blender.org/download/sha256:07d671b719e336aba5192208baf4951d2db3cf161e56350c3fb405fb3b6b1df7/add-on-curve-fillet-tool-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/curve-fillet-tool/","maintainer":"zaphod","license":["SPDX:GPL-3.0-or-later"]},{"id":"time_stretch_sync","schema_version":"1.0.0","name":"Time Stretch Sync","version":"1.1.0","tagline":"Sync timeline range, playline and operators with timestretching","archive_hash":"sha256:347dd396d927096a9f8c361e79214b2a612a5ca8208274a667ee207195f5df4c","archive_size":13493,"archive_url":"https://extensions.blender.org/download/sha256:347dd396d927096a9f8c361e79214b2a612a5ca8208274a667ee207195f5df4c/add-on-time-stretch-sync-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-stretch-sync/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"render_subcollections","schema_version":"1.0.0","name":"Render Subcollections","version":"1.0.1","tagline":"Automatically renders subcollections one by one","archive_hash":"sha256:54f2c7f20d243d96a7575d8083e92de190a0ceb9149e3757491c82cad3833066","archive_size":3353,"archive_url":"https://extensions.blender.org/download/sha256:54f2c7f20d243d96a7575d8083e92de190a0ceb9149e3757491c82cad3833066/add-on-render-subcollections-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-subcollections/","maintainer":"Nico-Peters","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Camera"]},{"id":"Dissolve2EdgeVertices","schema_version":"1.0.0","name":"Dissolve 2-Edge Vertices","version":"1.1.0","tagline":"Dissolve vertices with two edges to clean up mesh topology","archive_hash":"sha256:6bfec11aea3f67f68c75897824e690f2110b5a0a84f57b8c9681e1b46a60241a","archive_size":1920,"archive_url":"https://extensions.blender.org/download/sha256:6bfec11aea3f67f68c75897824e690f2110b5a0a84f57b8c9681e1b46a60241a/add-on-dissolve2edgevertices-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dissolve2edgevertices/","maintainer":"Jackal","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"beyond_channel_packer","schema_version":"1.0.0","name":"Beyond Channel Packer","version":"1.0.2","tagline":"Pack image channels (RGBA) in the Image Editor","archive_hash":"sha256:713e336af49bf826e91aead72025eadd114580927d24e33e0493583e187b7e77","archive_size":22143,"archive_url":"https://extensions.blender.org/download/sha256:713e336af49bf826e91aead72025eadd114580927d24e33e0493583e187b7e77/add-on-beyond-channel-packer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.9.999","website":"https://extensions.blender.org/add-ons/beyond-channel-packer/","maintainer":"tyler.tofu","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","Paint"]},{"id":"chordsong","schema_version":"1.0.0","name":"Chord Song","version":"1.1.6","tagline":"Vim-like key implementation for Blender","archive_hash":"sha256:63e0b7ffb93d0651424f0cd46e9b88186d8d84e63d85bf2ce8d816aa0dcbe49d","archive_size":178683,"archive_url":"https://extensions.blender.org/download/sha256:63e0b7ffb93d0651424f0cd46e9b88186d8d84e63d85bf2ce8d816aa0dcbe49d/add-on-chordsong-v1.1.6.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/chordsong/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Development"]},{"id":"keyboard_layout_emulation","schema_version":"1.0.0","name":"Keyboard Layout Emulation","version":"1.0.2","tagline":"Emulate QWERTY keyboard shortcuts on non-QWERTY keyboard layouts","archive_hash":"sha256:16913e50665a8e293b248d82aec64859f67c4c0932a3ef41b765cbcb603b2e04","archive_size":32090,"archive_url":"https://extensions.blender.org/download/sha256:16913e50665a8e293b248d82aec64859f67c4c0932a3ef41b765cbcb603b2e04/add-on-keyboard-layout-emulation-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyboard-layout-emulation/","maintainer":"endorh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export keyboard layouts/add-on preferences"},"tags":["User Interface"]},{"id":"ghostview","schema_version":"1.0.0","name":"GhostView","version":"1.0.2","tagline":"Adjust Window Opacity","archive_hash":"sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2","archive_size":1997,"archive_url":"https://extensions.blender.org/download/sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2/add-on-ghostview-v1.0.2-windows-x64-windows-arm64-macos-x64-macos-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ghostview/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","windows-arm64","macos-x64","macos-arm64"],"tags":["User Interface","System"]},{"id":"majik_blender_edu_teacher","schema_version":"1.0.0","name":"Majik Blender Edu","version":"1.1.4","tagline":"Submission integrity tool for educators to verify students' work","archive_hash":"sha256:fc1007990be6653f524611f8c7f1daf8b043dcb0bc55d7fb103d26612786446f","archive_size":3743388,"archive_url":"https://extensions.blender.org/download/sha256:fc1007990be6653f524611f8c7f1daf8b043dcb0bc55d7fb103d26612786446f/add-on-majik-blender-edu-teacher-v1.1.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/majik-blender-edu-teacher/","maintainer":"Zelijah","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write keys and logs as JSON for integrity verification","network":"Access required for JSON file analysis"},"platforms":["windows-x64"],"tags":["Pipeline"]},{"id":"theme_elsyiun_like","schema_version":"1.0.0","name":"elsyiun like","version":"1.1.0","tagline":"A flat dark theme that is easy on the eyes","archive_hash":"sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1","archive_size":5639,"archive_url":"https://extensions.blender.org/download/sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1/theme-theme-elsyiun-like-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-elsyiun-like/","maintainer":"modekichi","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"only_blends_mixer","schema_version":"1.0.0","name":"OnlyBlends.Mixer","version":"0.1.4","tagline":"An extension to turn Blender into a Mixer... of Sounds","archive_hash":"sha256:9b4dfdd0e1da99931f745bd89229c3ed3edb2fa89bedfd0b6afc481b8a3bf347","archive_size":54096,"archive_url":"https://extensions.blender.org/download/sha256:9b4dfdd0e1da99931f745bd89229c3ed3edb2fa89bedfd0b6afc481b8a3bf347/add-on-only-blends-mixer-v0.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-mixer/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline"]},{"id":"viewport_navigation_display","schema_version":"1.0.0","name":"Viewport Navigation Display","version":"1.2.1","tagline":"Visualize and control other viewports from TOP view","archive_hash":"sha256:3764c677ad34d57510e22257ff61646ab4ec8a25d2599486588d2bf9ab2bba01","archive_size":44446,"archive_url":"https://extensions.blender.org/download/sha256:3764c677ad34d57510e22257ff61646ab4ec8a25d2599486588d2bf9ab2bba01/add-on-viewport-navigation-display-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-navigation-display/","maintainer":"Cristiano-Tosoni","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","User Interface"]},{"id":"viewport_fps","schema_version":"1.0.0","name":"Viewport FPS","version":"1.0.2","tagline":"Displays frames per second in current 3D viewport","archive_hash":"sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f","archive_size":3040,"archive_url":"https://extensions.blender.org/download/sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f/add-on-viewport-fps-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-fps/","maintainer":"Pazelock","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","System"]},{"id":"asset_shelf_shortcut_display","schema_version":"1.0.0","name":"Asset Shelf Shortcut Display","version":"1.0.0","tagline":"Adds a line with hotkey/shortcut of the asset in the shelf","archive_hash":"sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad","archive_size":2816,"archive_url":"https://extensions.blender.org/download/sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad/add-on-asset-shelf-shortcut-display-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/asset-shelf-shortcut-display/","maintainer":"The-Loose-Spirit","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_signs","schema_version":"1.0.0","name":"QuickSigns","version":"1.0.1","tagline":"Create 3D text signs with Google Fonts integration","archive_hash":"sha256:d24a17ff92d6a2bbcbc7767c5c4f0a92eee7c6a564e900db4fd993545f9d9959","archive_size":9089,"archive_url":"https://extensions.blender.org/download/sha256:d24a17ff92d6a2bbcbc7767c5c4f0a92eee7c6a564e900db4fd993545f9d9959/add-on-quick-signs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-signs/","maintainer":"Marin-Brouwers","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write font files to local storage","network":"Access Google Fonts API for font search and download"},"tags":["Import-Export"]},{"id":"dy_pack_master","schema_version":"1.0.0","name":"dy Pack Master","version":"1.0.1","tagline":"Make Blender projects portable for render farms","archive_hash":"sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f","archive_size":34845,"archive_url":"https://extensions.blender.org/download/sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f/add-on-dy-pack-master-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dy-pack-master/","maintainer":"cdordelly","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Copies and localizes external assets to project directory"},"tags":["Pipeline","Import-Export","System"]},{"id":"cycles_bake_info","schema_version":"1.0.0","name":"Bake Info","version":"1.0.2","tagline":"fast bake checkup","archive_hash":"sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5/add-on-cycles-bake-info-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cycles-bake-info/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"Areas_by_Materials","schema_version":"1.0.0","name":"Areas by Materials","version":"1.6.0","tagline":"Displays information about areas of materials in selection","archive_hash":"sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9","archive_size":3609,"archive_url":"https://extensions.blender.org/download/sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9/add-on-areas-by-materials-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/areas-by-materials/","maintainer":"Justinas-Dudenas","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","User Interface"]},{"id":"quill","schema_version":"1.0.0","name":"Quill Import/Export","version":"1.4.2","tagline":"Import and export Quill VR illustrations and animations","archive_hash":"sha256:cf17224facfb070004066cbdd94970612938ededfc654573a7ce1b787e7a5daf","archive_size":52095,"archive_url":"https://extensions.blender.org/download/sha256:cf17224facfb070004066cbdd94970612938ededfc654573a7ce1b787e7a5daf/add-on-quill-v1.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quill/","maintainer":"Joan-Charmant","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export Quill projects from/to disk"},"tags":["Import-Export"]},{"id":"splats","schema_version":"1.0.0","name":"Splats","version":"1.0.1","tagline":"Generate multi-view training data for Gaussian Splatting","archive_hash":"sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2","archive_size":15856,"archive_url":"https://extensions.blender.org/download/sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2/add-on-splats-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/splats/","maintainer":"Dev.Patel","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PLY point clouds and render output files"},"tags":["Render","Camera"]},{"id":"export_curve_as_svg","schema_version":"1.0.0","name":"Export Curve as SVG","version":"1.0.0","tagline":"Export selected Bezier and Poly curves as SVG files","archive_hash":"sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990","archive_size":16937,"archive_url":"https://extensions.blender.org/download/sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990/add-on-export-curve-as-svg-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-curve-as-svg/","maintainer":"Gilberto.R","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"asset_library_tools","schema_version":"1.0.0","name":"Asset Library Tools","version":"1.0.0","tagline":"Filter assets by tags and catalogue backups for asset libraries","archive_hash":"sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37","archive_size":15607,"archive_url":"https://extensions.blender.org/download/sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37/add-on-asset-library-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-library-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write tag indexes and catalogue backup files"},"tags":["System","User Interface","Pipeline"]},{"id":"redlix_theme","schema_version":"1.0.0","name":"Redlix Theme","version":"1.0.0","tagline":"Cooperative brutalist framework - retro-futuristic design system","archive_hash":"sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8","archive_size":4968,"archive_url":"https://extensions.blender.org/download/sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8/theme-redlix-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redlix-theme/","maintainer":"redlix","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"ftw_flattening_toolset","schema_version":"1.0.0","name":"FTW Flattening Toolset","version":"2.0.0","tagline":"UV workflow: flattening, curve alignment, scaling, UV transfer","archive_hash":"sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a","archive_size":1176759,"archive_url":"https://extensions.blender.org/download/sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a/add-on-ftw-flattening-toolset-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw-flattening-toolset/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"]},{"id":"folded_paper_engine","schema_version":"1.0.0","name":"Folded Paper Engine","version":"1.0.9","tagline":"Define gameplay in Blender and play in Godot with a few clicks","archive_hash":"sha256:a39e163e5a7474b155fb9ece5e01077e573ba876db37ddd8306fab9c216a886c","archive_size":13999,"archive_url":"https://extensions.blender.org/download/sha256:a39e163e5a7474b155fb9ece5e01077e573ba876db37ddd8306fab9c216a886c/add-on-folded-paper-engine-v1.0.9.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/folded-paper-engine/","maintainer":"Papercraft-Games","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"tags":["Import-Export","Game Engine","Pipeline"]},{"id":"gather_resources","schema_version":"1.0.0","name":"Gather Resources","version":"0.5.2","tagline":"Collect project media into a local folder","archive_hash":"sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3","archive_size":10373,"archive_url":"https://extensions.blender.org/download/sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3/add-on-gather-resources-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gather-resources/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read project media files and copy them into a local directory"},"tags":["System","Pipeline"]},{"id":"rendercue","schema_version":"1.0.0","name":"RenderCue","version":"1.1.3","tagline":"Sequence. Queue. Render","archive_hash":"sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b","archive_size":52378,"archive_url":"https://extensions.blender.org/download/sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b/add-on-rendercue-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rendercue/","maintainer":"UsamaSQ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save renders to user-defined directories","network":"Send render notifications via Webhooks"},"tags":["Render","Pipeline"]},{"id":"character_pipeline_tracker","schema_version":"1.0.0","name":"Character Pipeline Tracker","version":"1.0.0","tagline":"Track and automate character creation pipeline stages","archive_hash":"sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010","archive_size":27555,"archive_url":"https://extensions.blender.org/download/sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010/add-on-character-pipeline-tracker-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/character-pipeline-tracker/","maintainer":"Evgeny-Lisichik","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"spine_io","schema_version":"1.0.0","name":"Spine IO","version":"0.0.3","tagline":"Export bone-driven Spine 4.3 JSON files","archive_hash":"sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e","archive_size":29815,"archive_url":"https://extensions.blender.org/download/sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e/add-on-spine-io-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spine-io/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read textures and write Spine JSON"},"tags":["Import-Export","Rigging","Animation"]},{"id":"cam_tools","schema_version":"1.0.0","name":"Cam Tools","version":"1.1.0","tagline":"Streamlined camera workflow toolkit","archive_hash":"sha256:1140c5de02db1814f024ce9838b0aa772901ccccb320b6c79613932d61b8fc3c","archive_size":39272,"archive_url":"https://extensions.blender.org/download/sha256:1140c5de02db1814f024ce9838b0aa772901ccccb320b6c79613932d61b8fc3c/add-on-cam-tools-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cam-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"camfree","schema_version":"1.0.0","name":"CamFree","version":"1.0.5","tagline":"Fly/Walk Navigation on Cameras with Constraints","archive_hash":"sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344","archive_size":2409,"archive_url":"https://extensions.blender.org/download/sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344/add-on-camfree-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camfree/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"sort_viewlayers_rmb","schema_version":"1.0.0","name":"RMB Sort View Layers Alphabetically in Outliner-Scenes","version":"0.0.2","tagline":"RMB Sort View Layers Alphabetically in Outliner-Scenes","archive_hash":"sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0","archive_size":2908,"archive_url":"https://extensions.blender.org/download/sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0/add-on-sort-viewlayers-rmb-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sort-viewlayers-rmb/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"voda_theme_cinnamon","schema_version":"1.0.0","name":"Cinnamon","version":"1.0.0","tagline":"Cinnamon-Orange themed Blender with a gradiented kick","archive_hash":"sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d","archive_size":6549,"archive_url":"https://extensions.blender.org/download/sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d/theme-voda-theme-cinnamon-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/voda-theme-cinnamon/","maintainer":"VaVo","license":["SPDX:CC0-1.0"]},{"id":"Studio_Dark","schema_version":"1.0.0","name":"Studio Dark","version":"1.7.3","tagline":"Sharp colors, comfortable contrast, white select, green active","archive_hash":"sha256:1a2a0dc3b02ecf95c26cb51b4c2043ecfb9d03c722550d5a123d742f2f5fcdd2","archive_size":5412,"archive_url":"https://extensions.blender.org/download/sha256:1a2a0dc3b02ecf95c26cb51b4c2043ecfb9d03c722550d5a123d742f2f5fcdd2/theme-studio-dark-v1.7.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/studio-dark/","maintainer":"3DDinosaur","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"khellstr_light","schema_version":"1.0.0","name":"khellstr light theme","version":"1.0.0","tagline":"Balanced Light Theme for Blender","archive_hash":"sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d","archive_size":6493,"archive_url":"https://extensions.blender.org/download/sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d/theme-khellstr-light-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/khellstr-light/","maintainer":"Kimmo-Hellström","license":["SPDX:GPL-3.0-or-later"]},{"id":"Black","schema_version":"1.0.0","name":"Black","version":"5.0.4","tagline":"A black theme, probably the blackest one","archive_hash":"sha256:3167d027740b8693d0a97af41ee0fbedfde3fc378c8900ddb43adf5935600f64","archive_size":5200,"archive_url":"https://extensions.blender.org/download/sha256:3167d027740b8693d0a97af41ee0fbedfde3fc378c8900ddb43adf5935600f64/theme-black-v5.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/black/","maintainer":"Gurra","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"root_maker","schema_version":"1.0.0","name":"RootMaker","version":"1.0.1","tagline":"Create root bone & bake into actions","archive_hash":"sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3","archive_size":6592,"archive_url":"https://extensions.blender.org/download/sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3/add-on-root-maker-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/root-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging","Bake"]},{"id":"k_tools_texture_map_loader","schema_version":"1.0.0","name":"K-Tools: Texture Map Loader","version":"1.0.9","tagline":" An easy way to load Texture Sets in your Shader Material","archive_hash":"sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495","archive_size":787239,"archive_url":"https://extensions.blender.org/download/sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495/add-on-k-tools-texture-map-loader-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-texture-map-loader/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load Node Groups from disk"},"tags":["Material"]},{"id":"MetahumanToManny","schema_version":"1.0.0","name":"MetaHumanToManny","version":"1.2.0","tagline":"Clean up MetaHuman meshes and match them to UE5 Manny","archive_hash":"sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685","archive_size":21164,"archive_url":"https://extensions.blender.org/download/sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685/add-on-metahumantomanny-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/metahumantomanny/","maintainer":"hakan-erunsal","license":["SPDX:GPL-3.0-or-later"]},{"id":"cad_helper","schema_version":"1.0.0","name":"CAD-Helper","version":"0.6.1","tagline":"Blender Extension to manage imported CAD assemblies","archive_hash":"sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6","archive_size":34745,"archive_url":"https://extensions.blender.org/download/sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6/add-on-cad-helper-v0.6.1-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/cad-helper/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Object"]},{"id":"momo_dark","schema_version":"1.0.0","name":"Momo Dark","version":"5.0.2","tagline":"Momo Dark - theme inspired by Modo","archive_hash":"sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36","archive_size":6454,"archive_url":"https://extensions.blender.org/download/sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36/theme-momo-dark-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo-dark/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"rss_theme_cyberpunk","schema_version":"1.0.0","name":"RedSavStudios: Cyberpunk","version":"0.5.5","tagline":"A dark blue cyberpunk-inspired theme with neon highlights","archive_hash":"sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c","archive_size":5501,"archive_url":"https://extensions.blender.org/download/sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c/theme-rss-theme-cyberpunk-v0.5.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-cyberpunk/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"rss_theme_nord","schema_version":"1.0.0","name":"RedSavStudios: Nord (Aurora)","version":"0.5.2","tagline":"Nord Theme With Aurora Accents","archive_hash":"sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50","archive_size":5196,"archive_url":"https://extensions.blender.org/download/sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50/theme-rss-theme-nord-v0.5.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-nord/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"randomize_noise_offset","schema_version":"1.0.0","name":"Randomize Noise Offset","version":"1.0.3","tagline":"Randomize Noise Offset for F-Curves","archive_hash":"sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9","archive_size":2500,"archive_url":"https://extensions.blender.org/download/sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9/add-on-randomize-noise-offset-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-noise-offset/","maintainer":"a.a.andrusenko","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"mirror_image","schema_version":"1.0.0","name":"Mirror Image","version":"1.0.0","tagline":"Applies mirroring to the active image","archive_hash":"sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46","archive_size":2540,"archive_url":"https://extensions.blender.org/download/sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46/add-on-mirror-image-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mirror-image/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"toggle_orbit_method","schema_version":"1.0.0","name":"Toggle Orbit Method (Turntable / Trackball)","version":"1.0.0","tagline":"Quickly toggles between Turntable and Trackball orbit modes","archive_hash":"sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4","archive_size":1369,"archive_url":"https://extensions.blender.org/download/sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4/add-on-toggle-orbit-method-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-orbit-method/","maintainer":"ArgelliKa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"blender_vnf_exporter_extension","schema_version":"1.0.0","name":"VNF Export Extension","version":"1.0.0","tagline":"Export blender mesh to openscad vnf","archive_hash":"sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e","archive_size":14400,"archive_url":"https://extensions.blender.org/download/sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e/add-on-blender-vnf-exporter-extension-v1.0.0-windows-x64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-vnf-exporter-extension/","maintainer":"runerback","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .scad to disk"},"platforms":["windows-x64","linux-x64"],"tags":["Import-Export"]},{"id":"vray_arena_setup","schema_version":"1.0.0","name":"Vray Arena Setup","version":"2.5.0","tagline":"Export VRay Cosmos assets, scene textures, and stage cube setup","archive_hash":"sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f","archive_size":6050,"archive_url":"https://extensions.blender.org/download/sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f/add-on-vray-arena-setup-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/vray-arena-setup/","maintainer":"Darsh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write project and resources directories"},"tags":["Import-Export","Material"]},{"id":"Minimal","schema_version":"1.0.0","name":"Minimal","version":"1.0.0","tagline":"Dark minimal theme","archive_hash":"sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb","archive_size":5620,"archive_url":"https://extensions.blender.org/download/sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb/theme-minimal-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/minimal/","maintainer":"A7medKhaled.me","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"auto_track_weights","schema_version":"1.0.0","name":"Auto Track Weights","version":"0.2.1","tagline":"Automatically adjust the weights of tracking markers","archive_hash":"sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be","archive_size":2415,"archive_url":"https://extensions.blender.org/download/sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be/add-on-auto-track-weights-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track-weights/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"batch_bone_constraints","schema_version":"1.0.0","name":"Batch Bone Constraints","version":"1.1.4","tagline":"Batch bone constraints to the selected multiple armatures","archive_hash":"sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee","archive_size":6589,"archive_url":"https://extensions.blender.org/download/sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee/add-on-batch-bone-constraints-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-bone-constraints/","maintainer":"distinctive-mark","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"theme_BlueInvasion","schema_version":"1.0.0","name":"Blue Invasion","version":"1.0.3-1","tagline":"A theme inspired by Winamp's blue invasion theme","archive_hash":"sha256:aaa50db52785b547c7902f7dea3808dbd06ba8a27b989b96de0640590a7863f2","archive_size":6165,"archive_url":"https://extensions.blender.org/download/sha256:aaa50db52785b547c7902f7dea3808dbd06ba8a27b989b96de0640590a7863f2/theme-theme-blueinvasion-v1.0.3-1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-blueinvasion/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"trident","schema_version":"1.0.0","name":"TRIDENT","version":"0.2.1","tagline":"3D UMAP/t-SNE embeddings into Blender","archive_hash":"sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a","archive_size":128117,"archive_url":"https://extensions.blender.org/download/sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a/add-on-trident-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trident/","maintainer":"ccordi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write data files and build outputs"},"platforms":["windows-x64"],"tags":["3D View","Object"]},{"id":"FrameFlowBlender","schema_version":"1.0.0","name":"Frame Flow Beta","version":"1.4.1","tagline":"Advanced Node Frame Add-on for Blender","archive_hash":"sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f","archive_size":922364,"archive_url":"https://extensions.blender.org/download/sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f/add-on-frameflowblender-v1.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/frameflowblender/","maintainer":"abhi.01","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Text Editor"]},{"id":"pataz_thumbnail_toolz","schema_version":"1.0.0","name":"Pataz Thumbnail Toolz","version":"1.0.0","tagline":"Tools for managing asset thumbnails","archive_hash":"sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac","archive_size":2763,"archive_url":"https://extensions.blender.org/download/sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac/add-on-pataz-thumbnail-toolz-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-thumbnail-toolz/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load files from disk"},"tags":["Pipeline"]},{"id":"io_scene_jsbsim","schema_version":"1.0.0","name":"JSBSim Viewer","version":"0.2.3","tagline":"Import and visualize JSBSim FDM aircraft XML metrics","archive_hash":"sha256:3d97352d2c89e76944575b20004a05aeb07c771412a6ffda6b375f973b8dff5f","archive_size":6721,"archive_url":"https://extensions.blender.org/download/sha256:3d97352d2c89e76944575b20004a05aeb07c771412a6ffda6b375f973b8dff5f/add-on-io-scene-jsbsim-v0.2.3.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/io-scene-jsbsim/","maintainer":"RenanMsV","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"multi_adjust","schema_version":"1.0.0","name":"Multi Adjust","version":"1.0.1","tagline":"Edits properties of multiple things together","archive_hash":"sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed","archive_size":9515,"archive_url":"https://extensions.blender.org/download/sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed/add-on-multi-adjust-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multi-adjust/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"replace_with_copy","schema_version":"1.0.0","name":"Replace With Copy","version":"1.0.1","tagline":"Batch replace multiple objects with a template","archive_hash":"sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf","archive_size":4116,"archive_url":"https://extensions.blender.org/download/sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf/add-on-replace-with-copy-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/replace-with-copy/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"sierpinski_triangle","schema_version":"1.0.0","name":"Sierpinski Triangle","version":"1.0.4","tagline":"This add-on creates Sierpinski triangles","archive_hash":"sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05","archive_size":4106,"archive_url":"https://extensions.blender.org/download/sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05/add-on-sierpinski-triangle-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sierpinski-triangle/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"]},{"id":"light_generator","schema_version":"1.0.0","name":"Light Generator","version":"1.2.0","tagline":"Generate lights with advanced distribution","archive_hash":"sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05","archive_size":5837,"archive_url":"https://extensions.blender.org/download/sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05/add-on-light-generator-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/light-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting"]},{"id":"nfc_card_keychain_generator","schema_version":"1.0.0","name":"NFC Card and Keychain Generator","version":"1.2.2","tagline":"Generate customizable 3D-printable cards, tags, and keychains","archive_hash":"sha256:61fc9b726002f7cd17ffb5b1e54bfa1827e8edf538881e72749f4faf931dc384","archive_size":513576,"archive_url":"https://extensions.blender.org/download/sha256:61fc9b726002f7cd17ffb5b1e54bfa1827e8edf538881e72749f4faf931dc384/add-on-nfc-card-keychain-generator-v1.2.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/nfc-card-keychain-generator/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For custom SVG import and file saving operations"},"tags":["Modeling","Object"]},{"id":"Physical_Motion_Blur","schema_version":"1.0.0","name":"Physical Motion Blur","version":"1.1.0","tagline":"Adds intuitive shutter speed and angle controls for motion blur","archive_hash":"sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438","archive_size":2605,"archive_url":"https://extensions.blender.org/download/sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438/add-on-physical-motion-blur-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/physical-motion-blur/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render","Animation"]},{"id":"utility_materials","schema_version":"1.0.0","name":"Utility Materials","version":"1.1.5","tagline":"Industrial design theme in the Utility Materials universe","archive_hash":"sha256:1060b83f61823e30cac6147ad365e0e2532132ba85719a73fb8a881b1daee82f","archive_size":5294,"archive_url":"https://extensions.blender.org/download/sha256:1060b83f61823e30cac6147ad365e0e2532132ba85719a73fb8a881b1daee82f/theme-utility-materials-v1.1.5.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/utility-materials/","maintainer":"Utility-Materials","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"AddShaderAttribute","schema_version":"1.0.0","name":"Add Shader Attribute","version":"0.3.0","tagline":"Add attribute directly in shader nodetree","archive_hash":"sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707","archive_size":2591,"archive_url":"https://extensions.blender.org/download/sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707/add-on-addshaderattribute-v0.3.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/addshaderattribute/","maintainer":"atticuslv","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"all_objects_into_assets","schema_version":"1.0.0","name":"All Objects into Assets","version":"1.0.4","tagline":"Create collection assets and catalogs automatically","archive_hash":"sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7","archive_size":9361,"archive_url":"https://extensions.blender.org/download/sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7/add-on-all-objects-into-assets-v1.0.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/all-objects-into-assets/","maintainer":"StellArc","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset library catalogs file"}},{"id":"goldsrc_model_helper","schema_version":"1.0.0","name":"GS Model Helper","version":"2.2.0","tagline":"A set of tools for working with Goldsource models in Blender","archive_hash":"sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df","archive_size":7626,"archive_url":"https://extensions.blender.org/download/sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df/add-on-goldsrc-model-helper-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/goldsrc-model-helper/","maintainer":"DaKashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to rename and clean up materials/textures"}},{"id":"pjavel_theme","schema_version":"1.0.0","name":"Pjavel Theme","version":"1.1.1","tagline":"Green accent theme","archive_hash":"sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece","archive_size":18590,"archive_url":"https://extensions.blender.org/download/sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece/theme-pjavel-theme-v1.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/pjavel-theme/","maintainer":"Zexyp","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"bfds","schema_version":"1.0.0","name":"BFDS fire simulations","version":"7.0.0","tagline":"Create and manage NIST FDS fire simulations","archive_hash":"sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6","archive_size":370951,"archive_url":"https://extensions.blender.org/download/sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6/add-on-bfds-v7.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bfds/","maintainer":"emanuele.gissi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FDS files from/to disk","network":"Display geographic positions, convert coordinates"},"tags":["Import-Export"]},{"id":"sciblend","schema_version":"1.0.0","name":"SciBlend","version":"1.1.2","tagline":"Scientific visualization tools for Blender","archive_hash":"sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d","archive_size":143536802,"archive_url":"https://extensions.blender.org/download/sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d/add-on-sciblend-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/sciblend/","maintainer":"José-Marín","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"navigation_puck_addon","schema_version":"1.0.0","name":"Navigation Puck Addon","version":"1.0.1","tagline":"Navigation Puck like in Sketchbook Pro","archive_hash":"sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51","archive_size":14528,"archive_url":"https://extensions.blender.org/download/sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51/add-on-navigation-puck-addon-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation-puck-addon/","maintainer":"IliaVerpa","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"midicontroller","schema_version":"1.0.0","name":"MidiController","version":"0.1.6","tagline":"Control objects properties through midi","archive_hash":"sha256:bb2e01e67b347e8b11cce2b30d2b037fb5eb45e183815c5c5d546a03941d08a0","archive_size":165336,"archive_url":"https://extensions.blender.org/download/sha256:bb2e01e67b347e8b11cce2b30d2b037fb5eb45e183815c5c5d546a03941d08a0/add-on-midicontroller-v0.1.6-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/midicontroller/","maintainer":"Eldin-Zenderink","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"mc_animaker","schema_version":"1.0.0","name":"MC Animaker","version":"1.4.0","tagline":"Bring your Blender animations to life in Minecraft","archive_hash":"sha256:b3533f2c1b1ff605d0c162023d27096d92c4ff705577f72738ebc4981701c830","archive_size":183928,"archive_url":"https://extensions.blender.org/download/sha256:b3533f2c1b1ff605d0c162023d27096d92c4ff705577f72738ebc4981701c830/add-on-mc-animaker-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mc-animaker/","maintainer":"Priqnot","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Resource Packs and Export Minecraft Datapack Files"},"tags":["Game Engine","Import-Export"]},{"id":"smart_transform","schema_version":"1.0.0","name":"Smart Transform","version":"1.0.2","tagline":"filter objects by size or transforms, and more tools","archive_hash":"sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11","archive_size":2671,"archive_url":"https://extensions.blender.org/download/sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11/add-on-smart-transform-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-transform/","maintainer":"Claz_Arts","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"animated_brush","schema_version":"1.0.0","name":"Animated Texture Brush","version":"1.0.2","tagline":"Randomly cycles image sequence texture while painting","archive_hash":"sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be","archive_size":2467,"archive_url":"https://extensions.blender.org/download/sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be/add-on-animated-brush-v1.0.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animated-brush/","maintainer":"Kvendy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"lod_gen","schema_version":"1.0.0","name":"LODGen","version":"0.0.5","tagline":"Generate LODs for Games in 3 Clicks or Less","archive_hash":"sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128","archive_size":15434,"archive_url":"https://extensions.blender.org/download/sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128/add-on-lod-gen-v0.0.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/lod-gen/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"LostSelection","schema_version":"1.0.0","name":"Lost Selection","version":"0.2.0","tagline":"Set of usefull extra selection operators","archive_hash":"sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4","archive_size":32205,"archive_url":"https://extensions.blender.org/download/sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4/add-on-lostselection-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lostselection/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"reset_workspace","schema_version":"1.0.0","name":"Reset Workspace","version":"0.0.4","tagline":"Reset the user interface (with your startup file interface)","archive_hash":"sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32","archive_size":5093,"archive_url":"https://extensions.blender.org/download/sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32/add-on-reset-workspace-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reset-workspace/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"edit_instanced_collection","schema_version":"1.0.0","name":"Edit Instanced Collection","version":"0.0.5","tagline":"Quickly find the instanced collection source","archive_hash":"sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3","archive_size":6971,"archive_url":"https://extensions.blender.org/download/sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3/add-on-edit-instanced-collection-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-instanced-collection/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"add_std_paper_size","schema_version":"1.0.0","name":"Add Std Paper-Format","version":"0.1.0","tagline":"Blender add-on to add planes with standardized paper formats","archive_hash":"sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4","archive_size":19785,"archive_url":"https://extensions.blender.org/download/sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4/add-on-add-std-paper-size-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-std-paper-size/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"Blueprint_Film_Theme","schema_version":"1.0.0","name":"Blueprint_Film_Theme","version":"2.2.4","tagline":"Translucent Aqua","archive_hash":"sha256:a986b52fe7ea86be2c205d4c7ab87ac2115a8ec70713733782f1d885cc8240c1","archive_size":5686,"archive_url":"https://extensions.blender.org/download/sha256:a986b52fe7ea86be2c205d4c7ab87ac2115a8ec70713733782f1d885cc8240c1/theme-blueprint-film-theme-v2.2.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-film-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"pbsu_addon_3ds","schema_version":"1.0.0","name":"PBSU 3D Studio (.3ds)","version":"1.0.1","tagline":"Import/export 3DS scenes, objects, cameras, lights & anims","archive_hash":"sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d","archive_size":42631,"archive_url":"https://extensions.blender.org/download/sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d/add-on-pbsu-addon-3ds-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pbsu-addon-3ds/","maintainer":"Arturo-Cervantes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"on_screen_numpad","schema_version":"1.0.0","name":"On-Screen Numpad","version":"1.2.0","tagline":"No need to leave the mouse to enter numbers","archive_hash":"sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20","archive_size":22847,"archive_url":"https://extensions.blender.org/download/sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20/add-on-on-screen-numpad-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/on-screen-numpad/","maintainer":"Pluglug","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Sakura_Rig_GUI","schema_version":"1.0.0","name":"Sakura's Rig Interfaces","version":"3.1.0","tagline":"A control script for use with Sakura's Rigs","archive_hash":"sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0","archive_size":23119,"archive_url":"https://extensions.blender.org/download/sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0/add-on-sakura-rig-gui-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-rig-gui/","maintainer":"SakuraSedaia","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and Store Player Skin Information and Downloaded Rigs","network":"Download Minecraft Skin Information from minecraft.net"},"tags":["Rigging","User Interface"]},{"id":"EMU3BM","schema_version":"1.0.0","name":"Toggle Emulate 3 Button Mouse","version":"1.4.0","tagline":"Toggle Emulate 3 Button Mouse","archive_hash":"sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593","archive_size":1343,"archive_url":"https://extensions.blender.org/download/sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593/add-on-emu3bm-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/emu3bm/","maintainer":"chenkin123","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"BL_EasyCrop","schema_version":"1.0.0","name":"BL Easy Crop","version":"2.0.3","tagline":"Use handles for easy cropping in the Blender VSE Preview window","archive_hash":"sha256:f63200c2f634b927cc0ccf82af20aa4298f36f5f5bfbcfdfc85f20adf4a2d9da","archive_size":31082,"archive_url":"https://extensions.blender.org/download/sha256:f63200c2f634b927cc0ccf82af20aa4298f36f5f5bfbcfdfc85f20adf4a2d9da/add-on-bl-easycrop-v2.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-easycrop/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","User Interface"]},{"id":"SHIRAKUMO_sf3_io","schema_version":"1.0.0","name":"Shirakumo SF3 IO","version":"1.1.0","tagline":"Export/Import support for Simple File Format Family (SF3) files","archive_hash":"sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c","archive_size":24064,"archive_url":"https://extensions.blender.org/download/sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c/add-on-shirakumo-sf3-io-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-sf3-io/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"permissions":{"files":"Import/export SF3 from/to disk"},"tags":["Import-Export"]},{"id":"normalize_resize_handles","schema_version":"1.0.0","name":"Normalize and Resize Curve Handles","version":"1.0.1","tagline":"Normalize and resize all selected bezier curve handles","archive_hash":"sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a","archive_size":1537,"archive_url":"https://extensions.blender.org/download/sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a/add-on-normalize-resize-handles-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/normalize-resize-handles/","maintainer":"TomasCJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"FocalLengthTweaker","schema_version":"1.0.0","name":"Focal Length Tweaker","version":"1.0.1","tagline":"Control viewport and camera focal length with your mouse","archive_hash":"sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833","archive_size":9686,"archive_url":"https://extensions.blender.org/download/sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833/add-on-focallengthtweaker-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/focallengthtweaker/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","User Interface"]},{"id":"Zeratul_Theme","schema_version":"1.0.0","name":"Zeratul_Theme","version":"3.1.6","tagline":"Invisible Shadow Warrior","archive_hash":"sha256:90afd67134729ba4038c7b94dce68432a0c365c93842c2ec83d12aa5baf1daed","archive_size":5620,"archive_url":"https://extensions.blender.org/download/sha256:90afd67134729ba4038c7b94dce68432a0c365c93842c2ec83d12aa5baf1daed/theme-zeratul-theme-v3.1.6.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zeratul-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blueprint_Theme","schema_version":"1.0.0","name":"Prussian_Blueprint_Theme","version":"2.2.1","tagline":"Blueprint True Color","archive_hash":"sha256:482f3d41ae95cf10ab32d9ad57bed3093edb67334ed7043511174da53c6558d3","archive_size":5748,"archive_url":"https://extensions.blender.org/download/sha256:482f3d41ae95cf10ab32d9ad57bed3093edb67334ed7043511174da53c6558d3/theme-prussian-blueprint-theme-v2.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"render_webhook","schema_version":"1.0.0","name":"Render Webhook","version":"1.0.2","tagline":"Sends a message after render events to a webhook","archive_hash":"sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58","archive_size":2567,"archive_url":"https://extensions.blender.org/download/sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58/add-on-render-webhook-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-webhook/","maintainer":"vignette","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Sending HTTP requests to provided webhook URL"},"tags":["Render","Pipeline"]},{"id":"Prussian_Blue_Pink_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Pink_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356","archive_size":5758,"archive_url":"https://extensions.blender.org/download/sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356/theme-prussian-blue-pink-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-pink-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blue_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135","archive_size":5687,"archive_url":"https://extensions.blender.org/download/sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135/theme-prussian-blue-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Clip_Tools","schema_version":"1.0.0","name":"Clip Tools","version":"1.0.3","tagline":"Add a simple tool to the Movie Clip Editor","archive_hash":"sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391","archive_size":7924,"archive_url":"https://extensions.blender.org/download/sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391/add-on-clip-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clip-tools/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Camera","3D View"]},{"id":"Merge_selected_cameras","schema_version":"1.0.0","name":"Merge Selected Cameras","version":"1.1.1","tagline":"Create one animated camera from your photogrammetry sequence","archive_hash":"sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d","archive_size":4219,"archive_url":"https://extensions.blender.org/download/sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d/add-on-merge-selected-cameras-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/merge-selected-cameras/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking","3D View"]},{"id":"only_blends_gamepad","schema_version":"1.0.0","name":"OnlyBlends.Gamepad","version":"0.5.0","tagline":"Integrate Controller like Gamepads and other inputs via Nodes","archive_hash":"sha256:b545dbe69757dff54cd589a2462a5739cc011580fae6398860b48289e3b8be71","archive_size":72361,"archive_url":"https://extensions.blender.org/download/sha256:b545dbe69757dff54cd589a2462a5739cc011580fae6398860b48289e3b8be71/add-on-only-blends-gamepad-v0.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-gamepad/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Game Engine","Node"]},{"id":"Scene_Duration_Display","schema_version":"1.0.0","name":"Scene Duration Display","version":"1.1.1","tagline":"Displays and syncs timeline duration. Set preview range with I/O","archive_hash":"sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940","archive_size":2361,"archive_url":"https://extensions.blender.org/download/sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940/add-on-scene-duration-display-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-duration-display/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Gray50","schema_version":"1.0.0","name":"Gray50","version":"1.0.2","tagline":"Remake of Blender3.3 light theme","archive_hash":"sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9","archive_size":5795,"archive_url":"https://extensions.blender.org/download/sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9/theme-gray50-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gray50/","maintainer":"Nick2321","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Inspired By"]},{"id":"bl_reset_custom_properties","schema_version":"1.0.0","name":"Reset Custom Properties","version":"1.0.4","tagline":"Reset custom properties to their default values","archive_hash":"sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4","archive_size":5646,"archive_url":"https://extensions.blender.org/download/sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4/add-on-bl-reset-custom-properties-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bl-reset-custom-properties/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View"]},{"id":"color_grid_texture_gen","schema_version":"1.0.0","name":"Color Grid Texture Generator","version":"0.1.2","tagline":"Generate customizable color grid textures","archive_hash":"sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f","archive_size":28692,"archive_url":"https://extensions.blender.org/download/sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f/add-on-color-grid-texture-gen-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-grid-texture-gen/","maintainer":"andersmmg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Read Coolors URL from clipboard"},"tags":["Material","UV"]},{"id":"io_import_build_map","schema_version":"1.0.0","name":"BUILD Map Importer","version":"1.4.1","tagline":"Import BUILD Engine maps as used in Duke Nukem 3D, Blood, etc","archive_hash":"sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54","archive_size":57108,"archive_url":"https://extensions.blender.org/download/sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54/add-on-io-import-build-map-v1.4.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-build-map/","maintainer":"Jens.Ne","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .map files and textures from filesystem"},"tags":["Import-Export","Mesh","Material"]},{"id":"distribute_grease_pencil_strokes","schema_version":"1.0.0","name":"Align-Distribute Grease Pencil Strokes","version":"2.1.0","tagline":"Align-Distribute Grease Pencil strokes","archive_hash":"sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2","archive_size":13284,"archive_url":"https://extensions.blender.org/download/sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2/add-on-distribute-grease-pencil-strokes-v2.1.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/distribute-grease-pencil-strokes/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"BL_FastStart","schema_version":"1.0.0","name":"BL Fast Start (MP4/MOV)","version":"1.9.3","tagline":"A checkbox to add a 'Fast Start' copy of MP4/MOV renders","archive_hash":"sha256:e1954e4b7c112e82249144fe3d2c6a17ab77a256c63f5f3d82c424812197c4a4","archive_size":23184,"archive_url":"https://extensions.blender.org/download/sha256:e1954e4b7c112e82249144fe3d2c6a17ab77a256c63f5f3d82c424812197c4a4/add-on-bl-faststart-v1.9.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-faststart/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"quantum_void_fluoamber","schema_version":"1.0.0","name":"Quantum Void FluoAmber","version":"1.0.2","tagline":"A monochromatic dark theme with accent","archive_hash":"sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f","archive_size":3205,"archive_url":"https://extensions.blender.org/download/sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f/theme-quantum-void-fluoamber-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quantum-void-fluoamber/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"vectart_animation","schema_version":"1.0.0","name":"Vectart Animation","version":"1.1.4","tagline":"Animation tools for VectArt curves and objects","archive_hash":"sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb","archive_size":22398,"archive_url":"https://extensions.blender.org/download/sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb/add-on-vectart-animation-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-animation/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blueprints","schema_version":"1.0.0","name":"Blueprints","version":"1.0.3","tagline":"Manage background images ","archive_hash":"sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9","archive_size":3264,"archive_url":"https://extensions.blender.org/download/sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9/add-on-blueprints-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blueprints/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"batch_render_actions","schema_version":"1.0.0","name":"Batch Render Actions","version":"1.0.2","tagline":"Render each animation action to its own folder","archive_hash":"sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff","archive_size":2413,"archive_url":"https://extensions.blender.org/download/sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff/add-on-batch-render-actions-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-render-actions/","maintainer":"Padraig-O-Cinneide","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Render"]},{"id":"rmKit_uv","schema_version":"1.0.0","name":"rmKitUV","version":"2.0.0","tagline":"Collection of Tools","archive_hash":"sha256:cd75170fc5d652ba6e52a70939949480ea78a7417b7608e7c2d2c1fb48b3360e","archive_size":259364,"archive_url":"https://extensions.blender.org/download/sha256:cd75170fc5d652ba6e52a70939949480ea78a7417b7608e7c2d2c1fb48b3360e/add-on-rmkit-uv-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/rmkit-uv/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"read/write hotspots to disk"},"tags":["Mesh","UV","Material"]},{"id":"to_square","schema_version":"1.0.0","name":"To Square","version":"2.2.0","tagline":"Square the selection","archive_hash":"sha256:79d3c5e8865ac768079d866693a23d01fee922856ecb31163b396cb8677ea61e","archive_size":41484,"archive_url":"https://extensions.blender.org/download/sha256:79d3c5e8865ac768079d866693a23d01fee922856ecb31163b396cb8677ea61e/add-on-to-square-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/to-square/","maintainer":"Jean-Yves-Grosbeau","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"acreplay_importer","schema_version":"1.0.0","name":"AC Replay Importer","version":"0.3.0","tagline":"Animate your cars using Assetto Corsa replays","archive_hash":"sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da","archive_size":8688,"archive_url":"https://extensions.blender.org/download/sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da/add-on-acreplay-importer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/acreplay-importer/","maintainer":"abchouhan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import CSV from disk"},"tags":["Animation"]},{"id":"dynamic_head_property_manager","schema_version":"1.0.0","name":"Dynamic Head Property Manager","version":"1.0.7","tagline":"Manage custom facial properties for Roblox Bundles","archive_hash":"sha256:ca7ee4063be416c9a82c1552a97efbf4227b4ce210826547e2b8cd164a418e5b","archive_size":26446,"archive_url":"https://extensions.blender.org/download/sha256:ca7ee4063be416c9a82c1552a97efbf4227b4ce210826547e2b8cd164a418e5b/add-on-dynamic-head-property-manager-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-head-property-manager/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"enhanced_svg","schema_version":"1.0.0","name":"Enhanced SVG","version":"0.1.8","tagline":"Import SVG with accurate colors and path processing","archive_hash":"sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2","archive_size":4067305,"archive_url":"https://extensions.blender.org/download/sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2/add-on-enhanced-svg-v0.1.8-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/enhanced-svg/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"M2V","schema_version":"1.0.0","name":"MIDI To Visuals","version":"1.2.0","tagline":"With MIDI file as input create somes 3D animations in blender","archive_hash":"sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1","archive_size":41169,"archive_url":"https://extensions.blender.org/download/sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1/add-on-m2v-v1.2.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/m2v/","maintainer":"Patochun","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"separate_loose_plus","schema_version":"1.0.0","name":"Separate Loose Plus","version":"1.0.0","tagline":"Enhanced mesh separation tools with object tracking","archive_hash":"sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5","archive_size":1973,"archive_url":"https://extensions.blender.org/download/sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5/add-on-separate-loose-plus-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/separate-loose-plus/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"bve_import_export","schema_version":"1.0.0","name":"BVE Import/Export","version":"5.1.3","tagline":"Import/Export DirectX X (.x) or Export CSV files for BVE/OpenBVE","archive_hash":"sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984","archive_size":22514,"archive_url":"https://extensions.blender.org/download/sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984/add-on-bve-import-export-v5.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bve-import-export/","maintainer":"Kusaanko","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export model file from/to disk"},"tags":["Import-Export"]},{"id":"symple","schema_version":"1.0.0","name":"Symple (symmetry groups)","version":"0.1.2","tagline":"Create figures with spherical symmetry with ease","archive_hash":"sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3","archive_size":29123,"archive_url":"https://extensions.blender.org/download/sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3/add-on-symple-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/symple/","maintainer":"Martín-Torres-Valverde","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling","Object"]},{"id":"select_by_index","schema_version":"1.0.0","name":"Select By Index","version":"1.3.0","tagline":"Select all vertices, edges, or faces within an index range","archive_hash":"sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050/add-on-select-by-index-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-by-index/","maintainer":"Eric-Banker","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"blender_lut_exporter","schema_version":"1.0.0","name":"LUT Exporter and Importer","version":"2.0.1","tagline":"Converts adjustment layer into LUT .cube file and back","archive_hash":"sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd","archive_size":5588,"archive_url":"https://extensions.blender.org/download/sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd/add-on-blender-lut-exporter-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/blender-lut-exporter/","maintainer":"ichlubna","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Sequencer"]},{"id":"arc_edge","schema_version":"1.0.0","name":"Arc Edge","version":"1.1.0","tagline":"Arc Edge","archive_hash":"sha256:2a3d3700534566d81d8202a795db594b1e36f407368276319a1141e67419bb4f","archive_size":10986,"archive_url":"https://extensions.blender.org/download/sha256:2a3d3700534566d81d8202a795db594b1e36f407368276319a1141e67419bb4f/add-on-arc-edge-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/arc-edge/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"Render_from_Terminal","schema_version":"1.0.0","name":"Render from Terminal","version":"0.1.5","tagline":"Create script to launch render from terminal","archive_hash":"sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3","archive_size":10030,"archive_url":"https://extensions.blender.org/download/sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3/add-on-render-from-terminal-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-from-terminal/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal"},"tags":["Render","Pipeline"]},{"id":"Fabnodes","schema_version":"1.0.0","name":"Fabnodes","version":"0.0.3","tagline":"Generates G-Code from geometry node attributes","archive_hash":"sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281","archive_size":5343,"archive_url":"https://extensions.blender.org/download/sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281/add-on-fabnodes-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fabnodes/","maintainer":"luigipacheco","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Geometry Nodes"]},{"id":"substance_textures_importer","schema_version":"1.0.0","name":"Substance Textures Importer","version":"7.1.0","tagline":"Import & autoassign images from 3D painting tools like Substance","archive_hash":"sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7","archive_size":35582,"archive_url":"https://extensions.blender.org/download/sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7/add-on-substance-textures-importer-v7.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/substance-textures-importer/","maintainer":"Cosmin_Planchon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk & read/write customs presets"},"tags":["Material","Import-Export","Node"]},{"id":"slot_link","schema_version":"1.0.0","name":"Slot Link","version":"0.0.11","tagline":"Easily manage projects with multiple separate animations","archive_hash":"sha256:aec6c11bef46dadb552838b00e82a63637ee4dd0c77f21a5fef886317a5a6bab","archive_size":21217,"archive_url":"https://extensions.blender.org/download/sha256:aec6c11bef46dadb552838b00e82a63637ee4dd0c77f21a5fef886317a5a6bab/add-on-slot-link-v0.0.11.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/slot-link/","maintainer":"mars","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","User Interface","Import-Export"]},{"id":"mesh_planes_pro","schema_version":"1.0.0","name":"Mesh Planes Pro","version":"2.0.1","tagline":"Ultimate Background Removal for Faster, Seamless Renders","archive_hash":"sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b","archive_size":2471909,"archive_url":"https://extensions.blender.org/download/sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b/add-on-mesh-planes-pro-v2.0.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mesh-planes-pro/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load node groups from blend file"},"tags":["Material","Node","Render","Mesh"]},{"id":"developer_utilities","schema_version":"1.0.0","name":"Developer Utilities","version":"1.1.0","tagline":"Make life of addon developers easier","archive_hash":"sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c","archive_size":9006,"archive_url":"https://extensions.blender.org/download/sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c/add-on-developer-utilities-v1.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/developer-utilities/","maintainer":"scorpion81","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open source files of addons for editing"},"tags":["Development"]},{"id":"srtm_terrain_importer","schema_version":"1.0.0","name":"SRTM Terrain Importer","version":"1.0.5","tagline":"Import SRTM elevation data as accurate 3D terrain","archive_hash":"sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454","archive_size":6645,"archive_url":"https://extensions.blender.org/download/sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454/add-on-srtm-terrain-importer-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/srtm-terrain-importer/","maintainer":"NicolasPriniotakis","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import SRTM HGT files from disk"},"tags":["Import-Export"]},{"id":"Industrial_Light_AOV_Splitter","schema_version":"1.0.0","name":"Industrial Light AOV Splitter","version":"1.0.1","tagline":"Auto create better light aovs (diffuse_env, specular_env...)","archive_hash":"sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7","archive_size":8954,"archive_url":"https://extensions.blender.org/download/sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7/add-on-industrial-light-aov-splitter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-light-aov-splitter/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"servo_animation","schema_version":"1.0.0","name":"Servo Animation","version":"2.1.1","tagline":"Export your Blender animation to servo position values","archive_hash":"sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4","archive_size":161106,"archive_url":"https://extensions.blender.org/download/sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4/add-on-servo-animation-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/servo-animation/","maintainer":"timhendriks93","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Import-Export","Rigging"]},{"id":"ac_tools","schema_version":"1.0.0","name":"AC Tools","version":"0.1.5","tagline":"AC Tools for track modding","archive_hash":"sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd","archive_size":30842,"archive_url":"https://extensions.blender.org/download/sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd/add-on-ac-tools-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ac-tools/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk, Manage track folders"},"tags":["Development","Object","User Interface"]},{"id":"img_alpha_to_bsdf","schema_version":"1.0.0","name":"Connect image alpha","version":"1.0.6","tagline":"Connecting image alpha to shader alpha","archive_hash":"sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02","archive_size":2692,"archive_url":"https://extensions.blender.org/download/sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02/add-on-img-alpha-to-bsdf-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img-alpha-to-bsdf/","maintainer":"Snakyboopface","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Material"]},{"id":"link_parents","schema_version":"1.0.0","name":"Link Parents","version":"1.2.1","tagline":"Link objects parents & edit Parent Inverse Matrix in UI","archive_hash":"sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395","archive_size":2883,"archive_url":"https://extensions.blender.org/download/sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395/add-on-link-parents-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/link-parents/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Rigging","User Interface"]},{"id":"sco_buttobjects","schema_version":"1.0.0","name":"SCO ButtObjects","version":"2.0.5","tagline":"Easily align Objects in your scene by Active Object or 3D Cursor","archive_hash":"sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb","archive_size":138673,"archive_url":"https://extensions.blender.org/download/sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb/add-on-sco-buttobjects-v2.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-buttobjects/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"Grid_Layout","schema_version":"1.0.0","name":"Grid Layout","version":"1.5.7","tagline":"Tools to help layout your UV layout","archive_hash":"sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c","archive_size":10399,"archive_url":"https://extensions.blender.org/download/sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c/add-on-grid-layout-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-layout/","maintainer":"Hodgson3d","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"povable","schema_version":"1.0.0","name":"POV@Ble","version":"0.1.8","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830","archive_size":329019,"archive_url":"https://extensions.blender.org/download/sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830/add-on-povable-v0.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/povable/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render","Pipeline","Import-Export","Text Editor","Development","User Interface","Scene","Modeling","Object","Material","Mesh","Add Curve","Camera","Lighting","Bake"]},{"id":"b_palettes","schema_version":"1.0.0","name":"B Palettes","version":"1.1.0","tagline":"Import/Export Color Palettes","archive_hash":"sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6","archive_size":5538,"archive_url":"https://extensions.blender.org/download/sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6/add-on-b-palettes-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/b-palettes/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"node_runner","schema_version":"1.0.0","name":"Node Runner","version":"1.3.9","tagline":"Import and export nodes as strings","archive_hash":"sha256:ec7a80ff5105f9b5c638b840f48c37b9fd71dccb5f686d9b0fec05ede7ee5d92","archive_size":40616,"archive_url":"https://extensions.blender.org/download/sha256:ec7a80ff5105f9b5c638b840f48c37b9fd71dccb5f686d9b0fec05ede7ee5d92/add-on-node-runner-v1.3.9.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/node-runner/","maintainer":"Noah-Thiering","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy Node Runner Hash to clipboard"},"tags":["Node","Material","Geometry Nodes"]},{"id":"import_files_svg_cuts_directory","schema_version":"1.0.0","name":"Import SVG Cuts Directory","version":"1.0.1","tagline":"Import object based on a directory of SVG cuts","archive_hash":"sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb","archive_size":5958242,"archive_url":"https://extensions.blender.org/download/sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb/add-on-import-files-svg-cuts-directory-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-files-svg-cuts-directory/","maintainer":"Benedikt-Schaber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import directory of SVGs from disk"},"tags":["Import-Export"]},{"id":"Selected_Bones_To_Vertex_Group","schema_version":"1.0.0","name":"Selected_Bones_To_Vertex_Group","version":"1.0.1","tagline":"Add or delete selected bone to selected mesh","archive_hash":"sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0","archive_size":2074,"archive_url":"https://extensions.blender.org/download/sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0/add-on-selected-bones-to-vertex-group-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selected-bones-to-vertex-group/","maintainer":"mochi_Lin","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"highlighter","schema_version":"1.0.0","name":"Highlighter","version":"0.1.0","tagline":"Syntax highlighting for text objects","archive_hash":"sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046","archive_size":1209500,"archive_url":"https://extensions.blender.org/download/sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046/add-on-highlighter-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/highlighter/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve","Text Editor"]},{"id":"frame_focus","schema_version":"1.0.0","name":"Frame Focus","version":"2.0.1","tagline":"List All Frame Nodes And Focus Easily","archive_hash":"sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc","archive_size":6600,"archive_url":"https://extensions.blender.org/download/sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc/add-on-frame-focus-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/frame-focus/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"neigh_context_switcher","schema_version":"1.0.0","name":"Context Switcher","version":"1.1.2","tagline":"Quick workspace and editor switching via popup at mouse location","archive_hash":"sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d","archive_size":2365,"archive_url":"https://extensions.blender.org/download/sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d/add-on-neigh-context-switcher-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/neigh-context-switcher/","maintainer":"Neigh","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"SelectModeKeymaps","schema_version":"1.0.0","name":"Select Mode Keymaps","version":"1.0.1","tagline":"Assign keymaps to toggle Object/Edit Mode and Select Modes","archive_hash":"sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573","archive_size":5772,"archive_url":"https://extensions.blender.org/download/sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573/add-on-selectmodekeymaps-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/selectmodekeymaps/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"skin_mesh_to_bone","schema_version":"1.0.0","name":"Skin Mesh To Bone","version":"1.0.2","tagline":"Skins selected meshes to a bone on the active armature","archive_hash":"sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf","archive_size":3048,"archive_url":"https://extensions.blender.org/download/sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf/add-on-skin-mesh-to-bone-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-mesh-to-bone/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Faster_FBX_Exporter","schema_version":"1.0.0","name":"Faster FBX Exporter","version":"0.2.4","tagline":"Faster .fbx Exporter for Static Objects With Modifiers","archive_hash":"sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60","archive_size":94222,"archive_url":"https://extensions.blender.org/download/sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60/add-on-faster-fbx-exporter-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/faster-fbx-exporter/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .fbx files"},"tags":["Import-Export"]},{"id":"copyshapekeys","schema_version":"1.0.0","name":"ShapeKey Copy","version":"3.4.1","tagline":"Copy shapekeys from one mesh to another","archive_hash":"sha256:769278803ab26c411354aec6ded13c4017af8c85a8e9e23eba44434c1467d24b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:769278803ab26c411354aec6ded13c4017af8c85a8e9e23eba44434c1467d24b/add-on-copyshapekeys-v3.4.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copyshapekeys/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Animation"]},{"id":"Control_Render_Regions","schema_version":"1.0.0","name":"Control Render Regions","version":"1.0.11","tagline":"Manage renders in region","archive_hash":"sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c","archive_size":2586090,"archive_url":"https://extensions.blender.org/download/sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c/add-on-control-render-regions-v1.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/control-render-regions/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal and render regions"},"platforms":["windows-x64"],"tags":["Render","Pipeline"]},{"id":"ftl_exporter","schema_version":"1.0.0","name":"3dverse Exporter","version":"1.0.1","tagline":"Export blender project to 3dverse (scene, meshes, materials)","archive_hash":"sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291","archive_size":13274,"archive_url":"https://extensions.blender.org/download/sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291/add-on-ftl-exporter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ftl-exporter/","maintainer":"Nathalie-Raffray","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary 3dverse files to then export to server","network":"Need to export blender project to 3dverse server"},"tags":["Import-Export"]},{"id":"Night_Rain_Theme","schema_version":"1.0.0","name":"Night_Rain_Theme","version":"2.1.4","tagline":"Transparent Dark Grey","archive_hash":"sha256:5db07c3e0d1768706b9556810a3b3ede2b2757a00c65719e3fbda252e950c53c","archive_size":5605,"archive_url":"https://extensions.blender.org/download/sha256:5db07c3e0d1768706b9556810a3b3ede2b2757a00c65719e3fbda252e950c53c/theme-night-rain-theme-v2.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/night-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"nla_midi_copier","schema_version":"1.0.0","name":"NLA Midi Copier","version":"1.2.0","tagline":"NLA and Graph Editor tools for syncing animation to midi files","archive_hash":"sha256:4acdaac298dd38372982087e4cacfa908780bd4993be62204d9df9b194fc30b2","archive_size":115530,"archive_url":"https://extensions.blender.org/download/sha256:4acdaac298dd38372982087e4cacfa908780bd4993be62204d9df9b194fc30b2/add-on-nla-midi-copier-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nla-midi-copier/","maintainer":"Cornerback24","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read midi files from disk"},"tags":["Animation"]},{"id":"blender_mqo","schema_version":"1.0.0","name":"MQO (Metasequoia) Format File Importer/Exporter","version":"2.0.0","tagline":"Import/Export MQO format files","archive_hash":"sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171","archive_size":21616,"archive_url":"https://extensions.blender.org/download/sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171/add-on-blender-mqo-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-mqo/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export MQO from/to disk"},"tags":["Import-Export"]},{"id":"core_debug_tools","schema_version":"1.0.0","name":"Core Debug Tools","version":"0.1.0","tagline":"Debugging utilities for core Blender developers","archive_hash":"sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20","archive_size":629513,"archive_url":"https://extensions.blender.org/download/sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20/add-on-core-debug-tools-v0.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/core-debug-tools/","maintainer":"JacquesLucke","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Build temporary html files to view in the browser"},"tags":["Development"]},{"id":"twformats","schema_version":"1.0.0","name":"Teeworlds and DDNet Map import","version":"0.4.1","tagline":"Import Teeworlds and DDNet maps","archive_hash":"sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5","archive_size":9592799,"archive_url":"https://extensions.blender.org/download/sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5/add-on-twformats-v0.4.1-linux-x64-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/twformats/","maintainer":"Patiga","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export files from/to disk"},"platforms":["linux-x64","windows-x64"],"tags":["Import-Export"]},{"id":"Graphite_Mono_Theme","schema_version":"1.0.0","name":"Graphite_Mono_Theme","version":"3.2.3","tagline":"Steel Grey","archive_hash":"sha256:25ef59421abd5855e63c07286ca2283c80fa43941ed06afa5c50c4e8093c8914","archive_size":5814,"archive_url":"https://extensions.blender.org/download/sha256:25ef59421abd5855e63c07286ca2283c80fa43941ed06afa5c50c4e8093c8914/theme-graphite-mono-theme-v3.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/graphite-mono-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"io_import_pixelart","schema_version":"1.0.0","name":"Import Pixel Art","version":"1.2.1","tagline":"Imports pixel art as colored cubes or squares for each pixel","archive_hash":"sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1","archive_size":5860,"archive_url":"https://extensions.blender.org/download/sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1/add-on-io-import-pixelart-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-pixelart/","maintainer":"bloody_albatross","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import pixel art from disk"},"tags":["Import-Export"]},{"id":"scene_workspaces","schema_version":"1.0.0","name":"Scene Workspaces","version":"1.1.1","tagline":"Filter and sort your workspaces, scene by scene","archive_hash":"sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a","archive_size":8786,"archive_url":"https://extensions.blender.org/download/sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a/add-on-scene-workspaces-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-workspaces/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System","User Interface"]},{"id":"clean_game_asset_exporter","schema_version":"1.0.0","name":"Clean Game Asset Exporter","version":"1.0.0","tagline":"Game asset exporter for the Defold game engine","archive_hash":"sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3","archive_size":4988,"archive_url":"https://extensions.blender.org/download/sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3/add-on-clean-game-asset-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clean-game-asset-exporter/","maintainer":"DeBolt","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export game asset files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"aligning_horizontally_mini","schema_version":"1.0.0","name":"Aligning Horizontally Mini","version":"1.0.1","tagline":"Align selected objects in a customizable grid in the 3D viewport","archive_hash":"sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35","archive_size":3511,"archive_url":"https://extensions.blender.org/download/sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35/add-on-aligning-horizontally-mini-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/aligning-horizontally-mini/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"lead_edge_maze_ash_creator","schema_version":"1.0.0","name":"Lead Edge Maze Ash Creator","version":"2.4.1","tagline":"Lead Edge Maze Ash","archive_hash":"sha256:003291b86247ce09847fd955f2f3fcc0433162af279eb1d262a35e0fd36fb541","archive_size":11149,"archive_url":"https://extensions.blender.org/download/sha256:003291b86247ce09847fd955f2f3fcc0433162af279eb1d262a35e0fd36fb541/add-on-lead-edge-maze-ash-creator-v2.4.1.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/lead-edge-maze-ash-creator/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"f1dg3t_blender_red","schema_version":"1.0.0","name":"F1dg3t Red","version":"1.1.0","tagline":"Perfect for Shadow State 2","archive_hash":"sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680","archive_size":6491,"archive_url":"https://extensions.blender.org/download/sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680/theme-f1dg3t-blender-red-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/f1dg3t-blender-red/","maintainer":"F1dg3t","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"VMD","schema_version":"1.0.0","name":"vmdesk","version":"5.0.0","tagline":"Interactive editor environment in 3D Viewport","archive_hash":"sha256:4a46a8587281dd636ab45759fbbd1a66868e1be0691d6422e246b105dd483b5a","archive_size":10169041,"archive_url":"https://extensions.blender.org/download/sha256:4a46a8587281dd636ab45759fbbd1a66868e1be0691d6422e246b105dd483b5a/add-on-vmd-v5.0.0.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/vmd/","maintainer":"Y.T-LAW","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export from disk to user-supplied path","clipboard":"Copy and paste from shortcut/UI"},"tags":["3D View","Modeling","Mesh","Object","User Interface"]},{"id":"govietools","schema_version":"1.0.0","name":"Govie Tools","version":"1.0.20","tagline":"Optimize your model for use in the Govie Editor","archive_hash":"sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476","archive_size":123018,"archive_url":"https://extensions.blender.org/download/sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476/add-on-govietools-v1.0.20.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/govietools/","maintainer":"3D-Interaction-Technologies","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export GLB to disk"},"tags":["Scene","Import-Export"]},{"id":"microscopynodes","schema_version":"1.0.0","name":"Microscopy Nodes","version":"2.2.7","tagline":"Handling microscopy data in Blender, up to 5D volumes","archive_hash":"sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b","archive_size":49077670,"archive_url":"https://extensions.blender.org/download/sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b/add-on-microscopynodes-v2.2.7-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/microscopynodes/","maintainer":"Aafke-Gros","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk, writing to cache folder","network":"Loading OME-zarr files from the internet from a given URL"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"new_object_from_selected_geometry","schema_version":"1.0.0","name":"New Object From Selected Geometry","version":"1.0.2","tagline":"Creates a new object from the selected geometry in Edit mode","archive_hash":"sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f","archive_size":13392,"archive_url":"https://extensions.blender.org/download/sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f/add-on-new-object-from-selected-geometry-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/new-object-from-selected-geometry/","maintainer":"Giambattista-Caltabiano","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Metaseq_Classic_theme","schema_version":"1.0.0","name":"Metaseq_Classic","version":"1.0.1","tagline":"Classic light Metasequoia-style theme","archive_hash":"sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a","archive_size":36342,"archive_url":"https://extensions.blender.org/download/sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a/theme-metaseq-classic-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-classic-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Xromm_Tools","schema_version":"1.0.0","name":"XROMM toolkit","version":"0.9.6","tagline":"XROMM toolkit for Blender","archive_hash":"sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771","archive_size":18986,"archive_url":"https://extensions.blender.org/download/sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771/add-on-xromm-tools-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/xromm-tools/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"io_scene_ase","schema_version":"1.0.0","name":"ASCII Scene Export (.ase)","version":"2.2.1","tagline":"Export .ase files used in Unreal Engine 1 & 2","archive_hash":"sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494","archive_size":13786,"archive_url":"https://extensions.blender.org/download/sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494/add-on-io-scene-ase-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-ase/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .ase files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"blender_magicavoxel","schema_version":"1.0.0","name":"MagicaVoxel VOX format","version":"1.5.7","tagline":"Importer addon for MagicaVoxel vox files","archive_hash":"sha256:30f41041bb989380687699ec6b47ec6457e438c922ff71be6e93f99b68fe8d0d","archive_size":24371,"archive_url":"https://extensions.blender.org/download/sha256:30f41041bb989380687699ec6b47ec6457e438c922ff71be6e93f99b68fe8d0d/add-on-blender-magicavoxel-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-magicavoxel/","maintainer":"AstrorEnales","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"permissions":{"files":"Import VOX from disk"},"tags":["Import-Export"]},{"id":"odyssey_eobet_remix","schema_version":"1.0.0","name":"Odyssey eobet Remix","version":"2.0.1","tagline":"Theme highlighting the active object","archive_hash":"sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743","archive_size":5970,"archive_url":"https://extensions.blender.org/download/sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743/theme-odyssey-eobet-remix-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/odyssey-eobet-remix/","maintainer":"eobet","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"PieMenu_Everywhere","schema_version":"1.0.0","name":"PieMenu Everywhere","version":"1.4.5","tagline":"Maximize your efficiency with PieMenu Everywhere","archive_hash":"sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84","archive_size":438388,"archive_url":"https://extensions.blender.org/download/sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84/add-on-piemenu-everywhere-v1.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/piemenu-everywhere/","maintainer":"DeathShot-747","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline","3D View","Node"]},{"id":"Partybots_converter","schema_version":"1.0.0","name":"Partybots converter","version":"1.0.4","tagline":"This is a addon to build partybots maps","archive_hash":"sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00","archive_size":5333,"archive_url":"https://extensions.blender.org/download/sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00/add-on-partybots-converter-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/partybots-converter/","maintainer":"vuyghu2020","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To write the compiled output to the clipbord"},"tags":["3D View","Object","Game Engine"]},{"id":"add_airfoil","schema_version":"1.0.0","name":"Add Airfoil","version":"2.0.0","tagline":"Import Airfoil Dat Files into Blender","archive_hash":"sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae","archive_size":2356,"archive_url":"https://extensions.blender.org/download/sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae/add-on-add-airfoil-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-airfoil/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"atomic_blender_cluster","schema_version":"1.0.0","name":"Atomic Blender Cluster","version":"1.0.0","tagline":"Creating atom clusters or nanoparticles in Blender","archive_hash":"sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18","archive_size":11917,"archive_url":"https://extensions.blender.org/download/sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18/add-on-atomic-blender-cluster-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-cluster/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"add_positive_cube","schema_version":"1.0.0","name":"Add Positive Cube","version":"1.0.2","tagline":"Adds a cube with its origin at the corner","archive_hash":"sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807","archive_size":2022,"archive_url":"https://extensions.blender.org/download/sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807/add-on-add-positive-cube-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-positive-cube/","maintainer":"jefftml","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","3D View"]},{"id":"theme_modo","schema_version":"1.0.0","name":"Modo","version":"2.0.0","tagline":"Community-made theme inspired by Modo","archive_hash":"sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f","archive_size":5822,"archive_url":"https://extensions.blender.org/download/sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f/theme-theme-modo-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-modo/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"stl_format_legacy","schema_version":"1.0.0","name":"STL format (legacy)","version":"1.1.4","tagline":"Import-Export STL files","archive_hash":"sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6","archive_size":7513,"archive_url":"https://extensions.blender.org/download/sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6/add-on-stl-format-legacy-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stl-format-legacy/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"atomic_blender_pdb_xyz","schema_version":"1.0.0","name":"Atomic Blender PDB/XYZ","version":"1.9.1","tagline":"Importing atoms listed in PDB and XYZ files into Blender","archive_hash":"sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268","archive_size":51000,"archive_url":"https://extensions.blender.org/download/sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268/add-on-atomic-blender-pdb-xyz-v1.9.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-pdb-xyz/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"geodesic_domes","schema_version":"1.0.0","name":"Geodesic Domes","version":"0.3.6","tagline":"Create geodesic dome type objects","archive_hash":"sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0","archive_size":25222,"archive_url":"https://extensions.blender.org/download/sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0/add-on-geodesic-domes-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geodesic-domes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"ui_animation_render","schema_version":"1.0.0","name":"UI Animation Render","version":"0.1.0","tagline":"Render animations of the Blender UI","archive_hash":"sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29","archive_size":2426,"archive_url":"https://extensions.blender.org/download/sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29/add-on-ui-animation-render-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ui-animation-render/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"pov_at_ble","schema_version":"1.0.0","name":"POV@Ble (Legacy)","version":"0.1.6","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339","archive_size":302310,"archive_url":"https://extensions.blender.org/download/sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339/add-on-pov-at-ble-v0.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pov-at-ble/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render"]},{"id":"inset_straight_skeleton","schema_version":"1.0.0","name":"Inset Straight Skeleton","version":"1.1.0","tagline":"Make an inset inside selection using straight skeleton algo . . ","archive_hash":"sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553","archive_size":33199,"archive_url":"https://extensions.blender.org/download/sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553/add-on-inset-straight-skeleton-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/inset-straight-skeleton/","maintainer":"howardt","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"refine_tracking_solution","schema_version":"1.0.0","name":"Refine tracking solution","version":"1.1.6","tagline":"Refine motion solution by adjusting track weight","archive_hash":"sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f","archive_size":2210,"archive_url":"https://extensions.blender.org/download/sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f/add-on-refine-tracking-solution-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/refine-tracking-solution/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"assign_shape_keys","schema_version":"1.0.0","name":"Assign Shape Keys","version":"1.0.2","tagline":"Assigns one or more Bezier curves as shape keys to another . . ","archive_hash":"sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1","archive_size":10143,"archive_url":"https://extensions.blender.org/download/sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1/add-on-assign-shape-keys-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/assign-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"export_pointcache_formatpc2","schema_version":"1.0.0","name":"Export Pointcache Format(.pc2)","version":"1.1.4","tagline":"Export mesh Pointcache data (.pc2)","archive_hash":"sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805","archive_size":2683,"archive_url":"https://extensions.blender.org/download/sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805/add-on-export-pointcache-formatpc2-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-pointcache-formatpc2/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .pc2 file"},"tags":["Import-Export"]},{"id":"corrective_shape_keys","schema_version":"1.0.0","name":"Corrective Shape Keys","version":"1.0.0","tagline":"Creates a corrective shape key for the current pose","archive_hash":"sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19","archive_size":4821,"archive_url":"https://extensions.blender.org/download/sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19/add-on-corrective-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/corrective-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"freestyle_svg_exporter","schema_version":"1.0.0","name":"Freestyle SVG Exporter","version":"1.0.0","tagline":"Exports Freestyle's stylized edges in SVG format","archive_hash":"sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b","archive_size":7691,"archive_url":"https://extensions.blender.org/download/sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b/add-on-freestyle-svg-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/freestyle-svg-exporter/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"edit_operator_source","schema_version":"1.0.0","name":"Edit Operator Source","version":"1.2.4","tagline":"Opens source file of chosen operator or call locations","archive_hash":"sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc","archive_size":2897,"archive_url":"https://extensions.blender.org/download/sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc/add-on-edit-operator-source-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-operator-source/","maintainer":"scorpion81","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"copy_render_settings","schema_version":"1.0.0","name":"Copy Render Settings","version":"2.0.0","tagline":"Allows to copy a selection of render settings from current . . ","archive_hash":"sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0","archive_size":7786,"archive_url":"https://extensions.blender.org/download/sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0/add-on-copy-render-settings-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-render-settings/","maintainer":"mont29","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"newtek_mdd_format","schema_version":"1.0.0","name":"NewTek MDD format","version":"1.0.3","tagline":"Import-Export MDD as mesh shape keys","archive_hash":"sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759","archive_size":4368,"archive_url":"https://extensions.blender.org/download/sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759/add-on-newtek-mdd-format-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/newtek-mdd-format/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with MDD format files"},"tags":["Import-Export"]},{"id":"demo_mode","schema_version":"1.0.0","name":"Demo Mode","version":"1.0.0","tagline":"Demo mode lets you select multiple blend files and loop ove . . ","archive_hash":"sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62","archive_size":9071,"archive_url":"https://extensions.blender.org/download/sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62/add-on-demo-mode-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/demo-mode/","maintainer":"campbell","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"scene_information","schema_version":"1.0.0","name":"Scene Information","version":"0.3.1","tagline":"Show information about the .blend","archive_hash":"sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6","archive_size":1816,"archive_url":"https://extensions.blender.org/download/sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6/add-on-scene-information-v0.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-information/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"paint_palettes","schema_version":"1.0.0","name":"Paint Palettes","version":"0.9.4","tagline":"Palettes for color and weight paint modes","archive_hash":"sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321","archive_size":6133,"archive_url":"https://extensions.blender.org/download/sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321/add-on-paint-palettes-v0.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-palettes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Paint"]},{"id":"nuke_animation_format_chan","schema_version":"1.0.0","name":"Nuke Animation Format (.chan)","version":"1.0.0","tagline":"Import/Export object's animation with nuke","archive_hash":"sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9","archive_size":4340,"archive_url":"https://extensions.blender.org/download/sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9/add-on-nuke-animation-format-chan-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nuke-animation-format-chan/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export"]},{"id":"btracer","schema_version":"1.0.0","name":"BTracer","version":"1.2.4","tagline":"Tools for converting/animating objects/particles into curves","archive_hash":"sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064","archive_size":17367,"archive_url":"https://extensions.blender.org/download/sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064/add-on-btracer-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/btracer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"web3d_x3d_vrml2_format","schema_version":"1.0.0","name":"Web3D X3D/VRML2 format","version":"2.5.1","tagline":"Import-Export X3D, Import VRML2","archive_hash":"sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604","archive_size":100153,"archive_url":"https://extensions.blender.org/download/sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604/add-on-web3d-x3d-vrml2-format-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/","maintainer":"Bujus_Krachus","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to access files for import/export","network":"Required to download web resources for import"},"tags":["Import-Export"]},{"id":"export_camera_animation","schema_version":"1.0.0","name":"Export Camera Animation","version":"0.1.2","tagline":"Export Cameras & Markers to a Python script","archive_hash":"sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed","archive_size":2057,"archive_url":"https://extensions.blender.org/download/sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed/add-on-export-camera-animation-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-camera-animation/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .py file"},"tags":["Import-Export"]},{"id":"cadbase_library","schema_version":"1.0.0","name":"CADBase Library","version":"0.3.0","tagline":"Add-on enables data sync with remote storage (cloud)","archive_hash":"sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be","archive_size":190158,"archive_url":"https://extensions.blender.org/download/sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be/add-on-cadbase-library-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cadbase-library/","maintainer":"mnnxp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export library data from/to disk","network":"Need to to sync library data with a remote server","clipboard":"Copy component link to clipboard"},"tags":["Import-Export"]},{"id":"forts_map","schema_version":"1.0.0","name":"Forts Map Importer","version":"1.0.1","tagline":"Import Forts Map","archive_hash":"sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66","archive_size":4234,"archive_url":"https://extensions.blender.org/download/sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66/add-on-forts-map-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/forts-map/","maintainer":"Gonnetz","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Import-Export"]},{"id":"democap_tools","schema_version":"1.0.0","name":"DEMoCap Tools","version":"1.0.4","tagline":"Tools for importing DEMoCap motion captures into Blender","archive_hash":"sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e","archive_size":114185,"archive_url":"https://extensions.blender.org/download/sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e/add-on-democap-tools-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/democap-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading motion capture files","network":"Connect to DEMoCap (Live Connection)"},"tags":["Import-Export","3D View","Object","Animation"]},{"id":"dragengine_tools","schema_version":"1.0.0","name":"Drag[en]gine Import/Export","version":"1.29.1","tagline":"Import/Export Drag[en]gine Resources including helper tools","archive_hash":"sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a","archive_size":115706,"archive_url":"https://extensions.blender.org/download/sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a/add-on-dragengine-tools-v1.29.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragengine-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing/Exporting resources"},"tags":["Import-Export","3D View","Mesh","Object","Animation"]}],"version":"v1"} \ No newline at end of file diff --git a/extensions/blender_org/.blender_ext/index.json@15284 b/extensions/blender_org/.blender_ext/index.json@15284 new file mode 100644 index 0000000..53dae09 --- /dev/null +++ b/extensions/blender_org/.blender_ext/index.json@15284 @@ -0,0 +1 @@ +{"blocklist":[],"data":[{"id":"Cyberpunk_2077_UI","schema_version":"1.0.0","name":"Cyberpunk_2077_UI","version":"1.0.2","tagline":"Colorful Futuristic Dystopian","archive_hash":"sha256:63a06019f7d88797a00fb8e3163d727714a5c29b900a37a1a180fccfaa887168","archive_size":5554,"archive_url":"https://extensions.blender.org/download/sha256:63a06019f7d88797a00fb8e3163d727714a5c29b900a37a1a180fccfaa887168/theme-cyberpunk-2077-ui-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cyberpunk-2077-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"smart_selection_propagation","schema_version":"1.0.0","name":"Smart Selection Propagation","version":"1.0.0","tagline":"Advanced topology-based selection of similar mesh elements","archive_hash":"sha256:e297789ec5d939ad212de504908c143b963108c3bc4c2b28f23a87fccab6da13","archive_size":6632,"archive_url":"https://extensions.blender.org/download/sha256:e297789ec5d939ad212de504908c143b963108c3bc4c2b28f23a87fccab6da13/add-on-smart-selection-propagation-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-selection-propagation/","maintainer":"atrxi","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling","3D View"]},{"id":"ROSE2_theme","schema_version":"1.0.0","name":"theme ROSE","version":"1.0.0","tagline":"Soft pink theme, dark","archive_hash":"sha256:22a391c485c6efc8c7d4dfe060ff17d177d47fcf205abaa0763fc474e609b640","archive_size":6432,"archive_url":"https://extensions.blender.org/download/sha256:22a391c485c6efc8c7d4dfe060ff17d177d47fcf205abaa0763fc474e609b640/theme-rose2-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rose2-theme/","maintainer":"5Lunes","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"arknights_endfield_theme","schema_version":"1.0.0","name":"Arknights: Endfield","version":"1.0.1","tagline":"Theme inspired by Arknights: Endfield game UI","archive_hash":"sha256:8c151906dba63d9240bb2fa29b0024df03bfd516d5bc665d260d19b7e2de7d52","archive_size":5545,"archive_url":"https://extensions.blender.org/download/sha256:8c151906dba63d9240bb2fa29b0024df03bfd516d5bc665d260d19b7e2de7d52/theme-arknights-endfield-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/arknights-endfield-theme/","maintainer":"RAZUMNO","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"motion_sounds","schema_version":"1.0.0","name":"Motion Sounds","version":"0.9.0","tagline":"Add sounds to your animation based on motion events","archive_hash":"sha256:62f25e1acafc6b4af5389f1b9d4e685ef0cb44062b74bff00ff70e08109d90e0","archive_size":187022,"archive_url":"https://extensions.blender.org/download/sha256:62f25e1acafc6b4af5389f1b9d4e685ef0cb44062b74bff00ff70e08109d90e0/add-on-motion-sounds-v0.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motion-sounds/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"ThreeMF_io","schema_version":"1.0.0","name":"3MF Import/Export","version":"2.0.1","tagline":"Import and export 3D Manufacturing Format (3MF) files","archive_hash":"sha256:72dfae84951f90bb5825d1ce4283d9ea1ad16f6a9441d63d32c9ae11d5c115f5","archive_size":196967,"archive_url":"https://extensions.blender.org/download/sha256:72dfae84951f90bb5825d1ce4283d9ea1ad16f6a9441d63d32c9ae11d5c115f5/add-on-threemf-io-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/threemf-io/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For import and export of 3MF files"},"tags":["Import-Export"]},{"id":"tetrominode","schema_version":"1.0.0","name":"Tetrominode","version":"0.4.6","tagline":"Play Tetris in Blender using Geometry Nodes","archive_hash":"sha256:c0f2fdedf0d3999ac0734992540b50bda5a982a38503097fd9b6521186bced0a","archive_size":254981,"archive_url":"https://extensions.blender.org/download/sha256:c0f2fdedf0d3999ac0734992540b50bda5a982a38503097fd9b6521186bced0a/add-on-tetrominode-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tetrominode/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Animation"]},{"id":"oebs_icon_viewer","schema_version":"1.0.0","name":"OEBS Icon Viewer","version":"1.4.0","tagline":"Browse and Search Blender Icons","archive_hash":"sha256:4e795ee297e73aaec5f6e3c8409241de1854dc6e4b287b474b306f0e043a3042","archive_size":11719,"archive_url":"https://extensions.blender.org/download/sha256:4e795ee297e73aaec5f6e3c8409241de1854dc6e4b287b474b306f0e043a3042/add-on-oebs-icon-viewer-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/oebs-icon-viewer/","maintainer":"Eric-Mwangi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To copy icon names to the clipboard"},"tags":["Development","System"]},{"id":"easeit","schema_version":"1.0.0","name":"Easeit","version":"1.0.1","tagline":"Quickly apply easing presets to animation keyframes","archive_hash":"sha256:beea61edf4d85ca09c8e7653f893bd9bef25e7aecb7324931522fa2312400c3f","archive_size":60285,"archive_url":"https://extensions.blender.org/download/sha256:beea61edf4d85ca09c8e7653f893bd9bef25e7aecb7324931522fa2312400c3f/add-on-easeit-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easeit/","maintainer":"AndyCuccaro","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"siemen_lens_blender_autotrack","schema_version":"1.0.0","name":"AutoTrack","version":"4.0.2","tagline":"Automatic 3D Tracking and Solving","archive_hash":"sha256:fb4b325e22b8037fdb7c590efc56ee61c97af94c41a89285ca69169febee4d47","archive_size":19409,"archive_url":"https://extensions.blender.org/download/sha256:fb4b325e22b8037fdb7c590efc56ee61c97af94c41a89285ca69169febee4d47/add-on-siemen-lens-blender-autotrack-v4.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/siemen-lens-blender-autotrack/","maintainer":"Siemen-Lens","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Animation","Compositing","3D View"]},{"id":"node_note","schema_version":"1.0.0","name":"Node Note/节点随记","version":"1.2.5","tagline":"Powerful node notes with text and images/强大的节点图文笔记工具","archive_hash":"sha256:c6703456610b8285b384aff2a28af3d19f79591d8b333eef1a883aa5fb48415e","archive_size":32788,"archive_url":"https://extensions.blender.org/download/sha256:c6703456610b8285b384aff2a28af3d19f79591d8b333eef1a883aa5fb48415e/add-on-node-note-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-note/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import image or use font from disk","clipboard":"Paste text/image from the clipboard and copy text to clipboard"},"tags":["Node"]},{"id":"theme_mockup","schema_version":"1.0.0","name":"Mockup","version":"1.0.0","tagline":"Mockups to use with the (low-fi) Design System components","archive_hash":"sha256:e3588ff217ac36cfab5f0046a6f305b6cd21005a3b6039564169ab070569674e","archive_size":5395,"archive_url":"https://extensions.blender.org/download/sha256:e3588ff217ac36cfab5f0046a6f305b6cd21005a3b6039564169ab070569674e/theme-theme-mockup-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-mockup/","maintainer":"Blender","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"mio3_flex","schema_version":"1.0.0","name":"Mio3 Flex","version":"1.0.4","tagline":"Reshape meshes into smooth freeform curves using paths","archive_hash":"sha256:bf945d9b3e16c43a7c073367785f0ec7e1fb274283ab31398dd8cd6b66334f05","archive_size":30030,"archive_url":"https://extensions.blender.org/download/sha256:bf945d9b3e16c43a7c073367785f0ec7e1fb274283ab31398dd8cd6b66334f05/add-on-mio3-flex-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mio3-flex/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"hdri_lightbrush","schema_version":"1.0.0","name":"HDRI LightBrush","version":"1.0.1","tagline":"Paint HDRIs on 3D sphere for precise studio lighting control","archive_hash":"sha256:2dd62f9b14e0adbeb049c31a26e9b4c36230e6d57140b494c62d2f4d2ed8f5dc","archive_size":144003,"archive_url":"https://extensions.blender.org/download/sha256:2dd62f9b14e0adbeb049c31a26e9b4c36230e6d57140b494c62d2f4d2ed8f5dc/add-on-hdri-lightbrush-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdri-lightbrush/","maintainer":"CadTamas","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export HDRI files (.exr, .hdr, .jpg, .png)"},"tags":["Lighting","Paint"]},{"id":"PivotTools","schema_version":"1.0.0","name":"Pivot Tools","version":"1.48.13","tagline":"Fast pivot placement with Auto Pick, BBox targets, Saved Pivots","archive_hash":"sha256:c4457381883495799f87d72226140492d101fecadb9f3021309503feb74438f8","archive_size":8530,"archive_url":"https://extensions.blender.org/download/sha256:c4457381883495799f87d72226140492d101fecadb9f3021309503feb74438f8/add-on-pivottools-v1.48.13.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/pivottools/","maintainer":"Quinzy","license":["SPDX:GPL-3.0-or-later"]},{"id":"geo_nodes_guide","schema_version":"1.0.0","name":"Geo Nodes Guide","version":"0.1.0","tagline":"Live documentation and examples for Geometry Nodes","archive_hash":"sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792","archive_size":93537,"archive_url":"https://extensions.blender.org/download/sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792/add-on-geo-nodes-guide-v0.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/geo-nodes-guide/","maintainer":"Addonyte","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Geometry Nodes"]},{"id":"linkforge","schema_version":"1.0.0","name":"LinkForge","version":"1.2.3","tagline":"Build Simulation-Ready Robots in Blender","archive_hash":"sha256:09e20c26f491cc0f60968c8b5373a08e4c8bde0e3604a30e41ee97f796a98395","archive_size":355146,"archive_url":"https://extensions.blender.org/download/sha256:09e20c26f491cc0f60968c8b5373a08e4c8bde0e3604a30e41ee97f796a98395/add-on-linkforge-v1.2.3-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/linkforge/","maintainer":"Arouna-Patouossa-Mounchili","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export URDF/XACRO files"},"platforms":["windows-x64"],"tags":["Import-Export","Rigging","Physics","Pipeline"]},{"id":"retarget","schema_version":"1.0.0","name":"Retarget","version":"2.8.2","tagline":"Retargeting, convert to Rigify, Animation tools, Much more","archive_hash":"sha256:2b5571623f8f9993aff2c5e39107b7a4bbfd64ee8f8931abfca47ef8df31dcd2","archive_size":137315,"archive_url":"https://extensions.blender.org/download/sha256:2b5571623f8f9993aff2c5e39107b7a4bbfd64ee8f8931abfca47ef8df31dcd2/add-on-retarget-v2.8.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/retarget/","maintainer":"KBS-DEV","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"lodify_optimizer","schema_version":"1.0.0","name":"LODify","version":"2.8.0","tagline":"Full-Scenario Perf Opt: Textures, Decimation & Viewport Mgmt","archive_hash":"sha256:8c28c8a75273218a2c6002cfa1490da2da4694e2d398f9b3c06e4efdcce02bb9","archive_size":7066184,"archive_url":"https://extensions.blender.org/download/sha256:8c28c8a75273218a2c6002cfa1490da2da4694e2d398f9b3c06e4efdcce02bb9/add-on-lodify-optimizer-v2.8.0-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lodify-optimizer/","maintainer":"小T_sune","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to read and write texture files for resizing"},"platforms":["windows-x64"],"tags":["Object"]},{"id":"red_velvet_theme","schema_version":"1.0.0","name":"Red Velvet Theme","version":"1.0.0","tagline":"A cosmic red cyberpunk-inspired theme","archive_hash":"sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7/theme-red-velvet-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/red-velvet-theme/","maintainer":"Thunder-Artist","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"outliner_preview","schema_version":"1.0.0","name":"Outliner Model Preview","version":"1.1.0","tagline":"Preview selected model in the Outliner","archive_hash":"sha256:750789fa5e776f9a7442f7c892775e7668ca4c9f04b81d4e33e505d14aa48cf5","archive_size":31457,"archive_url":"https://extensions.blender.org/download/sha256:750789fa5e776f9a7442f7c892775e7668ca4c9f04b81d4e33e505d14aa48cf5/add-on-outliner-preview-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/outliner-preview/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"ftw3dforge_image_projector","schema_version":"1.0.0","name":"FTW3DForge Image Projector","version":"2.1.0","tagline":"Project images onto 3D meshes with real-time preview and baking","archive_hash":"sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf","archive_size":16305,"archive_url":"https://extensions.blender.org/download/sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf/add-on-ftw3dforge-image-projector-v2.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw3dforge-image-projector/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["UV","Mesh","Import-Export","Material"]},{"id":"smart_box_select","schema_version":"1.0.0","name":"Smart Box Select","version":"1.0.2","tagline":"Box/Lasso select with object activation","archive_hash":"sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa","archive_size":3800,"archive_url":"https://extensions.blender.org/download/sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa/add-on-smart-box-select-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-box-select/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"splashsurf_studio","schema_version":"1.0.0","name":"Splashsurf Studio","version":"1.0.1","tagline":"Surface reconstruction for particle-based fluid simulations","archive_hash":"sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c","archive_size":2732095,"archive_url":"https://extensions.blender.org/download/sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c/add-on-splashsurf-studio-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/splashsurf-studio/","maintainer":"Fabian-Löschner","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Add Mesh","Mesh","Object"]},{"id":"global_copy_nodes","schema_version":"1.0.0","name":"Global Copy Nodes","version":"1.0.5","tagline":"Copy nodes across .blend projects","archive_hash":"sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e","archive_size":21986,"archive_url":"https://extensions.blender.org/download/sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e/add-on-global-copy-nodes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/global-copy-nodes/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires reading & writing node copy buffer to disk"},"tags":["System","Node"]},{"id":"overscan_addon","schema_version":"1.0.0","name":"Overscan Addon","version":"1.1.0","tagline":"Adds Overscan to your renders","archive_hash":"sha256:d31ab4e9c676df969304b38906b3fd08f24d84fddfff41146bc8074de0781c0d","archive_size":6383,"archive_url":"https://extensions.blender.org/download/sha256:d31ab4e9c676df969304b38906b3fd08f24d84fddfff41146bc8074de0781c0d/add-on-overscan-addon-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan-addon/","maintainer":"eknath-kambagiri","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"sidebar_tab_search","schema_version":"1.0.0","name":"Sidebar Tab Search","version":"1.0.0","tagline":"Quick search and switch between Sidebar (N-Panel) tabs","archive_hash":"sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd","archive_size":18766,"archive_url":"https://extensions.blender.org/download/sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd/add-on-sidebar-tab-search-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sidebar-tab-search/","maintainer":"McKaa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"gizmo_resizer","schema_version":"1.0.0","name":"Gizmo Resizer","version":"2.3.0","tagline":"Resize viewport Gizmo with Numpad keys","archive_hash":"sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe","archive_size":15888,"archive_url":"https://extensions.blender.org/download/sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe/add-on-gizmo-resizer-v2.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gizmo-resizer/","maintainer":"CorentinBileau","license":["SPDX:GPL-3.0-or-later"]},{"id":"Mask_To_Vertex_Color_Pro","schema_version":"1.0.0","name":"MaskToVertexColorPro","version":"2.0.4","tagline":"Mask To VertexColor Pro Tools","archive_hash":"sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a","archive_size":30127,"archive_url":"https://extensions.blender.org/download/sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a/add-on-mask-to-vertex-color-pro-v2.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mask-to-vertex-color-pro/","maintainer":"墨泪MoLei_VFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images are required as masks"},"tags":["Paint","Material"]},{"id":"b_guides","schema_version":"1.0.0","name":"B Guides","version":"1.0.1","tagline":"composition with guides and rulers for the VSE and 3D Viewport","archive_hash":"sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57","archive_size":24706,"archive_url":"https://extensions.blender.org/download/sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57/add-on-b-guides-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-guides/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Sequencer"]},{"id":"selection_mode_cycler","schema_version":"1.0.0","name":"Selection Mode Cycler","version":"1.1.0","tagline":"Cycles through mesh selection modes in Edit Mode","archive_hash":"sha256:80a605bad154cec84404fa1f3a5b9db50846912d98fe07b5d790a03843d4ba12","archive_size":1414,"archive_url":"https://extensions.blender.org/download/sha256:80a605bad154cec84404fa1f3a5b9db50846912d98fe07b5d790a03843d4ba12/add-on-selection-mode-cycler-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/selection-mode-cycler/","maintainer":"Lise-2","license":["SPDX:GPL-3.0-or-later"]},{"id":"colornova","schema_version":"1.0.0","name":"COLOR-NOVA // SPECTRAL UV | M-87","version":"1.0.1","tagline":"Essential UV contrast. Absolute clarity for professional focus","archive_hash":"sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc","archive_size":6257,"archive_url":"https://extensions.blender.org/download/sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc/theme-colornova-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/colornova/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast","Colorful"]},{"id":"select_similar_geometry","schema_version":"1.0.0","name":"Select Similar Geometry","version":"1.3.0","tagline":"Select objects by percentage of matching vertices","archive_hash":"sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21","archive_size":397646,"archive_url":"https://extensions.blender.org/download/sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21/add-on-select-similar-geometry-v1.3.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/select-similar-geometry/","maintainer":"JuanRomero","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"matgeo","schema_version":"1.0.0","name":"MatGeo","version":"1.0.0","tagline":"Convert Materials to Geometry Nodes","archive_hash":"sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556","archive_size":9103,"archive_url":"https://extensions.blender.org/download/sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556/add-on-matgeo-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/matgeo/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Geometry Nodes","Node"]},{"id":"Cross_Select","schema_version":"1.0.0","name":"Cross Select","version":"1.0.6","tagline":"Select scene objects similar like RHINO or CAD","archive_hash":"sha256:bc66d1d42aa0f0a9f666fa5fd13e97ab31b2502dc679fc4ca305a0f745ce2e65","archive_size":30023,"archive_url":"https://extensions.blender.org/download/sha256:bc66d1d42aa0f0a9f666fa5fd13e97ab31b2502dc679fc4ca305a0f745ce2e65/add-on-cross-select-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cross-select/","maintainer":"RARA","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View","Scene","Node"]},{"id":"Dark_3d","schema_version":"1.0.0","name":"Dark 3d","version":"1.0.0","tagline":"Shaded Buttons","archive_hash":"sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad","archive_size":6664,"archive_url":"https://extensions.blender.org/download/sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad/theme-dark-3d-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-3d/","maintainer":"SammyTheBest","license":["SPDX:GPL-3.0-or-later"]},{"id":"bone_math","schema_version":"1.0.0","name":"Bone Math","version":"0.1.0","tagline":"Calculate pole angles, plus other bone related math","archive_hash":"sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c","archive_size":4795,"archive_url":"https://extensions.blender.org/download/sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c/add-on-bone-math-v0.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bone-math/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"surface_diagnostics","schema_version":"1.0.0","name":"Surface Diagnostics","version":"1.4.3","tagline":"Set of tools for diagnosing surface quality","archive_hash":"sha256:962fd2c89467104fae0bf139c1118e079fa7ff65ae8fbf692c741e2ef6c0d103","archive_size":1241115,"archive_url":"https://extensions.blender.org/download/sha256:962fd2c89467104fae0bf139c1118e079fa7ff65ae8fbf692c741e2ef6c0d103/add-on-surface-diagnostics-v1.4.3.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/surface-diagnostics/","maintainer":"JLBöhm","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Geometry Nodes"]},{"id":"savepoints","schema_version":"1.0.0","name":"SavePoints","version":"1.5.1","tagline":"Visual version control, easy restore, and automatic timelapse","archive_hash":"sha256:0f3fc131e4a888a593ef7f36073295da9805ea18f1b5bbf5845254fe7ff8407a","archive_size":100520,"archive_url":"https://extensions.blender.org/download/sha256:0f3fc131e4a888a593ef7f36073295da9805ea18f1b5bbf5845254fe7ff8407a/add-on-savepoints-v1.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/savepoints/","maintainer":"unclepomedev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create version history and move deleted versions to trash"},"tags":["System","Pipeline","Render"]},{"id":"sprite_sheet_maker","schema_version":"1.0.0","name":"Sprite Sheet Maker","version":"5.1.1","tagline":"3D to 2D sprite sheet converter with optional pixelation","archive_hash":"sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329","archive_size":8711545,"archive_url":"https://extensions.blender.org/download/sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329/add-on-sprite-sheet-maker-v5.1.1-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sprite-sheet-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Animation","Render"]},{"id":"kanagawa","schema_version":"1.0.0","name":"Kanagawa","version":"1.0.1","tagline":"kanagawa.nvim for Blender","archive_hash":"sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d","archive_size":6190,"archive_url":"https://extensions.blender.org/download/sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d/theme-kanagawa-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/kanagawa/","maintainer":"timberlinefpv","license":["SPDX:GPL-3.0-or-later"]},{"id":"io_scene_owm","schema_version":"1.0.0","name":"OWM Import","version":"3.3.0","tagline":"Import files from the Overwatch extraction tools (DataTool)","archive_hash":"sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44","archive_size":279606,"archive_url":"https://extensions.blender.org/download/sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44/add-on-io-scene-owm-v3.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-owm/","maintainer":"overtools","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing files from disk"},"tags":["Import-Export"]},{"id":"io_xnalara","schema_version":"1.0.0","name":"XPS Import/Export","version":"2.2.5","tagline":"Import-Export for XNALara/XPS files","archive_hash":"sha256:a354a92ffcaf7b132254ed9c62f6b673dfbdc5762e38ffc2f6b4963c5c544e78","archive_size":179196,"archive_url":"https://extensions.blender.org/download/sha256:a354a92ffcaf7b132254ed9c62f6b673dfbdc5762e38ffc2f6b4963c5c544e78/add-on-io-xnalara-v2.2.5.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-xnalara/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"windows_xp_theme","schema_version":"1.0.0","name":"Windows XP","version":"1.0.0","tagline":"A light theme directly inspired by Windows XP","archive_hash":"sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a","archive_size":6634,"archive_url":"https://extensions.blender.org/download/sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a/theme-windows-xp-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/windows-xp-theme/","maintainer":"Alkalide","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"ZZZ","schema_version":"1.0.0","name":"ZZZ Theme","version":"1.0.0","tagline":"High-contrast dark theme with Zenless Zone Zero's signature","archive_hash":"sha256:e1f9b0b7f60d398e27faab38b779e7e3c50191b98fb1b312b26b48854544093c","archive_size":5309,"archive_url":"https://extensions.blender.org/download/sha256:e1f9b0b7f60d398e27faab38b779e7e3c50191b98fb1b312b26b48854544093c/theme-zzz-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zzz/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast"]},{"id":"Cyberpunk2077","schema_version":"1.0.0","name":"Cyberpunk 2077","version":"1.2.0","tagline":"A Cyberpunk 2077 theme for Blender","archive_hash":"sha256:fb56d28e42e47e588dc063bf3ef70e7f1fb6b2b120ab2064f26ca74fa493e0fa","archive_size":5532,"archive_url":"https://extensions.blender.org/download/sha256:fb56d28e42e47e588dc063bf3ef70e7f1fb6b2b120ab2064f26ca74fa493e0fa/theme-cyberpunk2077-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cyberpunk2077/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"mintLavender","schema_version":"1.0.0","name":"Mint Lavender Chill","version":"1.0.3","tagline":"A Mint lavender theme for Blender with Lo-fi aesthetics","archive_hash":"sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5","archive_size":5321,"archive_url":"https://extensions.blender.org/download/sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5/theme-mintlavender-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mintlavender/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"sleek_navy","schema_version":"1.0.0","name":"Sleek Navy","version":"1.0.0","tagline":"A clean dark-blue Blender theme","archive_hash":"sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420","archive_size":5546,"archive_url":"https://extensions.blender.org/download/sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420/theme-sleek-navy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/sleek-navy/","maintainer":"Martel6ix","license":["SPDX:MIT"]},{"id":"multirow","schema_version":"1.0.0","name":"Multirow","version":"1.0.1","tagline":"Text strips with line break","archive_hash":"sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1","archive_size":4445,"archive_url":"https://extensions.blender.org/download/sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1/add-on-multirow-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/multirow/","maintainer":"flakmoppen","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","Text Editor","User Interface"]},{"id":"viewport_camera_positions","schema_version":"1.0.0","name":"Lutaya Viewport Camera","version":"1.0.1","tagline":"Save and switch between camera positions with orthographic views","archive_hash":"sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b","archive_size":4336,"archive_url":"https://extensions.blender.org/download/sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b/add-on-viewport-camera-positions-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-camera-positions/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load camera position configurations"},"tags":["3D View","Camera"]},{"id":"sequence_loader","schema_version":"1.0.0","name":"Sequence Loader","version":"0.4.0","tagline":"Just-in-time loader for meshio-supported mesh file sequences","archive_hash":"sha256:20c6e8c30cd2c2aa4be1c56817a32562680841c20df0b7a6cff103d543f566ff","archive_size":629459,"archive_url":"https://extensions.blender.org/download/sha256:20c6e8c30cd2c2aa4be1c56817a32562680841c20df0b7a6cff103d543f566ff/add-on-sequence-loader-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sequence-loader/","maintainer":"Stefan-Jeske","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Core functionality to load files from disk"},"tags":["Import-Export"]},{"id":"automata_theme","schema_version":"1.0.0","name":"Automata","version":"1.0.0","tagline":"NieR inspired theme","archive_hash":"sha256:cdf20785438bdbeca1640a9fa59a86ad0e96b98b0b2a267622fceb9c60122168","archive_size":5881,"archive_url":"https://extensions.blender.org/download/sha256:cdf20785438bdbeca1640a9fa59a86ad0e96b98b0b2a267622fceb9c60122168/theme-automata-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/automata-theme/","maintainer":"NSA-Cloud","license":["SPDX:GPL-3.0-or-later"]},{"id":"ani_offset","schema_version":"1.0.0","name":"Ani Offset","version":"3.2.2","tagline":"Propagate pose offsets across selected keyframes","archive_hash":"sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154","archive_size":3526,"archive_url":"https://extensions.blender.org/download/sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154/add-on-ani-offset-v3.2.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ani-offset/","maintainer":"Drika111","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"asset_optimizer","schema_version":"1.0.0","name":"Game Asset Optimizer","version":"1.0.2","tagline":"Optimize 3D models for Unity and Unreal Engine workflows","archive_hash":"sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b","archive_size":19580,"archive_url":"https://extensions.blender.org/download/sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b/add-on-asset-optimizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-optimizer/","maintainer":"Sudip-Soni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export optimized assets for Unity and Unreal Engine"},"tags":["Modeling","Mesh","Pipeline"]},{"id":"copy_paste_nodes","schema_version":"1.0.0","name":"Copy/Paste Nodes","version":"0.1.5","tagline":"Copy nodes to and from the system clipboard as JSON","archive_hash":"sha256:5cd02f7fe4229a03fddb190f98410f4f1b5c049707de5587c3eb4c14a9609a88","archive_size":10746,"archive_url":"https://extensions.blender.org/download/sha256:5cd02f7fe4229a03fddb190f98410f4f1b5c049707de5587c3eb4c14a9609a88/add-on-copy-paste-nodes-v0.1.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copy-paste-nodes/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste nodes to the clipboard"},"tags":["Node"]},{"id":"mixamo_rig","schema_version":"1.0.0","name":"Mixamo Rig","version":"1.1.8","tagline":"Generate a control rig from Mixamo Fbx skeleton","archive_hash":"sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96","archive_size":171560,"archive_url":"https://extensions.blender.org/download/sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96/add-on-mixamo-rig-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.5.999","website":"https://extensions.blender.org/add-ons/mixamo-rig/","maintainer":"tyler.tofu","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Rigging"]},{"id":"img2mat_pro","schema_version":"1.0.0","name":"img2mat_pro","version":"1.10.0","tagline":"Extract color materials and paint palettes from images","archive_hash":"sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990","archive_size":9875,"archive_url":"https://extensions.blender.org/download/sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990/add-on-img2mat-pro-v1.10.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img2mat-pro/","maintainer":"stevewarner","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","User Interface","Pipeline"]},{"id":"anim_reviewer","schema_version":"1.0.0","name":"Anim Reviewer","version":"1.0.0","tagline":"Enhance blender playblast capabilities for animation review","archive_hash":"sha256:6b4f7b38b528dc781dfa6d565b00e034dfff73df7f510ca15850a3e09f19721a","archive_size":1334127,"archive_url":"https://extensions.blender.org/download/sha256:6b4f7b38b528dc781dfa6d565b00e034dfff73df7f510ca15850a3e09f19721a/add-on-anim-reviewer-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/anim-reviewer/","maintainer":"FhyTan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save playblast videos in specified output folder"},"tags":["3D View","Animation","Camera","Pipeline"]},{"id":"export_render_as_dng","schema_version":"1.0.0","name":"Export Render as DNG","version":"1.0.2","tagline":"Export renders and images as Bayer-style DNG files","archive_hash":"sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85","archive_size":25960,"archive_url":"https://extensions.blender.org/download/sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85/add-on-export-render-as-dng-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-render-as-dng/","maintainer":"FloBEAUG","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export DNG to disk"}},{"id":"Origin_move_like_maya","schema_version":"1.0.0","name":"Origin_move_like_maya (Press D)","version":"1.4.0","tagline":"Move pivot independently with snapping and gizmo like maya","archive_hash":"sha256:5e718aa81233aba65fd1aa186cb1588d551da1b21509fa373d75f11e29c17534","archive_size":3563,"archive_url":"https://extensions.blender.org/download/sha256:5e718aa81233aba65fd1aa186cb1588d551da1b21509fa373d75f11e29c17534/add-on-origin-move-like-maya-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/origin-move-like-maya/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"printing_helper","schema_version":"1.0.0","name":"Printing Helper","version":"0.1.2","tagline":"Set the resolution required for printing more simply","archive_hash":"sha256:3c3a5ea8c40c1cf91c3102b5c7d690ef8ae38a6a562daf4f2200574c2faabeae","archive_size":12655,"archive_url":"https://extensions.blender.org/download/sha256:3c3a5ea8c40c1cf91c3102b5c7d690ef8ae38a6a562daf4f2200574c2faabeae/add-on-printing-helper-v0.1.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/printing-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Camera"]},{"id":"bh_smart_sym","schema_version":"1.0.0","name":"BH Smart Sym","version":"0.9.0","tagline":"Interactive 3D arrows for quick face symmetrize","archive_hash":"sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34","archive_size":5272,"archive_url":"https://extensions.blender.org/download/sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34/add-on-bh-smart-sym-v0.9.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bh-smart-sym/","maintainer":"bogatyr4ik","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"camera_aspect_ratio_guides","schema_version":"1.0.0","name":"Camera Aspect Ratio Guides","version":"2.0.0","tagline":"Professional composition guides with safe areas","archive_hash":"sha256:50bae340eccf1df4cc77e0a2667e08f8ba9f7c894fce9c5854e0f0dd5b29c394","archive_size":11678,"archive_url":"https://extensions.blender.org/download/sha256:50bae340eccf1df4cc77e0a2667e08f8ba9f7c894fce9c5854e0f0dd5b29c394/add-on-camera-aspect-ratio-guides-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.5.0","website":"https://extensions.blender.org/add-ons/camera-aspect-ratio-guides/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Modify compositor nodes for render burn-in"},"tags":["Camera","Render","Compositing"]},{"id":"theme_GoldExperience","schema_version":"1.0.0","name":"Gold Experience","version":"1.0.1","tagline":"A theme if you really like yellow","archive_hash":"sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb/theme-theme-goldexperience-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-goldexperience/","maintainer":"lonku","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"catppucin4blender","schema_version":"1.0.0","name":"Catppuccin Theme","version":"5.1.5","tagline":"Catppuccin for Blender","archive_hash":"sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875","archive_size":7103,"archive_url":"https://extensions.blender.org/download/sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875/theme-catppucin4blender-v5.1.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/catppucin4blender/","maintainer":"Albert-Bici","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark","Colorful"]},{"id":"camerafly","schema_version":"1.0.0","name":"Camerafly","version":"2.1.3","tagline":"Fly around with the Dolly Rig of the Camera Rigs Addon","archive_hash":"sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d","archive_size":23698,"archive_url":"https://extensions.blender.org/download/sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d/add-on-camerafly-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camerafly/","maintainer":"MichaelSchieber","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"face_angle_analyzer","schema_version":"1.0.0","name":"Face Angle Analyzer","version":"8.9.4","tagline":"Measure and visualize face angles against global axes","archive_hash":"sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0","archive_size":6292,"archive_url":"https://extensions.blender.org/download/sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0/add-on-face-angle-analyzer-v8.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-angle-analyzer/","maintainer":"Astralis","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"rigi_all","schema_version":"1.0.0","name":"Rigi-All","version":"1.5.2","tagline":"Speeds up the Rigify process","archive_hash":"sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17","archive_size":31809,"archive_url":"https://extensions.blender.org/download/sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17/add-on-rigi-all-v1.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigi-all/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Quick_Asset_Saver","schema_version":"1.0.0","name":"Quick Asset Manager","version":"2.0.3","tagline":"Quickly Create, Edit, Organize, or Delete your local asset files","archive_hash":"sha256:34196edd29b75d18cca2c3cd001fa751781314ee608d025ef702669cee0b5973","archive_size":66307,"archive_url":"https://extensions.blender.org/download/sha256:34196edd29b75d18cca2c3cd001fa751781314ee608d025ef702669cee0b5973/add-on-quick-asset-saver-v2.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-asset-saver/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To read and write to asset library directories"},"tags":["User Interface","System"]},{"id":"bone_widget","schema_version":"1.0.0","name":"Bone Widget","version":"2.3.3","tagline":"Easily Create Bone Widgets","archive_hash":"sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970","archive_size":293994,"archive_url":"https://extensions.blender.org/download/sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970/add-on-bone-widget-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-widget/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export json and image files from/to disk"},"tags":["Rigging"]},{"id":"Bone_Animation_Copy_Tool","schema_version":"1.0.0","name":"Bone Animation Copy Tool","version":"1.1.5","tagline":"Copy animation between armatures using bone constraints","archive_hash":"sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2","archive_size":9772,"archive_url":"https://extensions.blender.org/download/sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2/add-on-bone-animation-copy-tool-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-animation-copy-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"orbiter","schema_version":"1.0.0","name":"Orbiter","version":"1.1.0","tagline":"Orbit around objects in the viewport","archive_hash":"sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a","archive_size":3393,"archive_url":"https://extensions.blender.org/download/sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a/add-on-orbiter-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orbiter/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"spline_generator","schema_version":"1.0.0","name":"Spline Generator","version":"1.0.3","tagline":"Generate parametric spline","archive_hash":"sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145","archive_size":8307,"archive_url":"https://extensions.blender.org/download/sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145/add-on-spline-generator-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spline-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Add Curve"]},{"id":"beautiful_dream","schema_version":"1.0.0","name":"Beautiful Dream","version":"1.0.4","tagline":"This is a variant of Whispering Ripples","archive_hash":"sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96","archive_size":5810,"archive_url":"https://extensions.blender.org/download/sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96/theme-beautiful-dream-v1.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/beautiful-dream/","maintainer":"KBS-DEV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"graph_generator","schema_version":"1.0.0","name":"Graph Generator","version":"1.2.2","tagline":"Generate graph between saved keyframes","archive_hash":"sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4","archive_size":9526,"archive_url":"https://extensions.blender.org/download/sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4/add-on-graph-generator-v1.2.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/graph-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"wisteria","schema_version":"1.0.0","name":"Wisteria","version":"1.0.1","tagline":"Gray with hints of purple","archive_hash":"sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915","archive_size":5690,"archive_url":"https://extensions.blender.org/download/sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915/theme-wisteria-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/wisteria/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"trajectory_anim","schema_version":"1.0.0","name":"Trajectory Anim","version":"1.2.1","tagline":"Animate quickly by drawing trajectory line","archive_hash":"sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d","archive_size":43987,"archive_url":"https://extensions.blender.org/download/sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d/add-on-trajectory-anim-v1.2.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/trajectory-anim/","maintainer":"trisnox","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Analysis_Toolkit","schema_version":"1.0.0","name":"Analysis Toolkit","version":"1.0.1","tagline":"Measurement calculations, illuminance, distance, speed, and more","archive_hash":"sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823","archive_size":25910,"archive_url":"https://extensions.blender.org/download/sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823/add-on-analysis-toolkit-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/analysis-toolkit/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Lighting"]},{"id":"ns_toolkit_mesh_cleanup_pro","schema_version":"1.0.0","name":"NS Toolkit - Mesh Cleanup Pro","version":"1.0.1","tagline":"Professional mesh cleanup with topology visualization tools","archive_hash":"sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e","archive_size":9410,"archive_url":"https://extensions.blender.org/download/sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e/add-on-ns-toolkit-mesh-cleanup-pro-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ns-toolkit-mesh-cleanup-pro/","maintainer":"nandur","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"OLED","schema_version":"1.0.0","name":"OLED","version":"1.0.0","tagline":"OLED theme for Blender","archive_hash":"sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee/theme-oled-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/oled/","maintainer":"NARZ","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"CYNexusLX490","schema_version":"1.0.0","name":"CyanoNexus LX490","version":"1.0.1","tagline":"Stellar-grade Blender theme – tri-spectrum of CyanoNexus LX490","archive_hash":"sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9","archive_size":6218,"archive_url":"https://extensions.blender.org/download/sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9/theme-cynexuslx490-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cynexuslx490/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"editorbar","schema_version":"1.0.0","name":"EditorBar","version":"0.4.7","tagline":"Turn Outliner & Properties editors into a toggleable sidebar","archive_hash":"sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a","archive_size":24251,"archive_url":"https://extensions.blender.org/download/sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a/add-on-editorbar-v0.4.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/editorbar/","maintainer":"atetraxx","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"manage_file_paths","schema_version":"1.0.0","name":"Manage File Paths","version":"1.0.1","tagline":"A list of image file paths with indicators for missing files","archive_hash":"sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906","archive_size":3273,"archive_url":"https://extensions.blender.org/download/sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906/add-on-manage-file-paths-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/manage-file-paths/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check if image files exist on disk"},"tags":["Material","System"]},{"id":"matcolex","schema_version":"1.0.0","name":"MatColeX","version":"1.7.8","tagline":"Collect, Organize, and Apply Shaders from Your 3D View","archive_hash":"sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5","archive_size":9589,"archive_url":"https://extensions.blender.org/download/sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5/add-on-matcolex-v1.7.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matcolex/","maintainer":"budijozz","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","3D View","Modeling"]},{"id":"wfc_3d_generator","schema_version":"1.0.0","name":"WFC 3D Generator","version":"1.3.8","tagline":"Simple WFC 3D generator for procedural creation of objects","archive_hash":"sha256:2bcf439320138f409932ef702a986c28a8cba0acb9a32c0e4ab60f0c2e5d0ff9","archive_size":68017,"archive_url":"https://extensions.blender.org/download/sha256:2bcf439320138f409932ef702a986c28a8cba0acb9a32c0e4ab60f0c2e5d0ff9/add-on-wfc-3d-generator-v1.3.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wfc-3d-generator/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export constraints (JSON) from/to disk"},"tags":["Object","Modeling","Render","Game Engine"]},{"id":"blender_dark_aero_theme","schema_version":"1.0.0","name":"Dark Aero","version":"1.0.0","tagline":"This is a Dark Aero Theme for Blender","archive_hash":"sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca","archive_size":7696,"archive_url":"https://extensions.blender.org/download/sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca/theme-blender-dark-aero-theme-v1.0.0.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blender-dark-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"nurbs2mesh","schema_version":"1.0.0","name":"NURBS2Mesh","version":"1.0.3","tagline":"Auto-updating mesh copies from NURBS/Curves","archive_hash":"sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35","archive_size":9718,"archive_url":"https://extensions.blender.org/download/sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35/add-on-nurbs2mesh-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nurbs2mesh/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"curve_generator","schema_version":"1.0.0","name":"Curve Generator","version":"1.2.1","tagline":"Generate float curves","archive_hash":"sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac","archive_size":6289,"archive_url":"https://extensions.blender.org/download/sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac/add-on-curve-generator-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Add Curve"]},{"id":"true_roboanimator","schema_version":"1.0.0","name":"True RoboAnimator","version":"1.0.1","tagline":"Robot motion to wheel RPM with CSV export","archive_hash":"sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606","archive_size":18055,"archive_url":"https://extensions.blender.org/download/sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606/add-on-true-roboanimator-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/true-roboanimator/","maintainer":"danyal-sarfraz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write CSV and animation data files"}},{"id":"MaterialHelper","schema_version":"1.0.0","name":"MaterialHelper","version":"1.4.7","tagline":"Make local asset manager your place to create powerful materials","archive_hash":"sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d","archive_size":3927318,"archive_url":"https://extensions.blender.org/download/sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d/add-on-materialhelper-v1.4.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/materialhelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load preview material file/Access and modify asset catalog file"},"tags":["3D View","Material"]},{"id":"lutiy_timeline","schema_version":"1.0.0","name":"Lutiy Timeline","version":"1.0.1","tagline":"Save and switch between camera frame range","archive_hash":"sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb","archive_size":3790,"archive_url":"https://extensions.blender.org/download/sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb/add-on-lutiy-timeline-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lutiy-timeline/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load preset configurations"},"tags":["Animation","Camera","Scene"]},{"id":"py_btn_box","schema_version":"1.0.0","name":"PyBtnBox","version":"5.1.0","tagline":"Use Button To Execute Script","archive_hash":"sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf","archive_size":14035,"archive_url":"https://extensions.blender.org/download/sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf/add-on-py-btn-box-v5.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/py-btn-box/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Need to sync button data from python/json files and folder"},"tags":["System"]},{"id":"mesh_attribute_utils","schema_version":"1.0.0","name":"Mesh Attribute Utils","version":"0.2.0","tagline":"Easily view and edit custom mesh attributes","archive_hash":"sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211","archive_size":8347,"archive_url":"https://extensions.blender.org/download/sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211/add-on-mesh-attribute-utils-v0.2.0.zip","type":"add-on","blender_version_min":"4.5.3","website":"https://extensions.blender.org/add-ons/mesh-attribute-utils/","maintainer":"Hannah-Pascal-Noël","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"theme_updater","schema_version":"1.0.0","name":"Theme Updater","version":"1.0.0","tagline":"Update themes from 4.5 LTS to 5.0","archive_hash":"sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21","archive_size":5066,"archive_url":"https://extensions.blender.org/download/sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21/add-on-theme-updater-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/theme-updater/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"rotor","schema_version":"1.0.0","name":"rotor","version":"1.3.2","tagline":"rotor","archive_hash":"sha256:93688a3f41cadaf2dd61a8e3a442963482ca64c95f3bf303e041f622a54a46c4","archive_size":42300,"archive_url":"https://extensions.blender.org/download/sha256:93688a3f41cadaf2dd61a8e3a442963482ca64c95f3bf303e041f622a54a46c4/add-on-rotor-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rotor/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"Blockout","schema_version":"1.0.0","name":"Blockout","version":"1.4.3","tagline":"Blockout","archive_hash":"sha256:2a650c065c8f05af553a28b771eab17054a455f86f638a0569aa38e39210bd48","archive_size":147684,"archive_url":"https://extensions.blender.org/download/sha256:2a650c065c8f05af553a28b771eab17054a455f86f638a0569aa38e39210bd48/add-on-blockout-v1.4.3.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blockout/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing node group from disk"},"tags":["Modeling","3D View","Mesh"]},{"id":"geo_bake_batch","schema_version":"1.0.0","name":"Geo Bake Batch","version":"0.0.1","tagline":"Batch tools for Geometry Nodes baking","archive_hash":"sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39","archive_size":2570,"archive_url":"https://extensions.blender.org/download/sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39/add-on-geo-bake-batch-v0.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geo-bake-batch/","maintainer":"Artyom-Pankratov","license":["SPDX:GPL-3.0-or-later"]},{"id":"collection_switcher","schema_version":"1.0.0","name":"Collection Switcher","version":"1.4.0","tagline":"Switch visibility between sub-collections in switchers","archive_hash":"sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9","archive_size":1124111,"archive_url":"https://extensions.blender.org/download/sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9/add-on-collection-switcher-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-switcher/","maintainer":"Valentin-Komkov","license":["SPDX:GPL-3.0-or-later"]},{"id":"stb_section_toolbox","schema_version":"1.0.0","name":"Section Toolbox","version":"0.0.2","tagline":"Parametric section box and planar cuts with SVG DXF export","archive_hash":"sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7","archive_size":30173,"archive_url":"https://extensions.blender.org/download/sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7/add-on-stb-section-toolbox-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stb-section-toolbox/","maintainer":"Victor-Calixto","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG and DXF to disk"},"tags":["Modeling","Mesh","Import-Export","Object"]},{"id":"uv_maps_plus","schema_version":"1.0.0","name":"UV Maps+","version":"2026.1.2","tagline":"Reorder UV Maps, Copy/Paste UVs, and exceed the 8-map limit","archive_hash":"sha256:a85d5e6b619544489c39c0b6208a5012907877f0a8c71931d5f9bae813e0e318","archive_size":18036,"archive_url":"https://extensions.blender.org/download/sha256:a85d5e6b619544489c39c0b6208a5012907877f0a8c71931d5f9bae813e0e318/add-on-uv-maps-plus-v2026.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-maps-plus/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","User Interface"]},{"id":"parallax_node","schema_version":"1.0.0","name":"Parallax Node","version":"1.1.1","tagline":"Adds parallax node for shader nodes","archive_hash":"sha256:a2830f8614b8e3ee6d7bcc882eb2a8d3208f069b64dec3d7cfbc9f73dd4a100f","archive_size":12064,"archive_url":"https://extensions.blender.org/download/sha256:a2830f8614b8e3ee6d7bcc882eb2a8d3208f069b64dec3d7cfbc9f73dd4a100f/add-on-parallax-node-v1.1.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/parallax-node/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"easy_driver","schema_version":"1.0.0","name":"Easy Driver","version":"1.5.7","tagline":"Technical rigging made easier","archive_hash":"sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e","archive_size":41557,"archive_url":"https://extensions.blender.org/download/sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e/add-on-easy-driver-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/easy-driver/","maintainer":"NeoEmberArt","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"hifi_builder","schema_version":"1.0.0","name":"HiFi Architecture Builder v3.9.5","version":"3.9.5","tagline":"One-click architecture builder for Blender with all units","archive_hash":"sha256:04e59d6f87d7108a1ec1dc942f673d481a7201995aa3dd1705b16059d932b7f5","archive_size":54945,"archive_url":"https://extensions.blender.org/download/sha256:04e59d6f87d7108a1ec1dc942f673d481a7201995aa3dd1705b16059d932b7f5/add-on-hifi-builder-v3.9.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hifi-builder/","maintainer":"Malik-Nomi","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling"]},{"id":"secondary_language","schema_version":"1.0.0","name":"Secondary Language","version":"1.1.0","tagline":"Quickly switch to secondary language","archive_hash":"sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049","archive_size":3939,"archive_url":"https://extensions.blender.org/download/sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049/add-on-secondary-language-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/secondary-language/","maintainer":"mdlt7z","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"driver_helper","schema_version":"1.0.0","name":"DriverHelper","version":"1.0.1","tagline":"Helps generate driver formulas in the Shape Keys panel","archive_hash":"sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149","archive_size":2152,"archive_url":"https://extensions.blender.org/download/sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149/add-on-driver-helper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/driver-helper/","maintainer":"Zakmen150","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"NieR_Automata","schema_version":"1.0.0","name":"YorHa - Operator","version":"1.1.0","tagline":"A Dark Version Of Nier Automata Ui inspired by YorHa-Operator","archive_hash":"sha256:37142058b557023d2d7bd00556c7ddaa53effadc124d7a8576a76383b98c39a1","archive_size":5484,"archive_url":"https://extensions.blender.org/download/sha256:37142058b557023d2d7bd00556c7ddaa53effadc124d7a8576a76383b98c39a1/theme-nier-automata-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nier-automata/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"layer_comp","schema_version":"1.0.0","name":"LayerComp","version":"1.1.2","tagline":"Layer-based compositing tool, similar to After Effects","archive_hash":"sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6","archive_size":580509,"archive_url":"https://extensions.blender.org/download/sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6/add-on-layer-comp-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/layer-comp/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Blend file from/to disk"},"tags":["Compositing","Node","Render"]},{"id":"select_123","schema_version":"1.0.0","name":"123 Select","version":"1.0.0","tagline":"Switch vertex edge face in Object Mode","archive_hash":"sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69","archive_size":2138,"archive_url":"https://extensions.blender.org/download/sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69/add-on-select-123-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-123/","maintainer":"Fisch_Tu","license":["SPDX:GPL-3.0-or-later"]},{"id":"ramp_generator","schema_version":"1.0.0","name":"Ramp Generator","version":"1.4.3","tagline":"Generate color ramps","archive_hash":"sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c","archive_size":3932,"archive_url":"https://extensions.blender.org/download/sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c/add-on-ramp-generator-v1.4.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ramp-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Compositing"]},{"id":"Timelapse_extension","schema_version":"1.0.0","name":"Timelapse","version":"1.0.1","tagline":"Take timed screenshots inside Blender","archive_hash":"sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1","archive_size":3049,"archive_url":"https://extensions.blender.org/download/sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1/add-on-timelapse-extension-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/timelapse-extension/","maintainer":"Silky-Renders","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export png/jpeg to disk"},"tags":["System"]},{"id":"blender_frutiger_aero_theme","schema_version":"1.0.0","name":"Frutiger Aero","version":"1.1.3","tagline":"This is a Frutiger Aero Theme for Blender","archive_hash":"sha256:55211f98e8097958a59f34af945f4a16ce490025f4b50c8edf939aa53b009f11","archive_size":6989,"archive_url":"https://extensions.blender.org/download/sha256:55211f98e8097958a59f34af945f4a16ce490025f4b50c8edf939aa53b009f11/theme-blender-frutiger-aero-theme-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blender-frutiger-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"markcam","schema_version":"1.0.0","name":"MarkCam","version":"2.5.0","tagline":"Quick camera-from-view + timeline marker tools","archive_hash":"sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd","archive_size":6762,"archive_url":"https://extensions.blender.org/download/sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd/add-on-markcam-v2.5.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/markcam/","maintainer":"SomRender","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation"]},{"id":"Work_n_rose","schema_version":"1.0.0","name":"Work_n_rose","version":"1.4.0","tagline":"Dark, High Contrast","archive_hash":"sha256:6b114a012d21ae7b78d93ef3739a27a9a972bb94f93564985f11c0b5d25d0a55","archive_size":6213,"archive_url":"https://extensions.blender.org/download/sha256:6b114a012d21ae7b78d93ef3739a27a9a972bb94f93564985f11c0b5d25d0a55/theme-work-n-rose-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/work-n-rose/","maintainer":"Nois3G4te","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"stroke_material_display","schema_version":"1.0.0","name":"Stroke Material Display","version":"1.0.1","tagline":"Display material names of selected Grease Pencil strokes","archive_hash":"sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317","archive_size":3088,"archive_url":"https://extensions.blender.org/download/sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317/add-on-stroke-material-display-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/stroke-material-display/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"spa_sequencer","schema_version":"1.0.0","name":"SPArk Sequencer","version":"0.1.5","tagline":"Toolset to improve the sequence workflow in Blender","archive_hash":"sha256:88aa56f648c4ec06cf6b51267dcd4c274b041bdf364442abd5485c946084c85d","archive_size":75534,"archive_url":"https://extensions.blender.org/download/sha256:88aa56f648c4ec06cf6b51267dcd4c274b041bdf364442abd5485c946084c85d/add-on-spa-sequencer-v0.1.5.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/spa-sequencer/","maintainer":"TinyNick","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"compositor_file_output_replacer","schema_version":"1.0.0","name":"Compositor File Output Replacer","version":"1.3.0","tagline":"Find and replace text in File Output node paths","archive_hash":"sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757","archive_size":3158,"archive_url":"https://extensions.blender.org/download/sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757/add-on-compositor-file-output-replacer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/compositor-file-output-replacer/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Node"]},{"id":"miunau_slcamera","schema_version":"1.0.0","name":"Second Life-style camera","version":"1.0.2","tagline":"Second Life-style camera with ALT (option)/CTRL/SHIFT keys","archive_hash":"sha256:ebc33cc835623c83d842b794ae114d9efcfb4f99575672b7f1df948f0acbc1ca","archive_size":18594,"archive_url":"https://extensions.blender.org/download/sha256:ebc33cc835623c83d842b794ae114d9efcfb4f99575672b7f1df948f0acbc1ca/add-on-miunau-slcamera-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/miunau-slcamera/","maintainer":"miunau","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"blue_archive_theme","schema_version":"1.0.0","name":"Blue Archive","version":"1.2.1","tagline":"Theme inspired by Blue Archive game UI","archive_hash":"sha256:b8049642276b5da71a498c9433a46b628ec154b050fa27c5e06fe6236b0f1b31","archive_size":5159,"archive_url":"https://extensions.blender.org/download/sha256:b8049642276b5da71a498c9433a46b628ec154b050fa27c5e06fe6236b0f1b31/theme-blue-archive-theme-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blue-archive-theme/","maintainer":"RAZUMNO","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Inspired By"]},{"id":"toolhub","schema_version":"1.0.0","name":"Tool Hub","version":"1.0.2","tagline":"This add-on searches and pins in a pie-menu","archive_hash":"sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2","archive_size":26285,"archive_url":"https://extensions.blender.org/download/sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2/add-on-toolhub-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toolhub/","maintainer":"Mr.Bir","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"use_for_rendering_plus","schema_version":"1.0.0","name":"View Layer Plus","version":"1.2.4","tagline":"Seamlessly extend View Layers management","archive_hash":"sha256:f0c22a4139cf68d84420aaf2184861de214d00acbf1ddf5c75889428cab34d75","archive_size":63213,"archive_url":"https://extensions.blender.org/download/sha256:f0c22a4139cf68d84420aaf2184861de214d00acbf1ddf5c75889428cab34d75/add-on-use-for-rendering-plus-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/use-for-rendering-plus/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","User Interface"]},{"id":"essential_brush_saver","schema_version":"1.0.0","name":"Essential Brush Saver","version":"1.1.3","tagline":"Automatically save and load essential brush settings","archive_hash":"sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0","archive_size":6069,"archive_url":"https://extensions.blender.org/download/sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0/add-on-essential-brush-saver-v1.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/essential-brush-saver/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load configuration data JSON file to/from disk"},"tags":["Paint","Sculpt","System"]},{"id":"SHIRAKUMO_rectangle_tools","schema_version":"1.0.0","name":"Rectangle Tools","version":"1.0.2","tagline":"Tools to more easily draw rectangles in edit mode","archive_hash":"sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b","archive_size":7349,"archive_url":"https://extensions.blender.org/download/sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b/add-on-shirakumo-rectangle-tools-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-rectangle-tools/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"tags":["Modeling"]},{"id":"bake_instance_animation","schema_version":"1.0.0","name":"Bake Instance Animation (烘焙几何节点实例动画)","version":"1.0.3","tagline":"Bake geometry nodes instance animation to keyframe animation","archive_hash":"sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4","archive_size":8497,"archive_url":"https://extensions.blender.org/download/sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4/add-on-bake-instance-animation-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-instance-animation/","maintainer":"ChyiZ_","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"Candymouse","schema_version":"1.0.0","name":"Candymouse","version":"1.1.0","tagline":"A neutral grey theme with colorful accents","archive_hash":"sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a","archive_size":5785,"archive_url":"https://extensions.blender.org/download/sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a/theme-candymouse-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/candymouse/","maintainer":"milomouse","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"shiva_img2mat","schema_version":"1.0.0","name":"Image to Mat","version":"1.0.0","tagline":"Generate material from image","archive_hash":"sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8","archive_size":3150,"archive_url":"https://extensions.blender.org/download/sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8/add-on-shiva-img2mat-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shiva-img2mat/","maintainer":"SHIVA","license":["SPDX:GPL-3.0-or-later"]},{"id":"easy_tree","schema_version":"1.0.0","name":"Easy Tree","version":"1.0.1","tagline":"Create one-click procedural trees","archive_hash":"sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff","archive_size":17712727,"archive_url":"https://extensions.blender.org/download/sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff/add-on-easy-tree-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/easy-tree/","maintainer":"Jacob-Johnston","license":["SPDX:GPL-3.0-or-later"]},{"id":"wheel_o_matic","schema_version":"1.0.0","name":"Wheel-O-Matic","version":"1.0.2","tagline":"Automatic wheel rotation in any direction","archive_hash":"sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db","archive_size":20178,"archive_url":"https://extensions.blender.org/download/sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db/add-on-wheel-o-matic-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wheel-o-matic/","maintainer":"TechArtToolBox","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"blender_game_tools","schema_version":"1.0.0","name":"Game Tools","version":"0.3.2","tagline":"Game Tools","archive_hash":"sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e","archive_size":249307,"archive_url":"https://extensions.blender.org/download/sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e/add-on-blender-game-tools-v0.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-game-tools/","maintainer":"Cremuss","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","UV","Mesh","Pipeline"]},{"id":"keyframe_selected","schema_version":"1.0.0","name":"Keyframe selected","version":"1.3.2","tagline":"Insert or delete keyframes on selected items","archive_hash":"sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b","archive_size":5942,"archive_url":"https://extensions.blender.org/download/sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b/add-on-keyframe-selected-v1.3.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/keyframe-selected/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"i32_the_mandelbrot_set","schema_version":"1.0.0","name":"i32 the Mandelbrot Set","version":"1.0.2","tagline":"The Mandelbrot set using only Integer Math and Bit Math Nodes","archive_hash":"sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540","archive_size":43557,"archive_url":"https://extensions.blender.org/download/sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540/add-on-i32-the-mandelbrot-set-v1.0.2.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/i32-the-mandelbrot-set/","maintainer":"Osipenkov+Art","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes"]},{"id":"node_tree_screenshot","schema_version":"1.0.0","name":"Node Tree Screenshot","version":"1.1.0","tagline":"Screenshot utility for large node trees","archive_hash":"sha256:5dfd72b1c8d52f58a1515e1fe709cdeed85b39b109de3730acbdc9c0c8a00242","archive_size":18742705,"archive_url":"https://extensions.blender.org/download/sha256:5dfd72b1c8d52f58a1515e1fe709cdeed85b39b109de3730acbdc9c0c8a00242/add-on-node-tree-screenshot-v1.1.0-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/node-tree-screenshot/","maintainer":"LukasTönne","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Node"]},{"id":"auto_sync_object_data_names","schema_version":"1.0.0","name":"Auto Sync Object Data Names","version":"1.0.0","tagline":"Automatically sync object and data names","archive_hash":"sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab","archive_size":19044,"archive_url":"https://extensions.blender.org/download/sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab/add-on-auto-sync-object-data-names-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sync-object-data-names/","maintainer":"GeeDoubleU","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Pipeline"]},{"id":"Tracker2Nuke","schema_version":"1.0.0","name":"Tracker to Nuke","version":"1.1.0","tagline":"Instantly export Blender tracking data to a Nuke Tracker node","archive_hash":"sha256:b937c0ddfdd9cdea2e22332b540bd2bf7dbd9bd3a9b6dcb2366930a73818029d","archive_size":5120,"archive_url":"https://extensions.blender.org/download/sha256:b937c0ddfdd9cdea2e22332b540bd2bf7dbd9bd3a9b6dcb2366930a73818029d/add-on-tracker2nuke-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tracker2nuke/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Import-Export"]},{"id":"polychase","schema_version":"1.0.0","name":"Polychase","version":"0.0.11","tagline":"Mesh Based Motion Tracking in Blender","archive_hash":"sha256:e88a3d721646362258798a695b97c8fd5c3e2a7c6c68a7b2dbf4aa37c86a4216","archive_size":3048365,"archive_url":"https://extensions.blender.org/download/sha256:e88a3d721646362258798a695b97c8fd5c3e2a7c6c68a7b2dbf4aa37c86a4216/add-on-polychase-v0.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polychase/","maintainer":"theartful","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write optical flow database to disk"},"platforms":["windows-x64"],"tags":["Animation","Tracking"]},{"id":"Bone_Aligner","schema_version":"1.0.0","name":"Bone Aligner","version":"1.1.4","tagline":"Quickly align two bones","archive_hash":"sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8","archive_size":2841,"archive_url":"https://extensions.blender.org/download/sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8/add-on-bone-aligner-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-aligner/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"perfectly_normal","schema_version":"1.0.0","name":"Perfectly Normal","version":"0.0.2","tagline":"Manipulate face-corner normals as mesh components","archive_hash":"sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56","archive_size":159727,"archive_url":"https://extensions.blender.org/download/sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56/add-on-perfectly-normal-v0.0.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/perfectly-normal/","maintainer":"Seth-Adam-Trowbridge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset resources from/to disk"},"tags":["Mesh","Modeling","Geometry Nodes"]},{"id":"beantextures","schema_version":"1.0.0","name":"Beantextures","version":"1.1.0","tagline":"Addon to help with 2D texture-based animations","archive_hash":"sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59","archive_size":23669,"archive_url":"https://extensions.blender.org/download/sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59/add-on-beantextures-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/beantextures/","maintainer":"daringcuteseal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import image textures to generated node group"},"tags":["Animation","Node","Rigging"]},{"id":"SmartScene_Toolkit","schema_version":"1.0.0","name":"SmartScene Toolkit","version":"1.4.0","tagline":"Toolkit for smarter parent, hierarchy, mirror operations","archive_hash":"sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60","archive_size":14746,"archive_url":"https://extensions.blender.org/download/sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60/add-on-smartscene-toolkit-v1.4.0.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/smartscene-toolkit/","maintainer":"Marcus997","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Scene"]},{"id":"Blackboard_Theme","schema_version":"1.0.0","name":"Blackboard_Theme","version":"2.2.1","tagline":"Dark Monochrome","archive_hash":"sha256:391ba3ddadf28ee0f720a638b69539be56657000331ec9d8e2adde267f8d7664","archive_size":5610,"archive_url":"https://extensions.blender.org/download/sha256:391ba3ddadf28ee0f720a638b69539be56657000331ec9d8e2adde267f8d7664/theme-blackboard-theme-v2.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blackboard-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"surfacepsycho","schema_version":"1.0.0","name":"Surface Psycho","version":"0.9.4","tagline":"Precision Surface Design","archive_hash":"sha256:7fdfffc0ad4478ee55b83ed737ec0bc0cdf132c68ae42721b5e513860078b340","archive_size":57156920,"archive_url":"https://extensions.blender.org/download/sha256:7fdfffc0ad4478ee55b83ed737ec0bc0cdf132c68ae42721b5e513860078b340/add-on-surfacepsycho-v0.9.4-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/surfacepsycho/","maintainer":"RomainGuimbal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export CAD files"},"platforms":["windows-x64"],"tags":["Modeling","Import-Export","Geometry Nodes","Add Curve"]},{"id":"sync_material_viewport_color","schema_version":"1.0.0","name":"Sync Material Viewport Color","version":"1.0.2","tagline":"Sets diffuse color, metallic and roughness for viewport display","archive_hash":"sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9","archive_size":7318,"archive_url":"https://extensions.blender.org/download/sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9/add-on-sync-material-viewport-color-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-material-viewport-color/","maintainer":"Qiu-Feng","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Material"]},{"id":"Dim_Fog","schema_version":"1.0.0","name":"Dim Fog","version":"2.0.0","tagline":"Moody & Cozy theme","archive_hash":"sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c","archive_size":5195,"archive_url":"https://extensions.blender.org/download/sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c/theme-dim-fog-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dim-fog/","maintainer":"huleeb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"ccnc_animation_objects","schema_version":"1.0.0","name":"CCNCAnimationObjects","version":"1.2.3","tagline":"CNC simulation object editor with camera and spark effects","archive_hash":"sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82","archive_size":85342,"archive_url":"https://extensions.blender.org/download/sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82/add-on-ccnc-animation-objects-v1.2.3.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/ccnc-animation-objects/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export CSV files"},"tags":["Modeling","Animation","Camera"]},{"id":"VCS","schema_version":"1.0.0","name":"Vertex Color Selector","version":"1.0.9","tagline":"VertexColor Select tool","archive_hash":"sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4","archive_size":8745,"archive_url":"https://extensions.blender.org/download/sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4/add-on-vcs-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vcs/","maintainer":"D31","license":["SPDX:GPL-3.0-or-later"]},{"id":"script_manager_pro","schema_version":"1.0.0","name":"Script Manager Pro","version":"0.0.3","tagline":"Manage and run Python scripts with one-click access","archive_hash":"sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff","archive_size":3129,"archive_url":"https://extensions.blender.org/download/sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff/add-on-script-manager-pro-v0.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/script-manager-pro/","maintainer":"CemilBerk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reads and writes script metadata to a JSON file"}},{"id":"anim_auto_offset","schema_version":"1.0.0","name":"Animation Auto Offset","version":"1.1.1","tagline":"Update all keyframes relatively on transform changes","archive_hash":"sha256:bd79f5e2717de579efa6c10576ea05f847b48a16798a80ffb7e89418431a3a73","archive_size":14867,"archive_url":"https://extensions.blender.org/download/sha256:bd79f5e2717de579efa6c10576ea05f847b48a16798a80ffb7e89418431a3a73/add-on-anim-auto-offset-v1.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-auto-offset/","maintainer":"Marek-Zając","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"auto_wrinkle_map","schema_version":"1.0.0","name":"Auto Wrinkle Map","version":"0.0.7","tagline":"Helps you to create wrinkle maps driven from bones in one click","archive_hash":"sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a","archive_size":10763,"archive_url":"https://extensions.blender.org/download/sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a/add-on-auto-wrinkle-map-v0.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/auto-wrinkle-map/","maintainer":"Hattiffnat","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Material","Node","Animation"]},{"id":"node_void_keeper","schema_version":"1.0.0","name":"NodeVoidKeeper","version":"1.0.1","tagline":"Keeps your nodes centered at the origin, so you can't lose them","archive_hash":"sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d","archive_size":15610,"archive_url":"https://extensions.blender.org/download/sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d/add-on-node-void-keeper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-void-keeper/","maintainer":"MagnumVD","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"autocam","schema_version":"1.0.0","name":"AutoCam","version":"2.0.6","tagline":"Intuitive camera tools, built for artists","archive_hash":"sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132","archive_size":67410,"archive_url":"https://extensions.blender.org/download/sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132/add-on-autocam-v2.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autocam/","maintainer":"RenderRides","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation","Rigging","Render","Add Curve"]},{"id":"mass_keyframe","schema_version":"1.0.0","name":"Mass Keyframe","version":"1.1.0","tagline":"Keyframe properties better","archive_hash":"sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506","archive_size":426822,"archive_url":"https://extensions.blender.org/download/sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506/add-on-mass-keyframe-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mass-keyframe/","maintainer":"StratosDerg","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"additional_batch_rename","schema_version":"1.0.0","name":"Additional Batch Rename","version":"1.1.1","tagline":"Additional batch rename operators","archive_hash":"sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11","archive_size":15993,"archive_url":"https://extensions.blender.org/download/sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11/add-on-additional-batch-rename-v1.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/additional-batch-rename/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Object"]},{"id":"proceduraltiles","schema_version":"1.0.0","name":"Procedural Tiles","version":"0.0.4","tagline":"A library of shader nodes. +100 NEW NODES","archive_hash":"sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30","archive_size":4261663,"archive_url":"https://extensions.blender.org/download/sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30/add-on-proceduraltiles-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/proceduraltiles/","maintainer":"Aisun-Tang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Material"]},{"id":"simple_gcode_importer","schema_version":"1.0.0","name":"Simple Gcode Importer","version":"1.1.1","tagline":"Import Gcode to blender as paths","archive_hash":"sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29","archive_size":2397,"archive_url":"https://extensions.blender.org/download/sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29/add-on-simple-gcode-importer-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-gcode-importer/","maintainer":"kmnunley","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"controller_link","schema_version":"1.0.0","name":"Controller Link","version":"1.0.1","tagline":"Use a gamepad as input","archive_hash":"sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f","archive_size":16281033,"archive_url":"https://extensions.blender.org/download/sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f/add-on-controller-link-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/controller-link/","maintainer":"globglob3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"glare_node_controller","schema_version":"1.0.0","name":"Glare Node Controller","version":"2.3.3","tagline":"panel to control Glare","archive_hash":"sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68","archive_size":3563,"archive_url":"https://extensions.blender.org/download/sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68/add-on-glare-node-controller-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/glare-node-controller/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Render"]},{"id":"dragonff","schema_version":"1.0.0","name":"DragonFF","version":"1.1.0","tagline":"Add-on to edit RenderWare Formats (.dff, .txd, .col)","archive_hash":"sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e","archive_size":225580,"archive_url":"https://extensions.blender.org/download/sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e/add-on-dragonff-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragonff/","maintainer":"Parik","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export DFF/TXD/COL/IPL/IDE from/to disk"},"tags":["Import-Export","3D View","Mesh","Material"]},{"id":"maya_pivot","schema_version":"1.0.0","name":"Maya Pivot","version":"1.0.0","tagline":"Implements a Maya-like pivot system in Blender","archive_hash":"sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2","archive_size":16036,"archive_url":"https://extensions.blender.org/download/sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2/add-on-maya-pivot-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maya-pivot/","maintainer":"Zinkenite","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"Blueprint_Paper_Theme","schema_version":"1.0.0","name":"Blueprint_Paper_Theme","version":"2.2.3","tagline":"Technical Drawing","archive_hash":"sha256:f87df359ab7de30ec42e494c4b239897936cac895fadf9b5f3c9e93385ec069b","archive_size":5715,"archive_url":"https://extensions.blender.org/download/sha256:f87df359ab7de30ec42e494c4b239897936cac895fadf9b5f3c9e93385ec069b/theme-blueprint-paper-theme-v2.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-paper-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"jiggle_physics","schema_version":"1.0.0","name":"Jiggle Physics","version":"4.5.1","tagline":"Add stretchy jiggle physics to your Blender rigs","archive_hash":"sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab","archive_size":33411,"archive_url":"https://extensions.blender.org/download/sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab/add-on-jiggle-physics-v4.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/jiggle-physics/","maintainer":"naelstrof","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paws_bakery","schema_version":"1.0.0","name":"PAWS: Bakery","version":"0.5.1","tagline":"Texture Baking tools for Game-Ready pipeline by Pawsgineer","archive_hash":"sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0","archive_size":165829,"archive_url":"https://extensions.blender.org/download/sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0/add-on-paws-bakery-v0.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paws-bakery/","maintainer":"Steve-Paws","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","Pipeline","Material"]},{"id":"MakePlanarFacesPlus","schema_version":"1.0.0","name":"Make Planar Faces Plus","version":"1.0.6","tagline":"Powerful Make Planar Faces Operator","archive_hash":"sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a","archive_size":257221,"archive_url":"https://extensions.blender.org/download/sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a/add-on-makeplanarfacesplus-v1.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/makeplanarfacesplus/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Mesh"]},{"id":"shape_key_mirror_plus","schema_version":"1.0.0","name":"Shape Key Mirror Plus","version":"1.9.0","tagline":"Mirror shape key deltas across symmetric axes","archive_hash":"sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339","archive_size":17431,"archive_url":"https://extensions.blender.org/download/sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339/add-on-shape-key-mirror-plus-v1.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-mirror-plus/","maintainer":"Ciyorie","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"terrainmixer","schema_version":"1.0.0","name":"Terrain Mixer","version":"3.1.2","tagline":"Easy to use shader-based terrain generator for Cycles","archive_hash":"sha256:2a695aac2b7966c0a64077ae76b7cfc1bfff857382250820e367a4be00852efd","archive_size":52570647,"archive_url":"https://extensions.blender.org/download/sha256:2a695aac2b7966c0a64077ae76b7cfc1bfff857382250820e367a4be00852efd/add-on-terrainmixer-v3.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/terrainmixer/","maintainer":"zets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Easily replace default image files with your own","network":"Documentation and tutorials available online"},"tags":["Add Mesh","Bake","Material"]},{"id":"Viewport_stabilizer","schema_version":"1.0.0","name":"Viewport stabilizer","version":"1.0.2","tagline":"Stabilise 3d point on your screen","archive_hash":"sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1","archive_size":5207,"archive_url":"https://extensions.blender.org/download/sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1/add-on-viewport-stabilizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-stabilizer/","maintainer":"Yaroslav_Yushk","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Tracking"]},{"id":"multiple_camera_render","schema_version":"1.0.0","name":"Multiple Camera Render","version":"4.4.0","tagline":"Sequential rendering from multiple cameras","archive_hash":"sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441","archive_size":135372,"archive_url":"https://extensions.blender.org/download/sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441/add-on-multiple-camera-render-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multiple-camera-render/","maintainer":"ivan-perevala","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Writing execution log files inside extension directory"},"tags":["Render","Animation","Camera","3D View"]},{"id":"modifer_stack_manager","schema_version":"1.0.0","name":"Modifier Stack Manager","version":"1.1.1","tagline":"A UI List implementation for Blender's modifier stack","archive_hash":"sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996","archive_size":4750,"archive_url":"https://extensions.blender.org/download/sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996/add-on-modifer-stack-manager-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifer-stack-manager/","maintainer":"salaivv","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"cloud_midnight_teal","schema_version":"1.0.0","name":"Cloud Guy's Theme","version":"1.0.3","tagline":"Custom theme made by me and a friend","archive_hash":"sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816","archive_size":5920,"archive_url":"https://extensions.blender.org/download/sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816/theme-cloud-midnight-teal-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cloud-midnight-teal/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Cad_measure_extension","schema_version":"1.0.0","name":"Cad_Dimensions","version":"2.0.0","tagline":"Extension for a new measuring system","archive_hash":"sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb","archive_size":251303,"archive_url":"https://extensions.blender.org/download/sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb/add-on-cad-measure-extension-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cad-measure-extension/","maintainer":"Mr.Nobody3d","license":["SPDX:GPL-3.0-or-later"]},{"id":"Bbrush","schema_version":"1.0.0","name":"Bbrush","version":"1.4.7","tagline":"Sculpting using only a pen and keyboard","archive_hash":"sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96","archive_size":543050,"archive_url":"https://extensions.blender.org/download/sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96/add-on-bbrush-v1.4.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bbrush/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Keymap file load, View navigation texture load"},"tags":["Sculpt"]},{"id":"geonode_to_shapekey","schema_version":"1.0.0","name":"Geonode To Shapekey","version":"1.1.0","tagline":"Convert geometry nodes to shapekeys. Useful for glTF export","archive_hash":"sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc","archive_size":5068,"archive_url":"https://extensions.blender.org/download/sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc/add-on-geonode-to-shapekey-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-to-shapekey/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes","Pipeline"]},{"id":"nocturna_theme","schema_version":"1.0.0","name":"Nocturna","version":"1.2.1","tagline":"Nocturna - A Dark Theme for Blender","archive_hash":"sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7","archive_size":5825,"archive_url":"https://extensions.blender.org/download/sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7/theme-nocturna-theme-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/nocturna-theme/","maintainer":"AlejandroSQR","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"better_bend","schema_version":"1.0.0","name":"Better Bend","version":"1.1.0","tagline":"Cinema 4D-style deformers for Blender","archive_hash":"sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91","archive_size":4729,"archive_url":"https://extensions.blender.org/download/sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91/add-on-better-bend-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/better-bend/","maintainer":"Lije.Morgan","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"capture_thumbnails_from_viewport","schema_version":"1.0.0","name":"Asset Browser: Capture Thumbnail from Viewport","version":"1.0.3","tagline":"Add new thumbnails for you asset based on the current viewport","archive_hash":"sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6","archive_size":1759,"archive_url":"https://extensions.blender.org/download/sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6/add-on-capture-thumbnails-from-viewport-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/capture-thumbnails-from-viewport/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create a .png in temp folder"},"tags":["Pipeline"]},{"id":"skin_weights_copypaster","schema_version":"1.0.0","name":"Skin Weights Copypaster","version":"0.3.3","tagline":"Copies skin weights from one vertex to selection","archive_hash":"sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3","archive_size":16850,"archive_url":"https://extensions.blender.org/download/sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3/add-on-skin-weights-copypaster-v0.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-weights-copypaster/","maintainer":"Ihor-Spasivskyi","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"MAD","schema_version":"1.0.0","name":"MAD (Microphone Audio Driver)","version":"0.1.5","tagline":"Use your Microphone as an Animation Driver in Blender","archive_hash":"sha256:3a6a47654e4a4f80eb242c10772f75d675de863217119c4010a07cb7b39dfd52","archive_size":663866,"archive_url":"https://extensions.blender.org/download/sha256:3a6a47654e4a4f80eb242c10772f75d675de863217119c4010a07cb7b39dfd52/add-on-mad-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mad/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"permissions":{"microphone":"Capture audio input for real-time animation"},"tags":["Rigging","Animation"]},{"id":"iocgpoly_lip_sync","schema_version":"1.0.0","name":"Lip Sync","version":"2.3.2","tagline":"Automatic lip sync for your Blender models","archive_hash":"sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3","archive_size":37476376,"archive_url":"https://extensions.blender.org/download/sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3/add-on-iocgpoly-lip-sync-v2.3.2-windows-x64.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/iocgpoly-lip-sync/","maintainer":"Charley3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Models / Extract libs to disk","network":"Need to download Voices Models to enable lip sync"},"platforms":["windows-x64"],"tags":["Animation","Sequencer"]},{"id":"FakeBones","schema_version":"1.0.0","name":"FakeBones","version":"1.0.7","tagline":"enhance armature visualization","archive_hash":"sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1","archive_size":4158,"archive_url":"https://extensions.blender.org/download/sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1/add-on-fakebones-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fakebones/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Steam","schema_version":"1.0.0","name":"Steam","version":"2.0.0","tagline":"Inspired by the old Steam UI. ","archive_hash":"sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98","archive_size":5570,"archive_url":"https://extensions.blender.org/download/sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98/theme-steam-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/steam/","maintainer":"ArtinŌr","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"AnimCurveSorter","schema_version":"1.0.0","name":"Anim Curve Sorter","version":"1.0.1","tagline":"Easily organise your animation curves","archive_hash":"sha256:240d33165889039d96828f22720873bddad96c602b0914929cfbd2ddca191b9f","archive_size":4902,"archive_url":"https://extensions.blender.org/download/sha256:240d33165889039d96828f22720873bddad96c602b0914929cfbd2ddca191b9f/add-on-animcurvesorter-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animcurvesorter/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ccustomnodes","schema_version":"1.0.0","name":"Object Utility Nodes","version":"1.0.3","tagline":"Custom nodes in new node editor","archive_hash":"sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec","archive_size":2710932,"archive_url":"https://extensions.blender.org/download/sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec/add-on-ccustomnodes-v1.0.3-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ccustomnodes/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save colorwheel pictures from/to temp folder"},"platforms":["windows-x64"],"tags":["Node"]},{"id":"easymesh_batch_exporter","schema_version":"1.0.0","name":"EasyMesh Batch Exporter","version":"1.5.0","tagline":"Streamlined mesh export for game development workflows","archive_hash":"sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6","archive_size":84118,"archive_url":"https://extensions.blender.org/download/sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6/add-on-easymesh-batch-exporter-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easymesh-batch-exporter/","maintainer":"spec-arte","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export mesh files to the specified directory"},"tags":["Import-Export"]},{"id":"SuperDuperBatchExporter","schema_version":"1.0.0","name":"Super Duper Batch Exporter","version":"2.7.1","tagline":"One click export to multiple files","archive_hash":"sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6","archive_size":27233,"archive_url":"https://extensions.blender.org/download/sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6/add-on-superduperbatchexporter-v2.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/superduperbatchexporter/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk & create subdirectories in output directory"},"tags":["Import-Export"]},{"id":"measure_and_scale","schema_version":"1.0.0","name":"Measure and Scale","version":"1.1.6","tagline":"Measure and Scale object uniformaly","archive_hash":"sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5","archive_size":9679,"archive_url":"https://extensions.blender.org/download/sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5/add-on-measure-and-scale-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/measure-and-scale/","maintainer":"Belaid-ZIANE","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"Enhanced_Top_Bar","schema_version":"1.0.0","name":"Enhanced Top Bar","version":"1.0.4","tagline":"Easy access to your ViewLayers rendering properties","archive_hash":"sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5","archive_size":6863,"archive_url":"https://extensions.blender.org/download/sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5/add-on-enhanced-top-bar-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/enhanced-top-bar/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Mesh2Rig","schema_version":"1.0.0","name":"Mesh2Rig","version":"2.5.0","tagline":"Transfer simulation, shape keys and other to rig animation","archive_hash":"sha256:5c8623854ee991516160767ee929f214a96e367fa416266866479d133652674a","archive_size":16675,"archive_url":"https://extensions.blender.org/download/sha256:5c8623854ee991516160767ee929f214a96e367fa416266866479d133652674a/add-on-mesh2rig-v2.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh2rig/","maintainer":"Sporenoe3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Bake","Game Engine","Pipeline"]},{"id":"Individual_Camera_Properties","schema_version":"1.0.0","name":"Individual Camera Properties","version":"0.0.6","tagline":"Resolution, Scene and Render properties for each camera instance","archive_hash":"sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1","archive_size":5858,"archive_url":"https://extensions.blender.org/download/sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1/add-on-individual-camera-properties-v0.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/individual-camera-properties/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"VSE_SRT_Subtitle_Importer_4_2_extension","schema_version":"1.0.0","name":"SRT Subtitle Importer/Exporter","version":"2.0.0","tagline":"Import/Export SRT subtitle files to/from VSE strips","archive_hash":"sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64","archive_size":7448,"archive_url":"https://extensions.blender.org/download/sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64/add-on-vse-srt-subtitle-importer-4-2-extension-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/vse-srt-subtitle-importer-4-2-extension/","maintainer":"PoYakong","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"DorchaLiath","schema_version":"1.0.0","name":"Dorcha Liath","version":"5.0.1","tagline":"Dark Grey","archive_hash":"sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d","archive_size":5206,"archive_url":"https://extensions.blender.org/download/sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d/theme-dorchaliath-v5.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dorchaliath/","maintainer":"rory-fly","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"QuickCatalogs","schema_version":"1.0.0","name":"Quick Catalogs ( Asset Browser )","version":"1.0.1","tagline":"Make Asset Catalogs from selected Collections","archive_hash":"sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4","archive_size":2298,"archive_url":"https://extensions.blender.org/download/sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4/add-on-quickcatalogs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickcatalogs/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"import_export_skin_weights","schema_version":"1.0.0","name":"Import Export Skin Weights","version":"1.0.1","tagline":"Import and export skin weights for Blender","archive_hash":"sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412","archive_size":16987,"archive_url":"https://extensions.blender.org/download/sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412/add-on-import-export-skin-weights-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-export-skin-weights/","maintainer":"Nguyen-Phuc-Nguyen","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Import-Export"]},{"id":"menace","schema_version":"1.0.0","name":"Menace","version":"2.0.0","tagline":"The official HugeMenace theme for Blender","archive_hash":"sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d","archive_size":5448,"archive_url":"https://extensions.blender.org/download/sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d/theme-menace-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/menace/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"solid_boot","schema_version":"1.0.0","name":"Solid Boot","version":"1.1.0","tagline":"3D Views loaded in Solid Mode rather Material Preview","archive_hash":"sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa","archive_size":15759,"archive_url":"https://extensions.blender.org/download/sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa/add-on-solid-boot-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/solid-boot/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"neon_nexus","schema_version":"1.0.0","name":"Neon Nexus","version":"1.3.0","tagline":"A futuristic neon theme for Blender","archive_hash":"sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a","archive_size":6154,"archive_url":"https://extensions.blender.org/download/sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a/theme-neon-nexus-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neon-nexus/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"SaveSelection","schema_version":"1.0.0","name":"Save Selection","version":"1.0.5","tagline":"Save selected objects in Blender Format","archive_hash":"sha256:615594aed9531a69fb49db5f928888886812f5ed83a63974a694a21f0e8f769e","archive_size":3694,"archive_url":"https://extensions.blender.org/download/sha256:615594aed9531a69fb49db5f928888886812f5ed83a63974a694a21f0e8f769e/add-on-saveselection-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/saveselection/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"grey_orange","schema_version":"1.0.0","name":"Grey Orange","version":"3.0.1","tagline":"Dark neutral grey theme with orange accents","archive_hash":"sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085","archive_size":6581,"archive_url":"https://extensions.blender.org/download/sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085/theme-grey-orange-v3.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/grey-orange/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neutro_Laranja","schema_version":"1.0.0","name":"Neutro Laranja","version":"2.0.0","tagline":"Light and Orange","archive_hash":"sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7","archive_size":6441,"archive_url":"https://extensions.blender.org/download/sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7/theme-neutro-laranja-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutro-laranja/","maintainer":"Push","license":["SPDX:GPL-3.0-or-later"]},{"id":"quickj","schema_version":"1.0.0","name":"Quick J ( Connect Vertex Path )","version":"1.2.0","tagline":"Quickly connect vertices under the cursor","archive_hash":"sha256:4c7a02ff221bd957d9d8be2cadf5519a2bc68adb9ca7960abb5bbe246dab1905","archive_size":2524,"archive_url":"https://extensions.blender.org/download/sha256:4c7a02ff221bd957d9d8be2cadf5519a2bc68adb9ca7960abb5bbe246dab1905/add-on-quickj-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickj/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"Batch_Material_Helper","schema_version":"1.0.0","name":"Batch Material Helper","version":"1.0.4","tagline":"Helps you quickly modify materials","archive_hash":"sha256:032f4139af08bf03b8b17b16b3ab9eeb9183fa3db1c97fc875ba29153e775688","archive_size":3408,"archive_url":"https://extensions.blender.org/download/sha256:032f4139af08bf03b8b17b16b3ab9eeb9183fa3db1c97fc875ba29153e775688/add-on-batch-material-helper-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-material-helper/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"UV_Flatten_Tool","schema_version":"1.0.0","name":"UV_Flatten_Tool","version":"1.0.7","tagline":"Flatten mesh to active UV coordinates and store as shape key","archive_hash":"sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b","archive_size":2774,"archive_url":"https://extensions.blender.org/download/sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b/add-on-uv-flatten-tool-v1.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/uv-flatten-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"fractal_family","schema_version":"1.0.0","name":"Fractal Family","version":"1.1.4","tagline":"Create fractal curves with ease using complex integer lattices","archive_hash":"sha256:47b64ab45e2f10acfcfe92bf0c2272a53a17fe6736f86246b7906a1611a3a587","archive_size":16976,"archive_url":"https://extensions.blender.org/download/sha256:47b64ab45e2f10acfcfe92bf0c2272a53a17fe6736f86246b7906a1611a3a587/add-on-fractal-family-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fractal-family/","maintainer":"imare32","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"apply_modifiers_with_shape_keys","schema_version":"1.0.0","name":"Apply modifier with shape keys","version":"1.0.4","tagline":"Applies modifiers on objects even if they have shape keys","archive_hash":"sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab","archive_size":19128,"archive_url":"https://extensions.blender.org/download/sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab/add-on-apply-modifiers-with-shape-keys-v1.0.4.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/apply-modifiers-with-shape-keys/","maintainer":"Orange Turbine","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Modeling","Rigging"]},{"id":"animation_transform_offset","schema_version":"1.0.0","name":"Animation Transform Offset","version":"1.0.0","tagline":"Transform objects and offset their animations in one go","archive_hash":"sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc","archive_size":15793,"archive_url":"https://extensions.blender.org/download/sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc/add-on-animation-transform-offset-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/animation-transform-offset/","maintainer":"softyoda","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"multi_user","schema_version":"1.0.0","name":"Multiuser","version":"0.7.0","tagline":"Enable real-time collaborative workflow inside blender","archive_hash":"sha256:41918fbcb8a0397e4aa25677c447f7dab561f03cb7cbc9223b3c2909d911289e","archive_size":3416982,"archive_url":"https://extensions.blender.org/download/sha256:41918fbcb8a0397e4aa25677c447f7dab561f03cb7cbc9223b3c2909d911289e/add-on-multi-user-v0.7.0-windows-x64.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/multi-user/","maintainer":"slumber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Need to sync scene data to server"},"platforms":["windows-x64"]},{"id":"references_overlays","schema_version":"1.0.0","name":"References Overlays","version":"2.2.8","tagline":"PureRef for Blender. You can add references in the 3D Viewport","archive_hash":"sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010","archive_size":14729,"archive_url":"https://extensions.blender.org/download/sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010/add-on-references-overlays-v2.2.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/references-overlays/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import BMP/TIFF/PNG/JPG/JPEG/GIF/MP4/WEBM from/to disk","clipboard":"Paste image from the Clipboard"},"tags":["3D View","User Interface"]},{"id":"altview","schema_version":"1.0.0","name":"AltView","version":"1.0.1","tagline":"Switch views + lock/unlock rotation","archive_hash":"sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60","archive_size":4561,"archive_url":"https://extensions.blender.org/download/sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60/add-on-altview-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/altview/","maintainer":"Iurii-Tiuzhin","license":["SPDX:GPL-3.0-or-later"]},{"id":"remove_static_fcurves","schema_version":"1.0.0","name":"Remove Static FCurves","version":"0.4.0","tagline":"Clean up animation channels that have no data","archive_hash":"sha256:3cd0f3e31abab7e43f94fe836167b818f5e9de0f62563c635abbf2da976b120d","archive_size":6729,"archive_url":"https://extensions.blender.org/download/sha256:3cd0f3e31abab7e43f94fe836167b818f5e9de0f62563c635abbf2da976b120d/add-on-remove-static-fcurves-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/remove-static-fcurves/","maintainer":"lokimckay","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paint_system","schema_version":"1.0.0","name":"Paint System","version":"2.1.7","tagline":"Addon for adding painting system to blender","archive_hash":"sha256:8e3c10e6c8b11e460d6593017d767ac21faa1f14096084bcf0c81cb202321a54","archive_size":30139531,"archive_url":"https://extensions.blender.org/download/sha256:8e3c10e6c8b11e460d6593017d767ac21faa1f14096084bcf0c81cb202321a54/add-on-paint-system-v2.1.7-linux-x64-windows-x64-macos-x64-macos-arm64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-system/","maintainer":"Tawan-Sunflower","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and saving images / detecting image editors","network":"Update donation information"},"platforms":["linux-x64","windows-x64","macos-x64","macos-arm64","windows-arm64"],"tags":["Paint"]},{"id":"pattern_collections","schema_version":"1.0.0","name":"Pattern Collections","version":"1.0.5","tagline":"Pattern-Based Collections for Blender","archive_hash":"sha256:b1b35f21b93a388be6cf9c8aeb7daf187f9671c6c938c696ed74496438e9f8fb","archive_size":1722144,"archive_url":"https://extensions.blender.org/download/sha256:b1b35f21b93a388be6cf9c8aeb7daf187f9671c6c938c696ed74496438e9f8fb/add-on-pattern-collections-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pattern-collections/","maintainer":"Martin-Lorentzon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk to provide JSON File I/O"},"tags":["Pipeline","Scene"]},{"id":"PlaceHelper","schema_version":"1.0.0","name":"Place Helper","version":"1.3.8","tagline":"Easily place objects in Blender","archive_hash":"sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16","archive_size":66786,"archive_url":"https://extensions.blender.org/download/sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16/add-on-placehelper-v1.3.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/placehelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Object"]},{"id":"headsup_warnings","schema_version":"1.0.0","name":"HeadsUp Warnings","version":"1.1.0","tagline":"Display UI warnings to avoid and resolve common mistakes","archive_hash":"sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880","archive_size":33611,"archive_url":"https://extensions.blender.org/download/sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880/add-on-headsup-warnings-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/headsup-warnings/","maintainer":"ManuelLuellau","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check filepaths to validate if Textures are missing"},"tags":["3D View","Compositing","Render"]},{"id":"unlooped","schema_version":"1.0.0","name":"Unlooped","version":"1.0.1","tagline":"Prevent Blender from looping scene playback","archive_hash":"sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4","archive_size":14253,"archive_url":"https://extensions.blender.org/download/sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4/add-on-unlooped-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/unlooped/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Blend95","schema_version":"1.0.0","name":"Blend95","version":"0.9.9","tagline":"90s, xp, old","archive_hash":"sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f","archive_size":5908,"archive_url":"https://extensions.blender.org/download/sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f/theme-blend95-v0.9.9.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/blend95/","maintainer":"romanasdf1","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Quick_Studio_Light","schema_version":"1.0.0","name":"Quick Studio Light","version":"1.1.2","tagline":"Simple and fast lighting with improved selection","archive_hash":"sha256:4fe5330d7b3d55d4b63dd5b52a210d53278022c0a45541c4f9f55591c0726a59","archive_size":78932,"archive_url":"https://extensions.blender.org/download/sha256:4fe5330d7b3d55d4b63dd5b52a210d53278022c0a45541c4f9f55591c0726a59/add-on-quick-studio-light-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-studio-light/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"hyperfy_tools","schema_version":"1.0.0","name":"Hyperfy Tools","version":"1.5.0","tagline":"Tools for creating Hyperfy assets","archive_hash":"sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e","archive_size":25418,"archive_url":"https://extensions.blender.org/download/sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e/add-on-hyperfy-tools-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hyperfy-tools/","maintainer":"HowieDuhzit","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export GLB files from/to disk"},"tags":["Physics","Import-Export","3D View","Game Engine","Object"]},{"id":"typst_importer","schema_version":"1.0.0","name":"Typst Importer","version":"0.2.4","tagline":"Render mathematical equations and code blocks","archive_hash":"sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081","archive_size":25708353,"archive_url":"https://extensions.blender.org/download/sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081/add-on-typst-importer-v0.2.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/typst-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"node_align","schema_version":"1.0.0","name":"Node Align(节点对齐)","version":"3.2.0","tagline":"Shift+Q|Ctrl+Q Pie menu-Align Nodes in Multiple Ways(多种方式对齐节点)","archive_hash":"sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8","archive_size":24154,"archive_url":"https://extensions.blender.org/download/sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8/add-on-node-align-v3.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-align/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"gp_tween","schema_version":"1.0.0","name":"GP Tween (c)","version":"2.4.0","tagline":"Quick Grease Pencil Tweening","archive_hash":"sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25","archive_size":169988,"archive_url":"https://extensions.blender.org/download/sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25/add-on-gp-tween-v2.4.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-tween/","maintainer":"cosmosmythos","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write GP Tween nodegroup asset from/to disk","clipboard":"Copy and Paste GP Tween nodegroup"},"tags":["Grease Pencil","Animation","Geometry Nodes"]},{"id":"time_tracker","schema_version":"1.0.0","name":"Time Tracker","version":"0.2.4","tagline":"This extension tracks your time spent in blend files","archive_hash":"sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9","archive_size":23923,"archive_url":"https://extensions.blender.org/download/sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9/add-on-time-tracker-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-tracker/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save timing data to disk"},"tags":["System"]},{"id":"simple_audio_visualizer","schema_version":"1.0.0","name":"Simple Audio Visualizer","version":"1.2.0","tagline":"Creates a simple audio visualizer","archive_hash":"sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190","archive_size":6391,"archive_url":"https://extensions.blender.org/download/sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190/add-on-simple-audio-visualizer-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-audio-visualizer/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import audio from disk"},"tags":["Animation"]},{"id":"easy_clouds","schema_version":"1.0.0","name":"Easy Clouds","version":"2.2.0","tagline":"Procedural clouds that are easy to customize","archive_hash":"sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd","archive_size":10614,"archive_url":"https://extensions.blender.org/download/sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd/add-on-easy-clouds-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easy-clouds/","maintainer":"LunarKitten","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Add Mesh","Node"]},{"id":"MustardSimplify","schema_version":"1.0.0","name":"Mustard Simplify","version":"2025.4.1","tagline":"Tool to simplify scenes for improved viewport performance","archive_hash":"sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1","archive_size":42341,"archive_url":"https://extensions.blender.org/download/sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1/add-on-mustardsimplify-v2025.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mustardsimplify/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"QuickTools_v3","schema_version":"1.0.0","name":"Grease Pencil QuickTools_v3","version":"1.1.5","tagline":"Grease Pencil Toobar in N sidebar with auto mode switch","archive_hash":"sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3","archive_size":53225,"archive_url":"https://extensions.blender.org/download/sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3/add-on-quicktools-v3-v1.1.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/quicktools-v3/","maintainer":"PongBuster","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"named_attribute_list","schema_version":"1.0.0","name":"Named Attribute List(命名属性列表)","version":"2.8.2","tagline":"Quickly Add Attribute Node in GN and Shader(几何节点和材质里快速添加属性节点)","archive_hash":"sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772","archive_size":98415,"archive_url":"https://extensions.blender.org/download/sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772/add-on-named-attribute-list-v2.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/named-attribute-list/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"CurveFitting","schema_version":"1.0.0","name":"Curve Fitting","version":"0.3.0","tagline":"Smooth out uneven vertex arrangements keeping original shape","archive_hash":"sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a","archive_size":22449,"archive_url":"https://extensions.blender.org/download/sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a/add-on-curvefitting-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curvefitting/","maintainer":"zuda77","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"Utilities_Gadget","schema_version":"1.0.0","name":"Utilities Gadget","version":"1.1.5","tagline":"Batch rendering and model conversio","archive_hash":"sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc","archive_size":6095,"archive_url":"https://extensions.blender.org/download/sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc/add-on-utilities-gadget-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/utilities-gadget/","maintainer":"HurcaGuari","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"bbone_Tools","schema_version":"1.0.0","name":"the bendybones toolkit","version":"1.6.0","tagline":"a simple toolkit for rigging with bendybones","archive_hash":"sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79","archive_size":4337,"archive_url":"https://extensions.blender.org/download/sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79/add-on-bbone-tools-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bbone-tools/","maintainer":"Felipe-G","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"viewtools","schema_version":"1.0.0","name":"ViewTools","version":"1.0.0","tagline":"Essential Viewport tools for industrial workflows","archive_hash":"sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922","archive_size":4857,"archive_url":"https://extensions.blender.org/download/sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922/add-on-viewtools-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/viewtools/","maintainer":"Ishara-Sandeepa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","Mesh","Object"]},{"id":"Coloraide","schema_version":"1.0.0","name":"Coloraide","version":"1.5.1","tagline":"Advanced color picking and color management tools","archive_hash":"sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad","archive_size":75163,"archive_url":"https://extensions.blender.org/download/sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad/add-on-coloraide-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/coloraide/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Grease Pencil","3D View"]},{"id":"persiantype","schema_version":"1.0.0","name":"Persian type","version":"2.0.1","tagline":"Add Persian/Arabic type directly to Blender","archive_hash":"sha256:f519fd2e627f369686c5b9272526326b5cfb37e2555deb39f1a17299b8f1cb9e","archive_size":1952767,"archive_url":"https://extensions.blender.org/download/sha256:f519fd2e627f369686c5b9272526326b5cfb37e2555deb39f1a17299b8f1cb9e/add-on-persiantype-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/persiantype/","maintainer":"Damyar","license":["SPDX:GPL-3.0-or-later"]},{"id":"group_input_helper","schema_version":"1.0.0","name":"Group input helper(节点组输入助手)","version":"2.9.3","tagline":"Qucik add/split/merge Group Input node/socket(快速添加拆分合并移动组输入节点接口)","archive_hash":"sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb","archive_size":76074,"archive_url":"https://extensions.blender.org/download/sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb/add-on-group-input-helper-v2.9.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/group-input-helper/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"shutdown_after_render","schema_version":"1.0.0","name":"Shutdown after render","version":"0.4.0","tagline":"Automatically shuts down your PC after your render finishes","archive_hash":"sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a","archive_size":4087,"archive_url":"https://extensions.blender.org/download/sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a/add-on-shutdown-after-render-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shutdown-after-render/","maintainer":"David-Bühler","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"io_scene_pod","schema_version":"1.0.0","name":"UbiSoft Pod formats","version":"0.29.3","tagline":"Import-Export Pod circuits, ghosts, images, and vehicles","archive_hash":"sha256:1886e5f482621efc828604dbd5896ad342f9e88400b90616706d2652ef3a961c","archive_size":7188094,"archive_url":"https://extensions.blender.org/download/sha256:1886e5f482621efc828604dbd5896ad342f9e88400b90616706d2652ef3a961c/add-on-io-scene-pod-v0.29.3-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-scene-pod/","maintainer":"Syroot","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export","Scene"]},{"id":"has_paint_layers","schema_version":"1.0.0","name":"HAS Paint Layers","version":"0.8.93","tagline":"Layers for texture painting","archive_hash":"sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255","archive_size":68078,"archive_url":"https://extensions.blender.org/download/sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255/add-on-has-paint-layers-v0.8.93.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/has-paint-layers/","maintainer":"Hirourk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store temporary images"},"tags":["Paint","Bake"]},{"id":"shapekey_keeper","schema_version":"1.0.0","name":"SKkeeper","version":"1.8.2","tagline":"Applies modifiers while keeping shapekeys and drivers","archive_hash":"sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678","archive_size":20217,"archive_url":"https://extensions.blender.org/download/sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678/add-on-shapekey-keeper-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapekey-keeper/","maintainer":"Nidus","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"RetroGrey","schema_version":"1.0.0","name":"RetroGrey","version":"1.3.2","tagline":"Theme inspired by the grey color of 90s computer devices","archive_hash":"sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38","archive_size":6800,"archive_url":"https://extensions.blender.org/download/sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38/theme-retrogrey-v1.3.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/retrogrey/","maintainer":"Oskar_Wasiluk","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"datablock_utils","schema_version":"1.0.0","name":"Data-Block Utilities","version":"1.3.0","tagline":"Show users, merge duplicates, find similar, and more","archive_hash":"sha256:ecbfa6cc02cb6620059c2cac9e6b109532b5626690f5562ac8a1b366412349c1","archive_size":1740275,"archive_url":"https://extensions.blender.org/download/sha256:ecbfa6cc02cb6620059c2cac9e6b109532b5626690f5562ac8a1b366412349c1/add-on-datablock-utils-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/datablock-utils/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System"]},{"id":"ambientcg_material_importer","schema_version":"1.0.0","name":"AmbientCG Material Importer","version":"1.4.0","tagline":"One-click material creation from AmbientCG","archive_hash":"sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082","archive_size":4167,"archive_url":"https://extensions.blender.org/download/sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082/add-on-ambientcg-material-importer-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ambientcg-material-importer/","maintainer":"Nino-Filiu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and cache textures to disk","network":"Makes calls to AmbientCG"},"tags":["Import-Export","Material"]},{"id":"cursor_plus","schema_version":"1.0.0","name":"3D Cursor Plus","version":"1.0.4","tagline":"Axes, undo and few other tools for your 3D Cursor","archive_hash":"sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47","archive_size":79566,"archive_url":"https://extensions.blender.org/download/sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47/add-on-cursor-plus-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cursor-plus/","maintainer":"chokavr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load gizmo presets and Pie menu configuration"},"tags":["3D View"]},{"id":"two_point_perspective","schema_version":"1.0.0","name":"Two-Point Perspective","version":"0.0.2","tagline":"Replaces the active camera with a two-point perspective one","archive_hash":"sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd","archive_size":17509,"archive_url":"https://extensions.blender.org/download/sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd/add-on-two-point-perspective-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/two-point-perspective/","maintainer":"Athina-Syntychaki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Grid_Dimensions","schema_version":"1.0.0","name":"Grid Dimensions/网格标注","version":"1.1.0","tagline":"Grid Dimensions/网格标注","archive_hash":"sha256:7df9c7f626d9990d222a6dc05613f2cafc6edb4b992b995545f91e11a53f0e80","archive_size":37347,"archive_url":"https://extensions.blender.org/download/sha256:7df9c7f626d9990d222a6dc05613f2cafc6edb4b992b995545f91e11a53f0e80/add-on-grid-dimensions-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-dimensions/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"mpfb","schema_version":"1.0.0","name":"MPFB","version":"2.0.13","tagline":"Human character generator and editor","archive_hash":"sha256:30bf341ae610cd1fd69382c9fadf8eb831c7ac6f4dd40ed326bb7850e1e090f3","archive_size":44897490,"archive_url":"https://extensions.blender.org/download/sha256:30bf341ae610cd1fd69382c9fadf8eb831c7ac6f4dd40ed326bb7850e1e090f3/add-on-mpfb-v2.0.13.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mpfb/","maintainer":"Joel-Palmius","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save data","network":"(optional) Interact with local instance of MakeHuman"},"tags":["Add Mesh","Rigging"]},{"id":"motion_inspector","schema_version":"1.0.0","name":"Motion inspector","version":"0.2.9","tagline":"Inspect F-Curves and animated object movement","archive_hash":"sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53","archive_size":4834,"archive_url":"https://extensions.blender.org/download/sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53/add-on-motion-inspector-v0.2.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motion-inspector/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"modern_primitive","schema_version":"1.0.0","name":"Modern Primitive","version":"0.0.47","tagline":"Modern Primitive for Non-Destructive Modeling","archive_hash":"sha256:6393172dcda74824d5405b3611965fef7548ad66b9de8264b948357520d4fbde","archive_size":3275996,"archive_url":"https://extensions.blender.org/download/sha256:6393172dcda74824d5405b3611965fef7548ad66b9de8264b948357520d4fbde/add-on-modern-primitive-v0.0.47.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modern-primitive/","maintainer":"Degarashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry-Node from Add-on Directory"},"tags":["Add Mesh","Modeling"]},{"id":"greasepencil_nudge_frames","schema_version":"1.0.0","name":"Grease Pencil Nudge Frames","version":"0.1.1","tagline":"Modify exposure in the dopesheet with D/F","archive_hash":"sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f","archive_size":1738,"archive_url":"https://extensions.blender.org/download/sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f/add-on-greasepencil-nudge-frames-v0.1.1.zip","type":"add-on","blender_version_min":"4.3.1","website":"https://extensions.blender.org/add-ons/greasepencil-nudge-frames/","maintainer":"bergamote","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Grease Pencil"]},{"id":"Non_Destructive_Primitives","schema_version":"1.0.0","name":"ND Primitives","version":"0.2.46","tagline":"Non-Destructive Parametric Primitives in Blender","archive_hash":"sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8","archive_size":290494,"archive_url":"https://extensions.blender.org/download/sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8/add-on-non-destructive-primitives-v0.2.46.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/non-destructive-primitives/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry Nodes Objects from Add-on Folder"},"tags":["Modeling","Add Mesh"]},{"id":"node_pinyin","schema_version":"1.0.0","name":"szm/首字母","version":"1.2.0","tagline":"Enable node and modifier search with PinYin/支持节点和修改器的中文拼音搜索","archive_hash":"sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe","archive_size":40672,"archive_url":"https://extensions.blender.org/download/sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe/add-on-node-pinyin-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-pinyin/","maintainer":"Xinyu-Zhu","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"proto_game_asset_tools","schema_version":"1.0.0","name":"PROTO Game Asset Tools","version":"1.4.0","tagline":"tools for game assets, fixed Unreal FBX exports","archive_hash":"sha256:a36f6ee8aa8adcc471bc5e88a153ab5bd6ac4a0c163de6eddbaad25380967d41","archive_size":33328,"archive_url":"https://extensions.blender.org/download/sha256:a36f6ee8aa8adcc471bc5e88a153ab5bd6ac4a0c163de6eddbaad25380967d41/add-on-proto-game-asset-tools-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/proto-game-asset-tools/","maintainer":"PROTOWLF","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX to disk","clipboard":"Copy and paste data"},"tags":["Import-Export","Game Engine"]},{"id":"b_subeditor","schema_version":"1.0.0","name":"B SubEditor","version":"1.0.1","tagline":"Sync subtitles in Text Editor/VSE","archive_hash":"sha256:ecf1dd66d0d2812603227a549d07efe010749e17149f7c3c247b07fa68f3cf5d","archive_size":6393,"archive_url":"https://extensions.blender.org/download/sha256:ecf1dd66d0d2812603227a549d07efe010749e17149f7c3c247b07fa68f3cf5d/add-on-b-subeditor-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-subeditor/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with subtitle files"},"tags":["Sequencer","Text Editor","Import-Export"]},{"id":"b_Unicode","schema_version":"1.0.0","name":"B Unicode","version":"1.0.2","tagline":"Access Unicode characters","archive_hash":"sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e","archive_size":5304,"archive_url":"https://extensions.blender.org/download/sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e/add-on-b-unicode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/b-unicode/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Sequencer","Text Editor"]},{"id":"sco_edgewise","schema_version":"1.0.0","name":"SCO EdgeWise","version":"2.0.3","tagline":"Measure distances, edge lengths, and angles in Edit Mode","archive_hash":"sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a","archive_size":137778,"archive_url":"https://extensions.blender.org/download/sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a/add-on-sco-edgewise-v2.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-edgewise/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"font_selector","schema_version":"1.0.0","name":"Font Selector","version":"3.2.2","tagline":"Browse available fonts from blender","archive_hash":"sha256:6f2006ea677059102fc7265f5dd0d9149ba80b93cbcef7d09d06aade32fda3c6","archive_size":1183546,"archive_url":"https://extensions.blender.org/download/sha256:6f2006ea677059102fc7265f5dd0d9149ba80b93cbcef7d09d06aade32fda3c6/add-on-font-selector-v3.2.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/font-selector/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files, Reading font files"},"tags":["Import-Export","System"]},{"id":"vertex_overlap","schema_version":"1.0.0","name":"Vertex Overlap","version":"1.1.0","tagline":"Alerts you to overlapping vertices in real-time","archive_hash":"sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14","archive_size":17220,"archive_url":"https://extensions.blender.org/download/sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14/add-on-vertex-overlap-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-overlap/","maintainer":"Shawn-Shipley","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"quick_resolution_setup","schema_version":"1.0.0","name":"Quick Resolution Setup","version":"1.1.0","tagline":"Quick Resolution Setup","archive_hash":"sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea","archive_size":23899,"archive_url":"https://extensions.blender.org/download/sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea/add-on-quick-resolution-setup-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-resolution-setup/","maintainer":"Hades-Su","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"audio_notifier","schema_version":"1.0.0","name":"Audio Notifier","version":"1.0.5","tagline":"Audio notifications for success, cancel and warning","archive_hash":"sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541","archive_size":36990,"archive_url":"https://extensions.blender.org/download/sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541/add-on-audio-notifier-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/audio-notifier/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"k_tools_mode_highlight","schema_version":"1.0.0","name":"K-Tools: Mode Highlight","version":"1.0.8","tagline":"Automatically change the header color based on the current mode","archive_hash":"sha256:7d1e680b0b1d313a1e874bd7f3b1c45503c1207f402da26284cbfddc1426c212","archive_size":4666,"archive_url":"https://extensions.blender.org/download/sha256:7d1e680b0b1d313a1e874bd7f3b1c45503c1207f402da26284cbfddc1426c212/add-on-k-tools-mode-highlight-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-mode-highlight/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"xray_selection_tools","schema_version":"1.0.0","name":"X-Ray Selection Tools","version":"4.9.2","tagline":"Box, lasso and circle selection tools with x-ray","archive_hash":"sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8","archive_size":85983,"archive_url":"https://extensions.blender.org/download/sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8/add-on-xray-selection-tools-v4.9.2.zip","type":"add-on","blender_version_min":"4.5.2","website":"https://extensions.blender.org/add-ons/xray-selection-tools/","maintainer":"MarshmallowCirno","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"autokey_highlight","schema_version":"1.0.0","name":"Autokey Highlight","version":"1.0.7","tagline":"Highlights the viewport when autokey is enabled","archive_hash":"sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8","archive_size":3186,"archive_url":"https://extensions.blender.org/download/sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8/add-on-autokey-highlight-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autokey-highlight/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View","System"]},{"id":"math_formula","schema_version":"1.0.0","name":"Math Formula","version":"2.2.0","tagline":"Quickly add nodes by typing in a formula","archive_hash":"sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27","archive_size":360600,"archive_url":"https://extensions.blender.org/download/sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27/add-on-math-formula-v2.2.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/math-formula/","maintainer":"WannesMalfait","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and writing custom implementations","clipboard":"Pasting formulas from clipboard"},"tags":["Node"]},{"id":"EdgeFlow","schema_version":"1.0.0","name":"EdgeFlow","version":"1.1.2","tagline":"Helps adjusting mesh geometry to curved surfaces","archive_hash":"sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1","archive_size":34350,"archive_url":"https://extensions.blender.org/download/sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1/add-on-edgeflow-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edgeflow/","maintainer":"Benjamin-Sauder","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"LightHepler","schema_version":"1.0.0","name":"Light Helper","version":"0.4.6","tagline":"Light Helper","archive_hash":"sha256:a99c5697ffcb22e6d7a64cd17d353137206b38b707519f03afcaa23933ba214d","archive_size":20722,"archive_url":"https://extensions.blender.org/download/sha256:a99c5697ffcb22e6d7a64cd17d353137206b38b707519f03afcaa23933ba214d/add-on-lighthepler-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lighthepler/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"lattice_helper","schema_version":"1.0.0","name":"Lattice Helper","version":"1.2.5","tagline":"Apply Lattice modifier to object(s) in object/edit mode","archive_hash":"sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4","archive_size":12464,"archive_url":"https://extensions.blender.org/download/sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4/add-on-lattice-helper-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lattice-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"color_randomizer","schema_version":"1.0.0","name":"Color Randomizer","version":"1.3.0","tagline":"Randomly assign colors to objects","archive_hash":"sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944","archive_size":10414,"archive_url":"https://extensions.blender.org/download/sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944/add-on-color-randomizer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-randomizer/","maintainer":"ilumetric","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"lumos","schema_version":"1.0.0","name":"Lumos","version":"3.2.1","tagline":"Bring your lighting to the next level","archive_hash":"sha256:ba3a80a1e6fd241a4d6a998f0bd26be10c79e60e3e45df390403b1d838bd3ba3","archive_size":43133,"archive_url":"https://extensions.blender.org/download/sha256:ba3a80a1e6fd241a4d6a998f0bd26be10c79e60e3e45df390403b1d838bd3ba3/add-on-lumos-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lumos/","maintainer":"Eqkoss","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"rmKit","schema_version":"1.0.0","name":"rmKit","version":"1.0.13","tagline":"Tools and Utils for Modeling and GameWorkflows","archive_hash":"sha256:25c336e8ad89518cb70c7a460ec07fa94d14bd7ebd6170974817d3ee3240b92c","archive_size":83033,"archive_url":"https://extensions.blender.org/download/sha256:25c336e8ad89518cb70c7a460ec07fa94d14bd7ebd6170974817d3ee3240b92c/add-on-rmkit-v1.0.13.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rmkit/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Mesh","Object","Material"]},{"id":"Duplication_Tool_addon","schema_version":"1.0.0","name":"Duplication Tool","version":"1.0.2","tagline":"Create copies with incremental names and materials","archive_hash":"sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864","archive_size":3052,"archive_url":"https://extensions.blender.org/download/sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864/add-on-duplication-tool-addon-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/duplication-tool-addon/","maintainer":"Vinay-chikkam","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","System"]},{"id":"sakura_poselib","schema_version":"1.0.0","name":"Sakura Poselib","version":"1.4.4","tagline":"Yet another Pose Library with handful features","archive_hash":"sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e","archive_size":56108,"archive_url":"https://extensions.blender.org/download/sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e/add-on-sakura-poselib-v1.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-poselib/","maintainer":"Kafuji","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load Poselib data as Json or CSV"},"tags":["Animation"]},{"id":"audio_exporter","schema_version":"1.0.0","name":"Audio Exporter","version":"1.1.0","tagline":"Export audio separate or combined files in VSE","archive_hash":"sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be","archive_size":6145,"archive_url":"https://extensions.blender.org/download/sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be/add-on-audio-exporter-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/audio-exporter/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it exports audio files"},"tags":["Sequencer"]},{"id":"Shadingplus","schema_version":"1.0.0","name":"Shading +","version":"1.1.2","tagline":"Shading pie for designers and artists","archive_hash":"sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8","archive_size":50492480,"archive_url":"https://extensions.blender.org/download/sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8/add-on-shadingplus-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shadingplus/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"caustics_baking_addon","schema_version":"1.0.0","name":"Caustics_Baking","version":"3.2.1","tagline":"Caustics Baking with Cycles","archive_hash":"sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e","archive_size":42951,"archive_url":"https://extensions.blender.org/download/sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e/add-on-caustics-baking-addon-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/caustics-baking-addon/","maintainer":"Benary","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"export images to disk"},"tags":["Bake","Lighting"]},{"id":"brushstroke_tools","schema_version":"1.0.0","name":"Brushstroke Tools","version":"1.1.2","tagline":"Brushstroke painting tools by the Blender Studio","archive_hash":"sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d","archive_size":29639997,"archive_url":"https://extensions.blender.org/download/sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d/add-on-brushstroke-tools-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/brushstroke-tools/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write brushstroke asset resources from/to disk"},"tags":["Paint","Geometry Nodes","Material"]},{"id":"node_color_tools","schema_version":"1.0.0","name":"Node Color Tools Pie","version":"1.0.3","tagline":"Quick, organized node colors with pie menu ease","archive_hash":"sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7","archive_size":4752,"archive_url":"https://extensions.blender.org/download/sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7/add-on-node-color-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"mesh_analysis_overlay","schema_version":"1.0.0","name":"Mesh Analysis Overlay","version":"4.1.0","tagline":"Mesh Analysis Overlay","archive_hash":"sha256:08b24bce782c7c8c72d47a3e2c8708a571f19538fed30d57d30fa874f7791a5c","archive_size":18588,"archive_url":"https://extensions.blender.org/download/sha256:08b24bce782c7c8c72d47a3e2c8708a571f19538fed30d57d30fa874f7791a5c/add-on-mesh-analysis-overlay-v4.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/mesh-analysis-overlay/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"gamiflow","schema_version":"1.0.0","name":"GamiFlow","version":"1.9.4","tagline":"Easier game asset creation","archive_hash":"sha256:2e3b3d5fedebc22f9a78e63f36a3b935b26ac635995e8cca9a871b5fa81bc9a2","archive_size":159673,"archive_url":"https://extensions.blender.org/download/sha256:2e3b3d5fedebc22f9a78e63f36a3b935b26ac635995e8cca9a871b5fa81bc9a2/add-on-gamiflow-v1.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gamiflow/","maintainer":"Mathieu.Einig","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX files to disk"},"tags":["Import-Export","Object"]},{"id":"Runlevel_Two","schema_version":"1.0.0","name":"Runlevel Two","version":"1.2.0","tagline":"A refined, distraction-free color palette, pleasing to the eye","archive_hash":"sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1","archive_size":5962,"archive_url":"https://extensions.blender.org/download/sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1/theme-runlevel-two-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/runlevel-two/","maintainer":"Rene-Smaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Accessibility","Colorful"]},{"id":"blenderdefender_gizmodalops","schema_version":"1.0.0","name":"Gizmodal Ops","version":"1.0.3","tagline":"An add-on that seamlessly blends Gizmo and Modal operations","archive_hash":"sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb","archive_size":24047,"archive_url":"https://extensions.blender.org/download/sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb/add-on-blenderdefender-gizmodalops-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blenderdefender-gizmodalops/","maintainer":"Beedy","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"render_overscan","schema_version":"1.0.0","name":"Render Overscan","version":"0.1.16","tagline":"Applies and manages overscan in renders","archive_hash":"sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa","archive_size":3933,"archive_url":"https://extensions.blender.org/download/sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa/add-on-render-overscan-v0.1.16.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/render-overscan/","maintainer":"efimpetelin","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"strip_array","schema_version":"1.0.0","name":"Strip Array","version":"1.1.0","tagline":"Array of duplicated strips, Customizable, Strips Display","archive_hash":"sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba","archive_size":4825,"archive_url":"https://extensions.blender.org/download/sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba/add-on-strip-array-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/strip-array/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"latticemagic","schema_version":"1.0.0","name":"Lattice Magic","version":"1.0.1","tagline":"Lattice-based deforming tools","archive_hash":"sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e","archive_size":29840,"archive_url":"https://extensions.blender.org/download/sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e/add-on-latticemagic-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/latticemagic/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"Show_Object_Data_Users_in_Viewport","schema_version":"1.0.0","name":"Show Collection/Object/Data Users in Viewport","version":"1.0.6","tagline":"Show Collection/Object/Data Users in the Viewport","archive_hash":"sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699","archive_size":4288,"archive_url":"https://extensions.blender.org/download/sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699/add-on-show-object-data-users-in-viewport-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/show-object-data-users-in-viewport/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"camera_shakify","schema_version":"1.0.0","name":"Camera Shakify","version":"0.5.1","tagline":"Add captured camera shake/wobble to your cameras","archive_hash":"sha256:40bb62e0960b301fe8c7b1de11ec959b8ce6c55ce03ed720c5c3b21c0c764e36","archive_size":78219,"archive_url":"https://extensions.blender.org/download/sha256:40bb62e0960b301fe8c7b1de11ec959b8ce6c55ce03ed720c5c3b21c0c764e36/add-on-camera-shakify-v0.5.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-shakify/","maintainer":"Eat the Future","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Camera"]},{"id":"embroidery_importer","schema_version":"1.0.0","name":"Embroidery Importer","version":"0.9.6","tagline":"Import embroidery files into Blender","archive_hash":"sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7","archive_size":157512,"archive_url":"https://extensions.blender.org/download/sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7/add-on-embroidery-importer-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/embroidery-importer/","maintainer":"javl","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read embroidery files from disk"},"tags":["Import-Export"]},{"id":"mio3_uv","schema_version":"1.0.0","name":"Mio3 UV","version":"2.0.1","tagline":"UV Edit Assistant Tools","archive_hash":"sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc","archive_size":5184961,"archive_url":"https://extensions.blender.org/download/sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc/add-on-mio3-uv-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-uv/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Imports images, nodes, and translations from the bundled files"},"tags":["UV"]},{"id":"S3D_QuickSwitch","schema_version":"1.0.0","name":"Quick Switch","version":"2.1.0","tagline":"Quickly switch between Editor Areas","archive_hash":"sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380","archive_size":6932,"archive_url":"https://extensions.blender.org/download/sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380/add-on-s3d-quickswitch-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/s3d-quickswitch/","maintainer":"Silvie3D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline"]},{"id":"spreadsheet_import","schema_version":"1.0.0","name":"Spreadsheet Import","version":"0.4.0","tagline":"Import data to spreadsheet for use with geometry nodes","archive_hash":"sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba","archive_size":16630,"archive_url":"https://extensions.blender.org/download/sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba/add-on-spreadsheet-import-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spreadsheet-import/","maintainer":"smonbrogg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load CSV and JSON files from disk"},"tags":["Import-Export","Geometry Nodes"]},{"id":"Scene_ViewLayer_Switcher","schema_version":"1.0.0","name":"Scene and ViewLayer Switcher","version":"1.0.5","tagline":"Jump to the next/previous Scene/ViewLayers","archive_hash":"sha256:5d149b675aa806755b27c343bf40b9bf164151bb7dd121d8c669d0188b31e332","archive_size":9142,"archive_url":"https://extensions.blender.org/download/sha256:5d149b675aa806755b27c343bf40b9bf164151bb7dd121d8c669d0188b31e332/add-on-scene-viewlayer-switcher-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-viewlayer-switcher/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"pohlke","schema_version":"1.0.0","name":"Pohlke","version":"1.2.0","tagline":"One-click standard orthographic and oblique projection cameras","archive_hash":"sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e","archive_size":14493,"archive_url":"https://extensions.blender.org/download/sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e/add-on-pohlke-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pohlke/","maintainer":"mononym","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"FishSim","schema_version":"1.0.0","name":"FishSim","version":"4.2.0","tagline":"Fish Swimming Simulation","archive_hash":"sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a","archive_size":16851312,"archive_url":"https://extensions.blender.org/download/sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a/add-on-fishsim-v4.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fishsim/","maintainer":"Nerk","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"sync_render_sets","schema_version":"1.0.0","name":"Sync Render Sets","version":"1.2.1","tagline":"Sync scenes render settings/colorspaces,viewlayers`s passes","archive_hash":"sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362","archive_size":24219,"archive_url":"https://extensions.blender.org/download/sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362/add-on-sync-render-sets-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-render-sets/","maintainer":"CP-Design","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"circular_stacker","schema_version":"1.0.0","name":"Circular Stacker","version":"1.0.0","tagline":"Distribute selected objects in a circular (donut) pattern","archive_hash":"sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451","archive_size":3099,"archive_url":"https://extensions.blender.org/download/sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451/add-on-circular-stacker-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/circular-stacker/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"overscan","schema_version":"1.0.0","name":"Overscan Render","version":"1.2.3","tagline":"Render with an overscan","archive_hash":"sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b","archive_size":3063,"archive_url":"https://extensions.blender.org/download/sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b/add-on-overscan-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Distribute","schema_version":"1.0.0","name":"Distribute","version":"1.1.0","tagline":"Distribute selected objects from first to last on X, Y or Z axis","archive_hash":"sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47","archive_size":1692,"archive_url":"https://extensions.blender.org/download/sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47/add-on-distribute-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/distribute/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"motionpath","schema_version":"1.0.0","name":"Motion Path Creator","version":"2.1.2","tagline":"Create motion paths for bones, vertices, empties and objects","archive_hash":"sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f","archive_size":6955,"archive_url":"https://extensions.blender.org/download/sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f/add-on-motionpath-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motionpath/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"fireray","schema_version":"1.0.0","name":"Fire Ray","version":"2.0.0","tagline":"Reality Capture setup and create an empty on a tracked camera","archive_hash":"sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3","archive_size":2709,"archive_url":"https://extensions.blender.org/download/sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3/add-on-fireray-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fireray/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"HDRIRotator","schema_version":"1.0.0","name":"HDRI Rotator","version":"1.1.3","tagline":"Rotate HDRIs, Shadows and Sun from the viewport","archive_hash":"sha256:104ca5af587bb671e13aa9c56a5a6c373e8e6932f101e961cfc261db57c34c0d","archive_size":18375,"archive_url":"https://extensions.blender.org/download/sha256:104ca5af587bb671e13aa9c56a5a6c373e8e6932f101e961cfc261db57c34c0d/add-on-hdrirotator-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdrirotator/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"auto_active_camera_switcher","schema_version":"1.0.0","name":"Auto Active Camera Switcher","version":"1.0.2","tagline":"Automatically makes the selected camera the active camera","archive_hash":"sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5","archive_size":2653,"archive_url":"https://extensions.blender.org/download/sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5/add-on-auto-active-camera-switcher-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-active-camera-switcher/","maintainer":"Yamato3D-3dnchu.com-","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera"]},{"id":"pcb3d_importer","schema_version":"1.0.0","name":"PCB 3D Importer","version":"2.17.4-fix","tagline":"Import PCB 3D Models from KiCad","archive_hash":"sha256:510b600c3155d7afedef450c05a7c1de9ee25fc1d0583ec6f45cfdd5ed374eed","archive_size":85003351,"archive_url":"https://extensions.blender.org/download/sha256:510b600c3155d7afedef450c05a7c1de9ee25fc1d0583ec6f45cfdd5ed374eed/add-on-pcb3d-importer-v2.17.4-fix-windows-x64-windows-arm64-linux-x64-macos-x64-macos-arm64.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/pcb3d-importer/","maintainer":"Bobbe","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .pcb3d files from disk"},"platforms":["windows-x64","windows-arm64","linux-x64","macos-x64","macos-arm64"],"tags":["Import-Export"]},{"id":"AddonProfiler","schema_version":"1.0.0","name":"Add-on Profiler","version":"2.1.0","tagline":"Monitor and capture add-on profiling data","archive_hash":"sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c/add-on-addonprofiler-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/addonprofiler/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and process benchmark and profile data"},"tags":["Development"]},{"id":"add_frame_range_presets","schema_version":"1.0.0","name":"Add Frame Range Presets","version":"1.1.3","tagline":"Create preset frame ranges in just a click","archive_hash":"sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed","archive_size":16118,"archive_url":"https://extensions.blender.org/download/sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed/add-on-add-frame-range-presets-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-frame-range-presets/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Light_Rain_Theme","schema_version":"1.0.0","name":"Light_Rain_Theme","version":"2.1.3","tagline":"Transparent Light Grey","archive_hash":"sha256:81211810548d9342e3e38c0c581d5a6d6a369d0b0e8aa91f5c619c63a0f6a69a","archive_size":5568,"archive_url":"https://extensions.blender.org/download/sha256:81211810548d9342e3e38c0c581d5a6d6a369d0b0e8aa91f5c619c63a0f6a69a/theme-light-rain-theme-v2.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/light-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"C3DB","schema_version":"1.0.0","name":"3D Cursors Briefcase","version":"0.1.4","tagline":"Store and manage multiple 3D Cursors","archive_hash":"sha256:bc01e94f9f3654114db9254c8ed632112cf6f323780e1a1a8c77315544b6a0b5","archive_size":5671,"archive_url":"https://extensions.blender.org/download/sha256:bc01e94f9f3654114db9254c8ed632112cf6f323780e1a1a8c77315544b6a0b5/add-on-c3db-v0.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/c3db/","maintainer":"dupoxy","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"cameraide_settings","schema_version":"1.0.0","name":"Cameraide","version":"1.0.6","tagline":"Camera specific Resolution, Frame Range, Output Path & Format","archive_hash":"sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe","archive_size":34464,"archive_url":"https://extensions.blender.org/download/sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe/add-on-cameraide-settings-v1.0.6.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/cameraide-settings/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"simple_bounce_curve","schema_version":"1.0.0","name":"Simple Bounce Curve","version":"1.1.0","tagline":"Creates a simple bounce curve between selected objects","archive_hash":"sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b","archive_size":2102,"archive_url":"https://extensions.blender.org/download/sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b/add-on-simple-bounce-curve-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-bounce-curve/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Object"]},{"id":"org_tayou_bone_vertex_group_merge","schema_version":"1.0.0","name":"Bone and Vertex Group Merge","version":"1.2.0","tagline":"merge selected bones into the active bone","archive_hash":"sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf","archive_size":1084528,"archive_url":"https://extensions.blender.org/download/sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf/add-on-org-tayou-bone-vertex-group-merge-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/org-tayou-bone-vertex-group-merge/","maintainer":"Tayou","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"more_colors","schema_version":"1.0.0","name":"More Colors!","version":"1.1.0","tagline":"A set of tools to make vertex painting easier","archive_hash":"sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2","archive_size":31239,"archive_url":"https://extensions.blender.org/download/sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2/add-on-more-colors-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/more-colors/","maintainer":"tojynick","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Mesh","Paint"]},{"id":"thomas_rig_legacy","schema_version":"1.0.0","name":"Thomas Rig Legacy","version":"1.1.9","tagline":"Addon for this rig","archive_hash":"sha256:5ca35a8a08ff0c33069bf9fc948dbd398c8b3d9acaf24f7d33a4b8f823a1fec6","archive_size":20535315,"archive_url":"https://extensions.blender.org/download/sha256:5ca35a8a08ff0c33069bf9fc948dbd398c8b3d9acaf24f7d33a4b8f823a1fec6/add-on-thomas-rig-legacy-v1.1.9-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/thomas-rig-legacy/","maintainer":"BlueEvilGFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the skin to Blender-tmp & read MC textures","network":"To download a skin with the Minecraft/Mojang API"},"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Animation","Rigging"]},{"id":"cortecloud_export","schema_version":"1.0.0","name":"CorteCloud Export","version":"1.0.5","tagline":"Manage and Export wood cut list to CorteCloud csv format","archive_hash":"sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191","archive_size":20274,"archive_url":"https://extensions.blender.org/download/sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191/add-on-cortecloud-export-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cortecloud-export/","maintainer":"Filipe-Rocha-Lopes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export csv files"}},{"id":"auto_reload","schema_version":"1.0.0","name":"Auto Reload","version":"3.1.2","tagline":"Automatic reload for external files","archive_hash":"sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4","archive_size":21511,"archive_url":"https://extensions.blender.org/download/sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4/add-on-auto-reload-v3.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-reload/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Checking/Reloading external files from current blend"},"tags":["Import-Export","Pipeline"]},{"id":"Colorista","schema_version":"1.0.0","name":"Colorista","version":"1.1.8","tagline":"A convenient color grading add-on designed for colorists","archive_hash":"sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2","archive_size":950327,"archive_url":"https://extensions.blender.org/download/sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2/add-on-colorista-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/colorista/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read Node"},"tags":["Modeling","Node","Render","Compositing"]},{"id":"popoti_align_helper","schema_version":"1.0.0","name":"POPOTI Align Helper","version":"1.2.7","tagline":"More friendly alignment based on observation perspective","archive_hash":"sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f","archive_size":95518,"archive_url":"https://extensions.blender.org/download/sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f/add-on-popoti-align-helper-v1.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/popoti-align-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"UV_Snapper","schema_version":"1.0.0","name":"UV Snapper","version":"1.1.1","tagline":"Snap selected UVs to a custom atlas","archive_hash":"sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb","archive_size":236058,"archive_url":"https://extensions.blender.org/download/sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb/add-on-uv-snapper-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-snapper/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"theme_moss","schema_version":"1.0.0","name":"Moss","version":"1.0.5","tagline":"Mossy castle dark theme","archive_hash":"sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078","archive_size":5609,"archive_url":"https://extensions.blender.org/download/sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078/theme-theme-moss-v1.0.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-moss/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"mesh_repair_tools","schema_version":"1.0.0","name":"Mesh Repair Tools","version":"4.0.2","tagline":"An integrated toolbox for mesh repair","archive_hash":"sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7","archive_size":13836,"archive_url":"https://extensions.blender.org/download/sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7/add-on-mesh-repair-tools-v4.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-repair-tools/","maintainer":"SineWave","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","User Interface"]},{"id":"profiling_buddy","schema_version":"1.0.0","name":"Profiling Buddy","version":"1.0.0","tagline":"Adds modifier panel to profile execution times","archive_hash":"sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0","archive_size":1756,"archive_url":"https://extensions.blender.org/download/sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0/add-on-profiling-buddy-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/profiling-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Rigging","Geometry Nodes","User Interface"]},{"id":"Proton","schema_version":"1.0.0","name":"Proton","version":"1.1.0","tagline":"A modern dark theme for Blender with purple accents","archive_hash":"sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99","archive_size":5141,"archive_url":"https://extensions.blender.org/download/sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99/theme-proton-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/proton/","maintainer":"VISaberToothIV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neo_Grey_Theme","schema_version":"1.0.0","name":"Neo_Grey_Theme","version":"2.4.2","tagline":"Dust Cloud","archive_hash":"sha256:6882357d6cd78a737e198fcaf53299c4c0bd3cc5c2e8e93d0dcb7c10dbbfe55b","archive_size":5600,"archive_url":"https://extensions.blender.org/download/sha256:6882357d6cd78a737e198fcaf53299c4c0bd3cc5c2e8e93d0dcb7c10dbbfe55b/theme-neo-grey-theme-v2.4.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neo-grey-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"SMEAR","schema_version":"1.0.0","name":"SMEAR","version":"1.1.8","tagline":"Create smear frames for 3D animations","archive_hash":"sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5","archive_size":3313751,"archive_url":"https://extensions.blender.org/download/sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5/add-on-smear-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smear/","maintainer":"Jean-Basset","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"simple_deform_helper","schema_version":"1.0.0","name":"Simple Deform Helper","version":"0.2.7","tagline":"Simple Deform visualization adjustment tool","archive_hash":"sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb","archive_size":173571,"archive_url":"https://extensions.blender.org/download/sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb/add-on-simple-deform-helper-v0.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-deform-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Mesh"]},{"id":"uv_toolkit","schema_version":"1.0.0","name":"UVToolkit","version":"2.1.4","tagline":"A collection of UV editing tools for Blender","archive_hash":"sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859","archive_size":2611931,"archive_url":"https://extensions.blender.org/download/sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859/add-on-uv-toolkit-v2.1.4.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/uv-toolkit/","maintainer":"razed","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","Material"]},{"id":"image_packer","schema_version":"1.0.0","name":"Image Packer","version":"1.0.7","tagline":"Packs images into a single image","archive_hash":"sha256:32ff0572ecfd9fd7af321ae9299f59101c3d222879c7d7aebb2622f1c3f82c2c","archive_size":24146,"archive_url":"https://extensions.blender.org/download/sha256:32ff0572ecfd9fd7af321ae9299f59101c3d222879c7d7aebb2622f1c3f82c2c/add-on-image-packer-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/image-packer/","maintainer":"Quint-Vrolijk","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"Modal_lattice_resolution","schema_version":"1.0.0","name":"Modal Lattice Resolution","version":"0.3.4","tagline":"Create Lattice or Tweak Resolution from 3D viewport, 'L' keymap","archive_hash":"sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b","archive_size":7314,"archive_url":"https://extensions.blender.org/download/sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b/add-on-modal-lattice-resolution-v0.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modal-lattice-resolution/","maintainer":"Tyo79","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"you_are_autosave","schema_version":"1.0.0","name":"You Are Autosave","version":"1.5.0","tagline":"Show a warning when you haven't saved in a while","archive_hash":"sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b","archive_size":17503,"archive_url":"https://extensions.blender.org/download/sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b/add-on-you-are-autosave-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/you-are-autosave/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"univ","schema_version":"1.0.0","name":"UniV","version":"3.9.8","tagline":"UV Toolkit","archive_hash":"sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c","archive_size":538491,"archive_url":"https://extensions.blender.org/download/sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c/add-on-univ-v3.9.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/univ/","maintainer":"Oxicid","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and updates icon files in the add-on directory"},"tags":["UV"]},{"id":"gesture_helper","schema_version":"1.0.0","name":"Gesture Helper","version":"2.2.6","tagline":"Quickly use gestures to run the operator or change properties","archive_hash":"sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5","archive_size":1125093,"archive_url":"https://extensions.blender.org/download/sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5/add-on-gesture-helper-v2.2.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gesture-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Gesture preset"},"tags":["3D View","User Interface"]},{"id":"bone_eyedropper","schema_version":"1.0.0","name":"Bone Eyedropper","version":"1.1.8","tagline":"Eyedrop a bone from active or target and assign it to a property","archive_hash":"sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd","archive_size":139882,"archive_url":"https://extensions.blender.org/download/sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd/add-on-bone-eyedropper-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-eyedropper/","maintainer":"Nifs","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .blend from disk","clipboard":"Copy property paths to clipboard"},"tags":["3D View","User Interface"]},{"id":"quick_export_extension","schema_version":"1.0.0","name":"Quick Export","version":"1.1.0","tagline":"Exports the active object's collection if it has exporters","archive_hash":"sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76","archive_size":2422,"archive_url":"https://extensions.blender.org/download/sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76/add-on-quick-export-extension-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-export-extension/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"Real_Time_Paths","schema_version":"1.0.0","name":"Motion Path Pro","version":"3.1.0","tagline":"Update motion path in real time","archive_hash":"sha256:eaee70d1ffaf5b3454ba6cd5c39d4b779b99bd59c52227aa0fea627276db7ff2","archive_size":15369,"archive_url":"https://extensions.blender.org/download/sha256:eaee70d1ffaf5b3454ba6cd5c39d4b779b99bd59c52227aa0fea627276db7ff2/add-on-real-time-paths-v3.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/real-time-paths/","maintainer":"Hamdi-Amer","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"theme_GreenKM","schema_version":"1.0.0","name":"Green Kode Mono","version":"1.1.6","tagline":"Kinda retro green theme","archive_hash":"sha256:9e27e44e3086d3df5937c923415b4271c6a4d6ff0cf288bb01cc62b362d46567","archive_size":6032,"archive_url":"https://extensions.blender.org/download/sha256:9e27e44e3086d3df5937c923415b4271c6a4d6ff0cf288bb01cc62b362d46567/theme-theme-greenkm-v1.1.6.zip","type":"theme","blender_version_min":"5.0.1","website":"https://extensions.blender.org/themes/theme-greenkm/","maintainer":"DannySi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Quellenform_theme","schema_version":"1.0.0","name":"Quellenform's Theme","version":"0.1.0","tagline":"A dark grey theme with a gentle touch of blue and green colors","archive_hash":"sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d","archive_size":5899,"archive_url":"https://extensions.blender.org/download/sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d/theme-quellenform-theme-v0.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quellenform-theme/","maintainer":"quellenform","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"act_game_asset_creation_toolset","schema_version":"1.0.0","name":"ACT: Game Asset Creation Toolset","version":"2025.2.1","tagline":"Tools for easy create and export low-poly game assets","archive_hash":"sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284","archive_size":49479,"archive_url":"https://extensions.blender.org/download/sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284/add-on-act-game-asset-creation-toolset-v2025.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/act-game-asset-creation-toolset/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX/OBJ/GLTF to disk"},"tags":["3D View","Object","UV","Mesh","Import-Export","Modeling"]},{"id":"node_to_python","schema_version":"1.0.0","name":"Node To Python","version":"4.0.1","tagline":"Turn node groups into Python code","archive_hash":"sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec","archive_size":81184,"archive_url":"https://extensions.blender.org/download/sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec/add-on-node-to-python-v4.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-to-python/","maintainer":"Brendan-Parmer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and writes to files in a user-specified directory"},"tags":["Development","Compositing","Geometry Nodes","Material","Node"]},{"id":"Eclipse","schema_version":"1.0.0","name":"Eclipse","version":"1.2.2","tagline":"Where Darkness Meets Elegance","archive_hash":"sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7","archive_size":5863,"archive_url":"https://extensions.blender.org/download/sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7/theme-eclipse-v1.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/eclipse/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"custom_templates","schema_version":"1.0.0","name":"Custom Templates","version":"1.6.0","tagline":"Use your own .blend files as template options for new projects","archive_hash":"sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e","archive_size":10674,"archive_url":"https://extensions.blender.org/download/sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e/add-on-custom-templates-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/custom-templates/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export, + from folder, Ensure absolute paths in resources"},"tags":["System","User Interface"]},{"id":"world_apply","schema_version":"1.0.0","name":"World Apply","version":"1.0.1","tagline":"Sync viewport world settings with scene world settings","archive_hash":"sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663","archive_size":2866,"archive_url":"https://extensions.blender.org/download/sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663/add-on-world-apply-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/world-apply/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read HDRI files stored in Blender's directories"},"tags":["Lighting"]},{"id":"timeline_buttons","schema_version":"1.0.0","name":"Timeline Buttons","version":"1.0.0","tagline":"Put the buttons in timeline to other animation related editors","archive_hash":"sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815","archive_size":15158,"archive_url":"https://extensions.blender.org/download/sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815/add-on-timeline-buttons-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/timeline-buttons/","maintainer":"tinkerboi","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ddslideshow","schema_version":"1.0.0","name":"DDSlideshow","version":"0.0.5","tagline":"Create a Ken Burns Effect slideshow","archive_hash":"sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b/add-on-ddslideshow-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ddslideshow/","maintainer":"Michael-Lamertz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to load images for the slideshow"},"tags":["Sequencer"]},{"id":"bonsai","schema_version":"1.0.0","name":"Bonsai","version":"0.8.4","tagline":"A native Building Information Model authoring platform using IFC","archive_hash":"sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65","archive_size":119643469,"archive_url":"https://extensions.blender.org/download/sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65/add-on-bonsai-v0.8.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bonsai/","maintainer":"IfcOpenShell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save IFCs, IDS, BCF, etc from disk","network":"Augin / Cove.Tool integration for VR and environmental analysis","clipboard":"Copy and paste error logs"},"platforms":["windows-x64"],"tags":["3D View","Add Mesh","Animation","Camera","Development","Import-Export","Lighting","Material","Modeling","Mesh","Node","Object","Pipeline","Render","Scene","System","User Interface","UV"]},{"id":"Clean_Blue","schema_version":"1.0.0","name":"Clean Blue","version":"1.4.0","tagline":"This is a pleasant light-colored theme","archive_hash":"sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d/theme-clean-blue-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/clean-blue/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"redsquare","schema_version":"1.0.0","name":"RedSquare V2","version":"1.2.1","tagline":"A theme with basic red tones and a more square-ish type of look","archive_hash":"sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e/theme-redsquare-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redsquare/","maintainer":"luccadanielp","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"mengges_dark_theme","schema_version":"1.0.0","name":"MengGe's Dark Theme","version":"1.2.0","tagline":"Dark Theme Pro Max Ultra Plus Lift","archive_hash":"sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc","archive_size":5629,"archive_url":"https://extensions.blender.org/download/sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc/theme-mengges-dark-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mengges-dark-theme/","maintainer":"MengGe_KKD","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"armature_pie","schema_version":"1.0.0","name":"Armature Pie","version":"1.1.2","tagline":"Pick Armatures Comfortably & Solo Collection By Pie Menu","archive_hash":"sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da","archive_size":13793,"archive_url":"https://extensions.blender.org/download/sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da/add-on-armature-pie-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-pie/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"Elegant_Light_Theme","schema_version":"1.0.0","name":"Elegant_Light_Theme","version":"2.2.4","tagline":"Soft Light","archive_hash":"sha256:5a1978d7cf4fe901e61e4e542a06c56f129d67a1c62bbdba5caab77249a361a8","archive_size":5606,"archive_url":"https://extensions.blender.org/download/sha256:5a1978d7cf4fe901e61e4e542a06c56f129d67a1c62bbdba5caab77249a361a8/theme-elegant-light-theme-v2.2.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/elegant-light-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"livery_helper","schema_version":"1.0.0","name":"LiveryHelper","version":"1.0.3","tagline":"Makes creating, editing and customizing car liveries much easier","archive_hash":"sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab","archive_size":5198,"archive_url":"https://extensions.blender.org/download/sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab/add-on-livery-helper-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/livery-helper/","maintainer":"Mast26","license":["SPDX:MIT"],"permissions":{"files":"Loading source livery images"},"tags":["Material"]},{"id":"optiploy","schema_version":"1.0.0","name":"OptiPloy: Rig Spawner","version":"1.8.2","tagline":"Improve your workflow with smarter linking tools","archive_hash":"sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956","archive_size":41364,"archive_url":"https://extensions.blender.org/download/sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956/add-on-optiploy-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/optiploy/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and save .blend and folder entries"},"tags":["Pipeline","Animation","Rigging","Import-Export"]},{"id":"io_scene_mvr","schema_version":"1.0.0","name":"Scene MVR (.mvr) and GDTF (.gdtf)","version":"1.5.0","tagline":"My Virtual Rig and General Device Type Format","archive_hash":"sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9","archive_size":296414,"archive_url":"https://extensions.blender.org/download/sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9/add-on-io-scene-mvr-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-mvr/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"General Device Type Format and My Virtual Rig files"},"tags":["Import-Export","Scene","Lighting","Tracking","Rigging"]},{"id":"CV_Filter_Channels","schema_version":"1.0.0","name":"Filter_Channels","version":"1.0.8","tagline":"Filter channels in Graph Editor for animation","archive_hash":"sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2","archive_size":15830,"archive_url":"https://extensions.blender.org/download/sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2/add-on-cv-filter-channels-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cv-filter-channels/","maintainer":"Carles-V","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"right_mouse_navigation","schema_version":"1.0.0","name":"Right Mouse Navigation","version":"2.7.0","tagline":"Game Engine Movement and Menus","archive_hash":"sha256:2193377712cc67dd4bb865ee41d408735063a7895afbae09bc9974163705e672","archive_size":2198437,"archive_url":"https://extensions.blender.org/download/sha256:2193377712cc67dd4bb865ee41d408735063a7895afbae09bc9974163705e672/add-on-right-mouse-navigation-v2.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/right-mouse-navigation/","maintainer":"SpectralVectors","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Node","User Interface"]},{"id":"texel_density_checker","schema_version":"1.0.0","name":"Texel Density Checker","version":"2025.1.2","tagline":"Toolset for working with Texel Density","archive_hash":"sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35","archive_size":48357,"archive_url":"https://extensions.blender.org/download/sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35/add-on-texel-density-checker-v2025.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texel-density-checker/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","UV"]},{"id":"simple_renaming_panel","schema_version":"1.0.0","name":"Simple Renaming","version":"2.1.4","tagline":"Effortlessly rename multiple objects with this simple addon","archive_hash":"sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5","archive_size":46786,"archive_url":"https://extensions.blender.org/download/sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5/add-on-simple-renaming-panel-v2.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-renaming-panel/","maintainer":"MatthiasPatscheider","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Scene","User Interface"]},{"id":"auto_switch_theme","schema_version":"1.0.0","name":"Auto Switch Theme","version":"1.0.1","tagline":"Set light and dark themes based on your system appearance","archive_hash":"sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1","archive_size":11020,"archive_url":"https://extensions.blender.org/download/sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1/add-on-auto-switch-theme-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-switch-theme/","maintainer":"pablovazquez","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"ik_fk_snapping_tool","schema_version":"1.0.0","name":"IK-FK Snapping Tool","version":"3.0.3","tagline":"Tools to perform IK to FK and FK to IK snapping","archive_hash":"sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd","archive_size":19058,"archive_url":"https://extensions.blender.org/download/sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd/add-on-ik-fk-snapping-tool-v3.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ik-fk-snapping-tool/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"macos_dark_theme","schema_version":"1.0.0","name":"MacOS Dark Theme","version":"2.0.1","tagline":"The MacOS interface style in Blender","archive_hash":"sha256:5a2b3a93e7d4aad0a6adb3e52f382007e292af49730e5335f018b11c3cfdd4f3","archive_size":17990,"archive_url":"https://extensions.blender.org/download/sha256:5a2b3a93e7d4aad0a6adb3e52f382007e292af49730e5335f018b11c3cfdd4f3/theme-macos-dark-theme-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/macos-dark-theme/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"openvat","schema_version":"1.0.0","name":"OpenVAT","version":"1.1.0","tagline":"Encode and preview vertex animation textures","archive_hash":"sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1","archive_size":277888,"archive_url":"https://extensions.blender.org/download/sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1/add-on-openvat-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/openvat/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"]},{"id":"align2custom","schema_version":"1.0.0","name":"Align 2 Custom","version":"2.1.2","tagline":"Align 3D View to custom orientation or 3D cursor","archive_hash":"sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856","archive_size":17939,"archive_url":"https://extensions.blender.org/download/sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856/add-on-align2custom-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align2custom/","maintainer":"fdaubine","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View"]},{"id":"import_mixamo_root_motion","schema_version":"1.0.0","name":"Import Mixamo - Root Motion","version":"1.0.4","tagline":"Batch Import Fbx (Mixamo) And Apply Root Motion","archive_hash":"sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898","archive_size":23759,"archive_url":"https://extensions.blender.org/download/sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898/add-on-import-mixamo-root-motion-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/import-mixamo-root-motion/","maintainer":"DevilMayCry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import FBX from disk"},"tags":["Import-Export"]},{"id":"Quick_Rigid","schema_version":"1.0.0","name":"Quick Rigid","version":"1.2.1","tagline":"Easy access to the most used rigid body settings","archive_hash":"sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb","archive_size":1229239,"archive_url":"https://extensions.blender.org/download/sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb/add-on-quick-rigid-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-rigid/","maintainer":"nova3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Physics","Object"]},{"id":"geonode_shapekeys","schema_version":"1.0.0","name":"GeoNode Shape Keys","version":"1.0.0","tagline":"Sculpt on linked animated characters","archive_hash":"sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c","archive_size":220787,"archive_url":"https://extensions.blender.org/download/sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c/add-on-geonode-shapekeys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-shapekeys/","maintainer":"Mets","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"To load the necessary GeoNodes from its .blend file"},"tags":["Rigging"]},{"id":"mesh_mesh_align_plus","schema_version":"1.0.0","name":"Mesh Align Plus","version":"1.1.0-rc.1","tagline":"Move/align mesh parts+objects based on scene geometry/metrics","archive_hash":"sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719","archive_size":90285,"archive_url":"https://extensions.blender.org/download/sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719/add-on-mesh-mesh-align-plus-v1.1.0-rc.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-mesh-align-plus/","maintainer":"BitByte","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Mesh","Modeling","Object","User Interface"]},{"id":"theme_Houdini","schema_version":"1.0.0","name":"Houdini","version":"1.3.0","tagline":"Theme Inspired By SideFX Houdini","archive_hash":"sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9","archive_size":5502,"archive_url":"https://extensions.blender.org/download/sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9/theme-theme-houdini-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-houdini/","maintainer":"rmantdtg","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"mio3_copy_weight","schema_version":"1.0.0","name":"Mio3 Copy Weight","version":"1.1.0","tagline":"Copies weights of selected vertices across objects","archive_hash":"sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e","archive_size":15521,"archive_url":"https://extensions.blender.org/download/sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e/add-on-mio3-copy-weight-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-copy-weight/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"whispering_ripples","schema_version":"1.0.0","name":"Whispering Ripples","version":"1.3.0","tagline":"In the whisper of the night, ripples of creativity flow freely","archive_hash":"sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1","archive_size":6168,"archive_url":"https://extensions.blender.org/download/sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1/theme-whispering-ripples-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/whispering-ripples/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"sequenced_bake","schema_version":"1.0.0","name":"Sequenced Bake","version":"1.1.0","tagline":"Tools for baking material sequences and generating sprite sheets","archive_hash":"sha256:4b620425863eb4e05633c51819c2cf0224a8710d5664668a460c11cc9f38a65d","archive_size":36020,"archive_url":"https://extensions.blender.org/download/sha256:4b620425863eb4e05633c51819c2cf0224a8710d5664668a460c11cc9f38a65d/add-on-sequenced-bake-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sequenced-bake/","maintainer":"Anthony-OConnell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Saving and opening image files"},"tags":["Material","Bake","Node"]},{"id":"quick_menu","schema_version":"1.0.0","name":"QuickMenu","version":"2.0.0","tagline":"Quick-Add/Mod & Quick-Cam","archive_hash":"sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2","archive_size":17449,"archive_url":"https://extensions.blender.org/download/sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2/add-on-quick-menu-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-menu/","maintainer":"QiuMu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"auto_track","schema_version":"1.0.0","name":"Auto-tracking","version":"1.0.0","tagline":"VFX motion tracking automation","archive_hash":"sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d","archive_size":3589,"archive_url":"https://extensions.blender.org/download/sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d/add-on-auto-track-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track/","maintainer":"mcd1992","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"snap_bisect","schema_version":"1.0.0","name":"Snap Bisect","version":"1.0.6","tagline":"Bisect operator with snapping to vertices or edge midpoints","archive_hash":"sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a","archive_size":3851,"archive_url":"https://extensions.blender.org/download/sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a/add-on-snap-bisect-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-bisect/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"shape_key_swapper_extension","schema_version":"1.0.0","name":"ShapeKeySwapper","version":"1.0.3","tagline":"Swap vertex positions between 0 and 1 of the active shape key","archive_hash":"sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0","archive_size":1941,"archive_url":"https://extensions.blender.org/download/sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0/add-on-shape-key-swapper-extension-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-swapper-extension/","maintainer":"Maro3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"passpartout_slider","schema_version":"1.0.0","name":"Passpartout Slider","version":"1.0.0","tagline":"Let's you control active camera Passpartout by pressing P","archive_hash":"sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21","archive_size":1819,"archive_url":"https://extensions.blender.org/download/sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21/add-on-passpartout-slider-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/passpartout-slider/","maintainer":"Costa","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Professional_theme","schema_version":"1.0.0","name":"Professional","version":"1.0.1","tagline":"Refined dark theme for professional use","archive_hash":"sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9","archive_size":36987,"archive_url":"https://extensions.blender.org/download/sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9/theme-professional-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/professional-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Piano_White_theme","schema_version":"1.0.0","name":"Piano_White","version":"1.0.2","tagline":"Elegant piano-inspired light theme","archive_hash":"sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d","archive_size":36289,"archive_url":"https://extensions.blender.org/download/sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d/theme-piano-white-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/piano-white-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Pastel_Pink_theme","schema_version":"1.0.0","name":"Pastel_Pink","version":"1.0.0","tagline":"Bright and poppy pastel pink Blender theme","archive_hash":"sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae","archive_size":36506,"archive_url":"https://extensions.blender.org/download/sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae/theme-pastel-pink-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/pastel-pink-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Midnight_theme","schema_version":"1.0.0","name":"Midnight","version":"1.0.1","tagline":"Midnight blue dark theme","archive_hash":"sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c","archive_size":36944,"archive_url":"https://extensions.blender.org/download/sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c/theme-midnight-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/midnight-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Metaseq_theme","schema_version":"1.0.0","name":"Metaseq","version":"1.0.1","tagline":"Light Metasequoia-style Blender theme","archive_hash":"sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c","archive_size":36310,"archive_url":"https://extensions.blender.org/download/sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c/theme-metaseq-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Maya2024_theme","schema_version":"1.0.0","name":"Maya2024","version":"1.0.1","tagline":"Maya-inspired Blender theme","archive_hash":"sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5","archive_size":36471,"archive_url":"https://extensions.blender.org/download/sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5/theme-maya2024-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/maya2024-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Graphite_theme","schema_version":"1.0.0","name":"Graphite","version":"1.0.2","tagline":"Dark cool blue-tinted graphite theme","archive_hash":"sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40","archive_size":36964,"archive_url":"https://extensions.blender.org/download/sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40/theme-graphite-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/graphite-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Emerald_theme","schema_version":"1.0.0","name":"Emerald","version":"1.0.1","tagline":"Cyber-style green theme","archive_hash":"sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d","archive_size":36939,"archive_url":"https://extensions.blender.org/download/sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d/theme-emerald-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/emerald-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Choco_Mint_theme","schema_version":"1.0.0","name":"Choco_Mint","version":"1.0.1","tagline":"Sweet and cool choco mint ice cream theme","archive_hash":"sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a","archive_size":36494,"archive_url":"https://extensions.blender.org/download/sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a/theme-choco-mint-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/choco-mint-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"keyframe_tools_extension","schema_version":"1.0.0","name":"Keyframe Tools","version":"1.0.7","tagline":"A set of tools for inserting, deleting, and moving keyframes","archive_hash":"sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e","archive_size":11009,"archive_url":"https://extensions.blender.org/download/sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e/add-on-keyframe-tools-extension-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-tools-extension/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"omUlete","schema_version":"1.0.0","name":"omUlete","version":"0.98.1","tagline":"A stand-alone exporter for the Panda3D .egg format","archive_hash":"sha256:5031cdf7abcb8758f037e5c921338c68e8407120c958dd5e2f54531efb768e2b","archive_size":32611,"archive_url":"https://extensions.blender.org/download/sha256:5031cdf7abcb8758f037e5c921338c68e8407120c958dd5e2f54531efb768e2b/add-on-omulete-v0.98.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/omulete/","maintainer":"Jackson-Sutherland","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"save exported egg files"},"tags":["Import-Export","Game Engine"]},{"id":"custom_output_path","schema_version":"1.0.0","name":"Custom Output Path","version":"1.1.7","tagline":"Customize file output paths with placeholders","archive_hash":"sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc","archive_size":23227,"archive_url":"https://extensions.blender.org/download/sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc/add-on-custom-output-path-v1.1.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/custom-output-path/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Render"]},{"id":"render_preset","schema_version":"1.0.0","name":"Render Preset","version":"1.3.4","tagline":"Create and use render presets","archive_hash":"sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3","archive_size":74565,"archive_url":"https://extensions.blender.org/download/sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3/add-on-render-preset-v1.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-preset/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files in a user-defined location"},"tags":["Render","Pipeline"]},{"id":"mesh_maze","schema_version":"1.0.0","name":"Maze any Mesh","version":"1.2.2","tagline":"Convert any mesh to a maze pattern","archive_hash":"sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2","archive_size":18705,"archive_url":"https://extensions.blender.org/download/sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2/add-on-mesh-maze-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-maze/","maintainer":"elfnorcat","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Amethyst_theme","schema_version":"1.0.0","name":"Amethyst","version":"1.0.2","tagline":"Cyberpunk-inspired purple theme","archive_hash":"sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f","archive_size":36951,"archive_url":"https://extensions.blender.org/download/sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f/theme-amethyst-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/amethyst-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"NodePie","schema_version":"1.0.0","name":"Node Pie","version":"1.2.51","tagline":"Add nodes faster with a pie menu","archive_hash":"sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36","archive_size":414208,"archive_url":"https://extensions.blender.org/download/sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36/add-on-nodepie-v1.2.51.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nodepie/","maintainer":"Strike_Digital","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing config files"},"tags":["User Interface","Node"]},{"id":"drag_and_drop_support","schema_version":"1.0.0","name":"Drag and Drop Support","version":"1.3.0","tagline":"Support and improve drag and drop imports in Blender","archive_hash":"sha256:ffca1b51dec3b369d4550b7890bdcfe83ca5e33fbf8b0f77c6feb777640a0980","archive_size":29508,"archive_url":"https://extensions.blender.org/download/sha256:ffca1b51dec3b369d4550b7890bdcfe83ca5e33fbf8b0f77c6feb777640a0980/add-on-drag-and-drop-support-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/drag-and-drop-support/","maintainer":"Natsune-Mochizuki","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import models from the disk"},"tags":["3D View","Import-Export"]},{"id":"deep_gray_something","schema_version":"1.0.0","name":"Deep Gray Something","version":"1.0.1","tagline":"Blender 5 dark theme with blue and green selection highlights","archive_hash":"sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1","archive_size":6009,"archive_url":"https://extensions.blender.org/download/sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1/theme-deep-gray-something-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-gray-something/","maintainer":"blanchsb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast","Accessibility"]},{"id":"matbatchtools","schema_version":"1.0.0","name":"Material Batch Tools","version":"2.3.2","tagline":"Quick batch automation of common material tasks","archive_hash":"sha256:2e401a8e2ad6de13a53c7a9b751d6276cb02b9d9cd1e027d2ff48cd58870a08f","archive_size":35616,"archive_url":"https://extensions.blender.org/download/sha256:2e401a8e2ad6de13a53c7a9b751d6276cb02b9d9cd1e027d2ff48cd58870a08f/add-on-matbatchtools-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matbatchtools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"sourceenginecollisiontools","schema_version":"1.0.0","name":"Source Engine Collision Tools","version":"3.1.0","tagline":"Generate & optimize collision models for use in Source Engine","archive_hash":"sha256:88575696022112376ab270c7bc38eddffcbd4c1ea271396e86c38c8a767ab08d","archive_size":68443,"archive_url":"https://extensions.blender.org/download/sha256:88575696022112376ab270c7bc38eddffcbd4c1ea271396e86c38c8a767ab08d/add-on-sourceenginecollisiontools-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sourceenginecollisiontools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export collision-related QC and VMF files"},"tags":["Mesh","Object","Game Engine"]},{"id":"Key_Ops_Toolkit","schema_version":"1.0.0","name":"Key Ops: Toolkit","version":"0.2.1985","tagline":"Industri Standard Tools & Shortcuts to Speed Up Blender Workflow","archive_hash":"sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40","archive_size":201205,"archive_url":"https://extensions.blender.org/download/sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40/add-on-key-ops-toolkit-v0.2.1985.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/key-ops-toolkit/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export/Import .obj files and use of temp folder"},"tags":["Modeling","Mesh","Object","UV","3D View"]},{"id":"hot_node","schema_version":"1.0.0","name":"Hot Node","version":"1.2.1","tagline":"Add nodes like adding node","archive_hash":"sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4","archive_size":113483,"archive_url":"https://extensions.blender.org/download/sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4/add-on-hot-node-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hot-node/","maintainer":"Trantor","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access file system for storing custom nodes"},"tags":["Node","Geometry Nodes","Material"]},{"id":"ZenUVChecker","schema_version":"1.0.0","name":"Zen UV Checker","version":"1.4.12","tagline":"Check the state of UVs on the model easily with Checker Textures","archive_hash":"sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672","archive_size":2989286,"archive_url":"https://extensions.blender.org/download/sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672/add-on-zenuvchecker-v1.4.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/zenuvchecker/","maintainer":"Sergey_Tyapkin","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to folders for importing Checker Textures"},"tags":["UV"]},{"id":"improved_node_search","schema_version":"1.0.0","name":"Improved Node Search","version":"1.0.5","tagline":"Navigate your node tree faster via more node search options","archive_hash":"sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4","archive_size":11647,"archive_url":"https://extensions.blender.org/download/sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4/add-on-improved-node-search-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/improved-node-search/","maintainer":"Griperis","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"noise_nodes","schema_version":"1.0.0","name":"Noise Nodes","version":"0.7.0","tagline":"Advance Noise Nodes For blender","archive_hash":"sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc","archive_size":1482042,"archive_url":"https://extensions.blender.org/download/sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc/add-on-noise-nodes-v0.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/noise-nodes/","maintainer":"Haseeb-Ahmed-3","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"Modifier_List_Fork","schema_version":"1.0.0","name":"Modifier List","version":"1.9.88","tagline":"Enhanced Modifier UI/Features, now with Edit Mesh Modifier","archive_hash":"sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55","archive_size":164500,"archive_url":"https://extensions.blender.org/download/sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55/add-on-modifier-list-fork-v1.9.88.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifier-list-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save Add-on Prefrences"},"tags":["Modeling","User Interface"]},{"id":"PolyQuilt_Fork","schema_version":"1.0.0","name":"PolyQuilt Retopology Tool","version":"1.45.9","tagline":"Retopology Tool for Blender","archive_hash":"sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5","archive_size":179729,"archive_url":"https://extensions.blender.org/download/sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5/add-on-polyquilt-fork-v1.45.9.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/polyquilt-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"clear_filepaths","schema_version":"1.0.0","name":"Clear Filepaths","version":"1.1.2","tagline":"Removes personal filepaths from your .blend file","archive_hash":"sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9","archive_size":4114,"archive_url":"https://extensions.blender.org/download/sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9/add-on-clear-filepaths-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clear-filepaths/","maintainer":"FlailingFog","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Saves a copy of a .blend file without filepaths"},"platforms":["windows-x64"],"tags":["System"]},{"id":"onyx","schema_version":"1.0.0","name":"Onyx","version":"1.1.0","tagline":"A minimalistic dark theme","archive_hash":"sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6","archive_size":5177,"archive_url":"https://extensions.blender.org/download/sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6/theme-onyx-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/onyx/","maintainer":"Aeraglyx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"incremental_auto_save","schema_version":"1.0.0","name":"Incremental Auto-Save","version":"1.1.1","tagline":"Improvements to Blender's Autosave","archive_hash":"sha256:f97c7e93f3ba3f7f6d8cbe3e0dbc911bb5d0011df70841e4762f80bea70e1cee","archive_size":74530,"archive_url":"https://extensions.blender.org/download/sha256:f97c7e93f3ba3f7f6d8cbe3e0dbc911bb5d0011df70841e4762f80bea70e1cee/add-on-incremental-auto-save-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/incremental-auto-save/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save preferences & .blends in chosen directories"},"tags":["System"]},{"id":"tiny_backup","schema_version":"1.0.0","name":"Tiny Backup","version":"1.0.2","tagline":"A minimalistic backup solution","archive_hash":"sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc","archive_size":13763,"archive_url":"https://extensions.blender.org/download/sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc/add-on-tiny-backup-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tiny-backup/","maintainer":"Thane5","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Save backups on disk"},"tags":["System"]},{"id":"Randomize_Bones_Pose","schema_version":"1.0.0","name":"Randomize_Bones_Pose","version":"2.0.0","tagline":"Randomize_Bones_Pose","archive_hash":"sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4","archive_size":16685,"archive_url":"https://extensions.blender.org/download/sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4/add-on-randomize-bones-pose-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-bones-pose/","maintainer":"IZ.MdVerz","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"omniscient","schema_version":"1.0.0","name":"Omniscient Importer","version":"2.3.5","tagline":"Automated scene setup for shots recorded with Omniscient iOS app","archive_hash":"sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e","archive_size":119480,"archive_url":"https://extensions.blender.org/download/sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e/add-on-omniscient-v2.3.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omniscient/","maintainer":"Omniscient","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .omni file from disk"},"tags":["Tracking","Import-Export","Camera","Compositing","Animation","Mesh","Scene"]},{"id":"pose_shape_keys","schema_version":"1.0.0","name":"Pose Shape Keys","version":"1.0.0","tagline":"Preserve your shape keys through weight changes, and much more","archive_hash":"sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6","archive_size":35835,"archive_url":"https://extensions.blender.org/download/sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6/add-on-pose-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pose-shape-keys/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"select_panel_xdanic","schema_version":"1.0.0","name":"Select panel","version":"0.1.5","tagline":"All selections and more under a panel","archive_hash":"sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793","archive_size":4058,"archive_url":"https://extensions.blender.org/download/sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793/add-on-select-panel-xdanic-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-panel-xdanic/","maintainer":"xdanic","license":["SPDX:GPL-2.0"],"tags":["User Interface"]},{"id":"theme_XP_AliVe","schema_version":"1.0.0","name":"XP_AliVe","version":"1.0.3","tagline":"Blender theme inspired by 2000s","archive_hash":"sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a","archive_size":5978,"archive_url":"https://extensions.blender.org/download/sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a/theme-theme-xp-alive-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xp-alive/","maintainer":"AliVe","license":["SPDX:GPL-2.0-or-later"],"tags":["Colorful","High Contrast","Inspired By","Accessibility"]},{"id":"MustardUI","schema_version":"1.0.0","name":"MustardUI","version":"2026.2.1","tagline":"Easy-to-use UI for human characters","archive_hash":"sha256:c22b64c388d66d3719dce4a2edee1f3f3a39e0f295364da95b68eedb659e085c","archive_size":436947,"archive_url":"https://extensions.blender.org/download/sha256:c22b64c388d66d3719dce4a2edee1f3f3a39e0f295364da95b68eedb659e085c/add-on-mustardui-v2026.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mustardui/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export templates from/to disk"},"tags":["User Interface"]},{"id":"Half_Knife","schema_version":"1.0.0","name":"Half Knife","version":"1.3.85","tagline":"Optimized for fast workflow knife tool for Blender","archive_hash":"sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83","archive_size":15498,"archive_url":"https://extensions.blender.org/download/sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83/add-on-half-knife-v1.3.85.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/half-knife/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"node_quick_maths","schema_version":"1.0.0","name":"Node Quick Maths","version":"1.2.2","tagline":"A fast way to make long math chains in node editors","archive_hash":"sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac","archive_size":22432,"archive_url":"https://extensions.blender.org/download/sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac/add-on-node-quick-maths-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-quick-maths/","maintainer":"Zeptofine","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"easyweight","schema_version":"1.0.0","name":"EasyWeight","version":"1.0.9","tagline":"Weight Painting Workflow Boosters","archive_hash":"sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0","archive_size":42626,"archive_url":"https://extensions.blender.org/download/sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0/add-on-easyweight-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easyweight/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"set_smooth_group","schema_version":"1.0.0","name":"Set Smooth Group","version":"1.1.0","tagline":"Simplify setting smooth groups with sharp edges","archive_hash":"sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b","archive_size":17228,"archive_url":"https://extensions.blender.org/download/sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b/add-on-set-smooth-group-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-smooth-group/","maintainer":"VIktor-Kom","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"toggle_socket_visibility","schema_version":"1.0.0","name":"Toggle Socket Visibility","version":"1.0.0","tagline":"Control which node sockets are visible or not via panel/pop-up","archive_hash":"sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f","archive_size":7638,"archive_url":"https://extensions.blender.org/download/sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f/add-on-toggle-socket-visibility-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-socket-visibility/","maintainer":"quackarooni","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"strange_attractors","schema_version":"1.0.0","name":"Strange Attractors","version":"2.1.0","tagline":"Add Strange Attractor curves","archive_hash":"sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06/add-on-strange-attractors-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/strange-attractors/","maintainer":"7bitretro","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"k_tools_view_sync","schema_version":"1.0.0","name":"Sync | Lock Viewport","version":"2.7.0","tagline":"Sync or Lock multiple viewports at once in real-time","archive_hash":"sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf","archive_size":46836,"archive_url":"https://extensions.blender.org/download/sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf/add-on-k-tools-view-sync-v2.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-view-sync/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"universal_multi_importer","schema_version":"1.0.0","name":"Universal Multi Importer","version":"2.3.3","tagline":"Batch Import many file formats at once, Batch process them","archive_hash":"sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599","archive_size":118110,"archive_url":"https://extensions.blender.org/download/sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599/add-on-universal-multi-importer-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/universal-multi-importer/","maintainer":"Tilapiatsu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Files from disk, save presets to disk"},"tags":["Import-Export","Pipeline"]},{"id":"BAM","schema_version":"1.0.0","name":"[BAM] AutoMat","version":"1.2.1","tagline":"Batch creation of materials from textures folder","archive_hash":"sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649","archive_size":563501,"archive_url":"https://extensions.blender.org/download/sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649/add-on-bam-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bam/","maintainer":"AlexeyHRDesign","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Import-Export"]},{"id":"action_to_scene_range","schema_version":"1.0.0","name":"Action to Scene Range","version":"1.7.0","tagline":"When switching Actions, automatically set the Scene Frame Range","archive_hash":"sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf","archive_size":2520,"archive_url":"https://extensions.blender.org/download/sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf/add-on-action-to-scene-range-v1.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/action-to-scene-range/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"face_set_operators","schema_version":"1.0.0","name":"Face Set Operators","version":"1.0.0","tagline":"Convert sculpt mode attributes into anything you need","archive_hash":"sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6","archive_size":4650,"archive_url":"https://extensions.blender.org/download/sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6/add-on-face-set-operators-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-set-operators/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt","Mesh"]},{"id":"my_best_pie_menu_ever","schema_version":"1.0.0","name":"My Best Pie Menu Ever","version":"2.9.1","tagline":"Quick access to the functions you need","archive_hash":"sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c","archive_size":84510,"archive_url":"https://extensions.blender.org/download/sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c/add-on-my-best-pie-menu-ever-v2.9.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/my-best-pie-menu-ever/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["3D View","User Interface"]},{"id":"mmd_tools","schema_version":"1.0.0","name":"MMD Tools","version":"4.5.7","tagline":"Utility tools for MMD model editing","archive_hash":"sha256:73b8bafc72ce9c18d1e7ef797e9cc3f69929fbc6f530b5de5a994c874ed27595","archive_size":746641,"archive_url":"https://extensions.blender.org/download/sha256:73b8bafc72ce9c18d1e7ef797e9cc3f69929fbc6f530b5de5a994c874ed27595/add-on-mmd-tools-v4.5.7.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/mmd-tools/","maintainer":"MMD","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PMX/PMD/VMD/VPD from/to disk"},"tags":["3D View","Camera","Import-Export","Material","Mesh","Object","Physics"]},{"id":"bioxelnodes","schema_version":"1.0.0","name":"Bioxel Nodes","version":"1.0.9","tagline":"For scientific volumetric data visualization in Blender","archive_hash":"sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620","archive_size":28047296,"archive_url":"https://extensions.blender.org/download/sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620/add-on-bioxelnodes-v1.0.9-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bioxelnodes/","maintainer":"icrdr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export volume data from/to disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Render","Import-Export"]},{"id":"molecularnodes","schema_version":"1.0.0","name":"Molecular Nodes","version":"4.5.10","tagline":"A toolbox for molecular import and animation in Blender","archive_hash":"sha256:63b867c8e187308ba03a0b00baeb9c32938da460017cb9ee1446c69cd66ce8b9","archive_size":132883479,"archive_url":"https://extensions.blender.org/download/sha256:63b867c8e187308ba03a0b00baeb9c32938da460017cb9ee1446c69cd66ce8b9/add-on-molecularnodes-v4.5.10-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/molecularnodes/","maintainer":"bradyajohnston","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk and caching downloads","network":"Downloading structural data from the PDB and AFPDB"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"io_scene_psk_psa","schema_version":"1.0.0","name":"Unreal PSK/PSA (.psk/.psa)","version":"9.1.0","tagline":"Import and export PSK and PSA files used in Unreal Engine","archive_hash":"sha256:4584dcb08c45023f4512090fb9c58ddac8711d5b72072f00478adfa7f130fc8a","archive_size":80723,"archive_url":"https://extensions.blender.org/download/sha256:4584dcb08c45023f4512090fb9c58ddac8711d5b72072f00478adfa7f130fc8a/add-on-io-scene-psk-psa-v9.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-scene-psk-psa/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write PSK and PSA files from and to disk"},"tags":["Game Engine","Import-Export"]},{"id":"theme_Plasticity","schema_version":"1.0.0","name":"Plasticity","version":"2.0.0","tagline":"Theme Inspired By Plasticity app","archive_hash":"sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351","archive_size":6395,"archive_url":"https://extensions.blender.org/download/sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351/theme-theme-plasticity-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-plasticity/","maintainer":"SHEK","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast","Inspired By","Accessibility"]},{"id":"open_stage_blender_dmx","schema_version":"1.0.0","name":"DMX","version":"2.1.6","tagline":"Visualization & programming with GDTF&MVR, OSC, PSN, Networking","archive_hash":"sha256:034899c2f1d9e8d08ba6012005a2da4f37bcd5a09a4605e81034f8b046dc4ef8","archive_size":2002292,"archive_url":"https://extensions.blender.org/download/sha256:034899c2f1d9e8d08ba6012005a2da4f37bcd5a09a4605e81034f8b046dc4ef8/add-on-open-stage-blender-dmx-v2.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-stage-blender-dmx/","maintainer":"Sunova","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import GDTF devices. Import/Export MVR scenes and project data","network":"For GDTF Share, sACN, Art-Net, OSC, PSN, MVR-xchange"},"tags":["Lighting","Animation","Scene","Import-Export","Rigging","Tracking","Sequencer","3D View","Camera"]},{"id":"maze_generator","schema_version":"1.0.0","name":"Maze Generator","version":"0.2.5","tagline":"A Maze generator extension for Blender","archive_hash":"sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030","archive_size":22231,"archive_url":"https://extensions.blender.org/download/sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030/add-on-maze-generator-v0.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maze-generator/","maintainer":"Leeroy-Majors","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"node_group_presets","schema_version":"1.0.0","name":"Node Group Presets","version":"0.8.0","tagline":"Save Node Group values as presets","archive_hash":"sha256:201454f4c0a32eed158502d13a0887141aaf4494647a22b4264802f94272b5a0","archive_size":27634,"archive_url":"https://extensions.blender.org/download/sha256:201454f4c0a32eed158502d13a0887141aaf4494647a22b4264802f94272b5a0/add-on-node-group-presets-v0.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-presets/","maintainer":"juaum","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy/paste presets between nodedroups and across files"},"tags":["Geometry Nodes","Material","Node"]},{"id":"booltron","schema_version":"1.0.0","name":"Booltron","version":"3.3.0","tagline":"Super add-on for superfast booleans","archive_hash":"sha256:c6a8197f7c73a3a1381888de23f9acc9f8bfe8496121fa08b5bb7c355b9b9d1d","archive_size":163818,"archive_url":"https://extensions.blender.org/download/sha256:c6a8197f7c73a3a1381888de23f9acc9f8bfe8496121fa08b5bb7c355b9b9d1d/add-on-booltron-v3.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/booltron/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"Dark_Pro","schema_version":"1.0.0","name":"Dark Pro","version":"2.0.2","tagline":"Just a little darker","archive_hash":"sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b","archive_size":5431,"archive_url":"https://extensions.blender.org/download/sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b/theme-dark-pro-v2.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/dark-pro/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"quick_groups","schema_version":"1.0.0","name":"Quick Groups (Instances)","version":"1.0.3","tagline":"Group objects with Ctrl+G using instances","archive_hash":"sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c","archive_size":6862,"archive_url":"https://extensions.blender.org/download/sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c/add-on-quick-groups-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-groups/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling"]},{"id":"t3d_gn_presets","schema_version":"1.0.0","name":"T3D GN Presets","version":"1.6.0","tagline":"A versatile collection of useful node groups for Geometry Nodes","archive_hash":"sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd","archive_size":835788,"archive_url":"https://extensions.blender.org/download/sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd/add-on-t3d-gn-presets-v1.6.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/t3d-gn-presets/","maintainer":"Tams_3d","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Append node-groups from source file"},"tags":["Geometry Nodes"]},{"id":"per_camera_resolution","schema_version":"1.0.0","name":"Per-Camera Resolution","version":"2.3.2","tagline":"Every camera should have its resolution","archive_hash":"sha256:48cecdfc004417c6d0dee452657d0822dd96ea3897e159d5544d9819f3e54b8f","archive_size":11199,"archive_url":"https://extensions.blender.org/download/sha256:48cecdfc004417c6d0dee452657d0822dd96ea3897e159d5544d9819f3e54b8f/add-on-per-camera-resolution-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/per-camera-resolution/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","Camera"]},{"id":"synchronize_workspaces","schema_version":"1.0.0","name":"Synchronize Workspaces","version":"1.14.0","tagline":"Synchronize 3D views between workspaces","archive_hash":"sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5","archive_size":3974,"archive_url":"https://extensions.blender.org/download/sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5/add-on-synchronize-workspaces-v1.14.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/synchronize-workspaces/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"grease_pencil_tool_wheel","schema_version":"1.0.0","name":"GP Tool Wheel","version":"1.0.11","tagline":"Extended pie menu for selecting Grease Pencil tools quickly","archive_hash":"sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6","archive_size":206402,"archive_url":"https://extensions.blender.org/download/sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6/add-on-grease-pencil-tool-wheel-v1.0.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tool-wheel/","maintainer":"SietseB","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Grease Pencil"]},{"id":"commotion","schema_version":"1.0.0","name":"Commotion","version":"2.5.0","tagline":"Animation offset tools for motion graphics","archive_hash":"sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb","archive_size":27868,"archive_url":"https://extensions.blender.org/download/sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb/add-on-commotion-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/commotion/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"find_bad_tracks","schema_version":"1.0.0","name":"Find Bad Tracks","version":"1.0.2","tagline":"Highlight motion tracks that move in suspicious directions","archive_hash":"sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8","archive_size":25067,"archive_url":"https://extensions.blender.org/download/sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8/add-on-find-bad-tracks-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/find-bad-tracks/","maintainer":"Walles","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"cloudrig","schema_version":"1.0.0","name":"CloudRig","version":"2.2.16","tagline":"Rig Generation & Rigging Workflow Tools","archive_hash":"sha256:ba8a62587c890244723bf50725b6c2dd95a64ac70544eff8ced05bc5087be8ee","archive_size":3303501,"archive_url":"https://extensions.blender.org/download/sha256:ba8a62587c890244723bf50725b6c2dd95a64ac70544eff8ced05bc5087be8ee/add-on-cloudrig-v2.2.16.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/cloudrig/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load widgets/metarigs/preferences from disk","clipboard":"Copy/paste Bone Collections between armatures"},"tags":["Rigging"]},{"id":"theme_drcl","schema_version":"1.0.0","name":"drcl","version":"1.0.3","tagline":"A variation of Dracula dark theme","archive_hash":"sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040","archive_size":4955,"archive_url":"https://extensions.blender.org/download/sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040/theme-theme-drcl-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-drcl/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"YB_Animator_Tool","schema_version":"1.0.0","name":"YB Animator Tool","version":"1.1.3","tagline":"export grease pencil layers as keyframes and CSV","archive_hash":"sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b","archive_size":5541,"archive_url":"https://extensions.blender.org/download/sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b/add-on-yb-animator-tool-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/yb-animator-tool/","maintainer":"YB_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Output CSV and sequence diagram"},"tags":["Grease Pencil","Animation","User Interface"]},{"id":"keymesh","schema_version":"1.0.0","name":"Keymesh","version":"2.3.2","tagline":"Create stop-motion animations by sculpting frame-by-frame","archive_hash":"sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a","archive_size":42763,"archive_url":"https://extensions.blender.org/download/sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a/add-on-keymesh-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keymesh/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store generated pose preview images and/or load them from disk"},"tags":["Animation","Sculpt","Mesh"]},{"id":"node_annotator","schema_version":"1.0.0","name":"Node Annotator","version":"0.4.2","tagline":"Easily create good documentation of your node trees","archive_hash":"sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef","archive_size":28721,"archive_url":"https://extensions.blender.org/download/sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef/add-on-node-annotator-v0.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-annotator/","maintainer":"FrankFirsching","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"theme_ps","schema_version":"1.0.0","name":"PS","version":"1.1.3","tagline":"Adobe Photoshop inspired light theme","archive_hash":"sha256:1b69c3dabcffcdd76b87ed15724dd2db995821823b72bdea8946c0709854cbc2","archive_size":5663,"archive_url":"https://extensions.blender.org/download/sha256:1b69c3dabcffcdd76b87ed15724dd2db995821823b72bdea8946c0709854cbc2/theme-theme-ps-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-ps/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Light"]},{"id":"toggle_language","schema_version":"1.0.0","name":"Toggle Language","version":"1.6.2","tagline":"One click to toggle UI between two languages","archive_hash":"sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe","archive_size":31213,"archive_url":"https://extensions.blender.org/download/sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe/add-on-toggle-language-v1.6.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-language/","maintainer":"del1a8dc50179276c0","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_lighting_environment","schema_version":"1.0.0","name":"QLE (Quick Lighting Environment)","version":"1.8.0","tagline":"Adds a Basic Lighting Setup to Your Blender Scene","archive_hash":"sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883","archive_size":105787,"archive_url":"https://extensions.blender.org/download/sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883/add-on-quick-lighting-environment-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-lighting-environment/","maintainer":"don1138","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"SB_path_actions","schema_version":"1.0.0","name":"Path Actions","version":"2.6.0","tagline":"Open blend folder in OS explorer, and more","archive_hash":"sha256:19bc2a56bd8ad64ddb1b4c2a82f5faec4af79b151aea66f50c6b47e33e0385b4","archive_size":42150,"archive_url":"https://extensions.blender.org/download/sha256:19bc2a56bd8ad64ddb1b4c2a82f5faec4af79b151aea66f50c6b47e33e0385b4/add-on-sb-path-actions-v2.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sb-path-actions/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open folders, List Blend files","clipboard":"Copy path to files"},"tags":["System","Development"]},{"id":"print3d_toolbox","schema_version":"1.0.0","name":"3D Print Toolbox","version":"1.3.2","tagline":"Utilities for 3D printing","archive_hash":"sha256:71545a4be21fc2a9d28ae8d810d2cfca1e37da1a5db2d4826f28883c69da20b8","archive_size":145816,"archive_url":"https://extensions.blender.org/download/sha256:71545a4be21fc2a9d28ae8d810d2cfca1e37da1a5db2d4826f28883c69da20b8/add-on-print3d-toolbox-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/print3d-toolbox/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export STL, PLY, OBJ files"},"tags":["Mesh"]},{"id":"fls_blcn","schema_version":"1.0.0","name":"Fast Language Switch","version":"0.0.5","tagline":"Fast change the language of the interface","archive_hash":"sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9","archive_size":2475,"archive_url":"https://extensions.blender.org/download/sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9/add-on-fls-blcn-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fls-blcn/","maintainer":"Kk","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"theme_xsi","schema_version":"1.0.0","name":"Softimage XSI","version":"5.0.0","tagline":"Community-made theme inspired by Softimage XSI","archive_hash":"sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443","archive_size":6273,"archive_url":"https://extensions.blender.org/download/sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443/theme-theme-xsi-v5.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xsi/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By"]},{"id":"theme_white","schema_version":"1.0.0","name":"White","version":"1.0.1","tagline":"Community-made theme","archive_hash":"sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0","archive_size":6242,"archive_url":"https://extensions.blender.org/download/sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0/theme-theme-white-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-white/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_print_friendly","schema_version":"1.0.0","name":"Print Friendly","version":"2.0.0","tagline":"Community-made theme optimized for printing","archive_hash":"sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24","archive_size":5585,"archive_url":"https://extensions.blender.org/download/sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24/theme-theme-print-friendly-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-print-friendly/","maintainer":"JasonvanGumster","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_minimal_dark","schema_version":"1.0.0","name":"Minimal Dark","version":"3.1.2","tagline":"A flat dark theme for Blender","archive_hash":"sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a","archive_size":7358,"archive_url":"https://extensions.blender.org/download/sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a/theme-theme-minimal-dark-v3.1.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-minimal-dark/","maintainer":"jlampel","license":["SPDX:GPL-2.0-or-later"]},{"id":"theme_maya","schema_version":"1.0.0","name":"Maya","version":"2.0.0","tagline":"Community-made theme inspired by Maya","archive_hash":"sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a","archive_size":5859,"archive_url":"https://extensions.blender.org/download/sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a/theme-theme-maya-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-maya/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"theme_deep_grey","schema_version":"1.0.0","name":"Deep Grey","version":"2.0.3","tagline":"A comfortable medium dark theme for Blender","archive_hash":"sha256:86ec45b09abcbaf00bf2f28ff6d056784810a1a0b5b86b9a72f95c18ce8eb471","archive_size":5550,"archive_url":"https://extensions.blender.org/download/sha256:86ec45b09abcbaf00bf2f28ff6d056784810a1a0b5b86b9a72f95c18ce8eb471/theme-theme-deep-grey-v2.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-deep-grey/","maintainer":"TheRedWaxPolice","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"skinify_rig","schema_version":"1.0.0","name":"Skinify Rig","version":"0.11.2","tagline":"Creates a mesh object from selected bones","archive_hash":"sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61","archive_size":6450,"archive_url":"https://extensions.blender.org/download/sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61/add-on-skinify-rig-v0.11.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skinify-rig/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"f2","schema_version":"1.0.0","name":"F2","version":"1.8.5","tagline":"Extends the 'Make Edge/Face' functionality","archive_hash":"sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c","archive_size":5505,"archive_url":"https://extensions.blender.org/download/sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c/add-on-f2-v1.8.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/f2/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"navigation","schema_version":"1.0.0","name":"3D Navigation","version":"1.3.0","tagline":"Navigate the 3D Viewport from the Sidebar","archive_hash":"sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed","archive_size":3238,"archive_url":"https://extensions.blender.org/download/sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed/add-on-navigation-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"amaranth","schema_version":"1.0.0","name":"Amaranth","version":"1.0.29","tagline":"A collection of tools to improve productivity","archive_hash":"sha256:05976c27d5779ad056921a08037cf0dd7506ded1d2059b4d08c0514f889197e3","archive_size":49317,"archive_url":"https://extensions.blender.org/download/sha256:05976c27d5779ad056921a08037cf0dd7506ded1d2059b4d08c0514f889197e3/add-on-amaranth-v1.0.29.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/amaranth/","maintainer":"pablovazquez","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render","Compositing","User Interface","Scene","Lighting"]},{"id":"math_vis_console","schema_version":"1.0.0","name":"Math Vis (Console)","version":"0.2.2","tagline":"Display console defined mathutils variables in the 3D view","archive_hash":"sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a","archive_size":6507,"archive_url":"https://extensions.blender.org/download/sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a/add-on-math-vis-console-v0.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/math-vis-console/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"auto_mirror","schema_version":"1.0.0","name":"Auto Mirror","version":"2.5.4","tagline":"Super fast cutting and mirroring for mesh","archive_hash":"sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7","archive_size":3571,"archive_url":"https://extensions.blender.org/download/sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7/add-on-auto-mirror-v2.5.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-mirror/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"boltfactory","schema_version":"1.0.0","name":"BoltFactory","version":"0.7.1","tagline":"Add a bolt or nut","archive_hash":"sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3","archive_size":35319,"archive_url":"https://extensions.blender.org/download/sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3/add-on-boltfactory-v0.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/boltfactory/","maintainer":"Bolt Factory","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"looptools","schema_version":"1.0.0","name":"LoopTools","version":"4.7.7","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108","archive_size":30534,"archive_url":"https://extensions.blender.org/download/sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108/add-on-looptools-v4.7.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/looptools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"node_arrange","schema_version":"1.0.0","name":"Node Arrange","version":"1.10.0","tagline":"Arrange node trees with one click","archive_hash":"sha256:d43bc5168e99e6d7fe12dc590cc383d9a85bd9b1eb94bbc85e0b54c31a29f915","archive_size":1756037,"archive_url":"https://extensions.blender.org/download/sha256:d43bc5168e99e6d7fe12dc590cc383d9a85bd9b1eb94bbc85e0b54c31a29f915/add-on-node-arrange-v1.10.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-arrange/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"antlandscape","schema_version":"1.0.0","name":"A.N.T.Landscape","version":"0.2.0","tagline":"Another Noise Tool: Landscape and Displace","archive_hash":"sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0","archive_size":60899,"archive_url":"https://extensions.blender.org/download/sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0/add-on-antlandscape-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/antlandscape/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"dynamic_context_menu","schema_version":"1.0.0","name":"Dynamic Context Menu","version":"1.9.4","tagline":"Object Mode Context Sensitive Spacebar Menu","archive_hash":"sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5","archive_size":15679,"archive_url":"https://extensions.blender.org/download/sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5/add-on-dynamic-context-menu-v1.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-context-menu/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"material_library","schema_version":"1.0.0","name":"Material Library","version":"0.6.0","tagline":"Material Library VX","archive_hash":"sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019","archive_size":594898,"archive_url":"https://extensions.blender.org/download/sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019/add-on-material-library-v0.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-library/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Material"]},{"id":"copy_attributes_menu","schema_version":"1.0.0","name":"Copy Attributes Menu","version":"0.6.3","tagline":"Copy Attributes Menu","archive_hash":"sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478","archive_size":8270,"archive_url":"https://extensions.blender.org/download/sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478/add-on-copy-attributes-menu-v0.6.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-attributes-menu/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"material_utilities","schema_version":"1.0.0","name":"Material Utilities","version":"2.2.3","tagline":"Menu of material tools (assign, select..) in the 3D View","archive_hash":"sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739","archive_size":16895,"archive_url":"https://extensions.blender.org/download/sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739/add-on-material-utilities-v2.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-utilities/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"edit_linked_library","schema_version":"1.0.0","name":"Edit Linked Library","version":"0.9.2","tagline":"Allows editing of objects, collections, and node groups lin . . ","archive_hash":"sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234","archive_size":3575,"archive_url":"https://extensions.blender.org/download/sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234/add-on-edit-linked-library-v0.9.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-linked-library/","maintainer":"JasonvanGumster","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"simplify_curves_plus","schema_version":"1.0.0","name":"Simplify Curves+","version":"1.1.3","tagline":"Simplify Curves: 3dview, Dopesheet, Graph","archive_hash":"sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851","archive_size":5943,"archive_url":"https://extensions.blender.org/download/sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851/add-on-simplify-curves-plus-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simplify-curves-plus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"modifier_tools","schema_version":"1.0.0","name":"Modifier Tools","version":"0.2.7","tagline":"Modifiers Specials Show/Hide/Apply Selected","archive_hash":"sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a","archive_size":2718,"archive_url":"https://extensions.blender.org/download/sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a/add-on-modifier-tools-v0.2.7.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modifier-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"extra_mesh_objects","schema_version":"1.0.0","name":"Extra Mesh Objects","version":"0.4.0","tagline":"Add extra mesh object types","archive_hash":"sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61","archive_size":130665,"archive_url":"https://extensions.blender.org/download/sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61/add-on-extra-mesh-objects-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-mesh-objects/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"export_paper_model","schema_version":"1.0.0","name":"Export Paper Model","version":"1.4.2","tagline":"Export printable net of a Mesh object","archive_hash":"sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba","archive_size":35606,"archive_url":"https://extensions.blender.org/download/sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba/add-on-export-paper-model-v1.4.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-paper-model/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk"},"tags":["Import-Export"]},{"id":"precision_drawing_tools_pdt","schema_version":"1.0.0","name":"Precision Drawing Tools (PDT)","version":"1.5.3","tagline":"Precision Drawing Tools for Accurate Modelling","archive_hash":"sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266","archive_size":49495,"archive_url":"https://extensions.blender.org/download/sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266/add-on-precision-drawing-tools-pdt-v1.5.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/precision-drawing-tools-pdt/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"extra_curve_objectes","schema_version":"1.0.0","name":"Extra Curve Objects","version":"0.2.0","tagline":"Add extra curve object types","archive_hash":"sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909","archive_size":52956,"archive_url":"https://extensions.blender.org/download/sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909/add-on-extra-curve-objectes-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-curve-objectes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"tinycad_mesh_tools","schema_version":"1.0.0","name":"tinyCAD Mesh tools","version":"1.3.3","tagline":"tinyCAD Mesh tools Add-on","archive_hash":"sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6","archive_size":37134,"archive_url":"https://extensions.blender.org/download/sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6/add-on-tinycad-mesh-tools-v1.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tinycad-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"collection_manager","schema_version":"1.0.0","name":"Collection Manager","version":"2.24.11","tagline":"Manage collections and their objects","archive_hash":"sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5","archive_size":42496,"archive_url":"https://extensions.blender.org/download/sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5/add-on-collection-manager-v2.24.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-manager/","maintainer":"Imaginer","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"import_palettes","schema_version":"1.0.0","name":"Import Palettes","version":"1.0.5","tagline":"Import Palettes","archive_hash":"sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd","archive_size":4151,"archive_url":"https://extensions.blender.org/download/sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd/add-on-import-palettes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-palettes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"autodesk_3ds_format","schema_version":"1.0.0","name":"Autodesk 3D Studio (.3ds)","version":"3.0.1","tagline":"Import-Export 3DS scenes, objects, cameras, lights & animations","archive_hash":"sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9","archive_size":208325,"archive_url":"https://extensions.blender.org/download/sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9/add-on-autodesk-3ds-format-v3.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autodesk-3ds-format/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import-Export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"storypencil_storyboard_tools","schema_version":"1.0.0","name":"Storypencil - Storyboard Tools","version":"1.2.0","tagline":"Storyboard tools","archive_hash":"sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6","archive_size":20608,"archive_url":"https://extensions.blender.org/download/sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6/add-on-storypencil-storyboard-tools-v1.2.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/storypencil-storyboard-tools/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"object_color_rules","schema_version":"1.0.0","name":"Object Color Rules","version":"0.0.2","tagline":"Rules for assigning object color (for object & wireframe co . . ","archive_hash":"sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5","archive_size":4057,"archive_url":"https://extensions.blender.org/download/sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5/add-on-object-color-rules-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/object-color-rules/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"stored_views","schema_version":"1.0.0","name":"Stored Views","version":"0.4.0","tagline":"Save and restore views, pov, layers & display configs","archive_hash":"sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0","archive_size":24199,"archive_url":"https://extensions.blender.org/download/sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0/add-on-stored-views-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stored-views/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it stores/reads view presets"},"tags":["3D View"]},{"id":"cell_fracture","schema_version":"1.0.0","name":"Cell Fracture","version":"0.2.1","tagline":"Fractured Object Creation","archive_hash":"sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2","archive_size":9722,"archive_url":"https://extensions.blender.org/download/sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2/add-on-cell-fracture-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cell-fracture/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"import_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Import AutoCAD DXF Format (.dxf)","version":"0.9.10","tagline":"Import files in the Autocad DXF format (.dxf)","archive_hash":"sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3","archive_size":57092,"archive_url":"https://extensions.blender.org/download/sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3/add-on-import-autocad-dxf-format-dxf-v0.9.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with .dxf files"},"tags":["Import-Export"]},{"id":"bool_tool","schema_version":"1.0.0","name":"Bool Tool","version":"2.0.0","tagline":"Quick boolean operators and tools for hard surface modeling","archive_hash":"sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d","archive_size":167487,"archive_url":"https://extensions.blender.org/download/sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d/add-on-bool-tool-v2.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bool-tool/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"vdm_brush_baker","schema_version":"1.0.0","name":"VDM Brush Baker","version":"1.0.6","tagline":"Bake vector displacement brushes easily from a plane","archive_hash":"sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419","archive_size":5781,"archive_url":"https://extensions.blender.org/download/sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419/add-on-vdm-brush-baker-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vdm-brush-baker/","maintainer":"robin.hohni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on saves textures to disk"},"tags":["Bake","Sculpt"]},{"id":"add_camera_rigs","schema_version":"1.0.0","name":"Add Camera Rigs","version":"1.8.1","tagline":"Adds a Camera Rig with UI","archive_hash":"sha256:53fe57263b25e7f72710eb1b29d295279cca1d8d235a9b95ee22e380a6dcad8d","archive_size":13546,"archive_url":"https://extensions.blender.org/download/sha256:53fe57263b25e7f72710eb1b29d295279cca1d8d235a9b95ee22e380a6dcad8d/add-on-add-camera-rigs-v1.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-camera-rigs/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"ivygen","schema_version":"1.0.0","name":"IvyGen","version":"0.1.5","tagline":"Adds generated ivy to a mesh object starting at the 3D cursor","archive_hash":"sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98","archive_size":7172,"archive_url":"https://extensions.blender.org/download/sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98/add-on-ivygen-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ivygen/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"measureit","schema_version":"1.0.0","name":"MeasureIt","version":"1.8.4","tagline":"Tools for measuring objects","archive_hash":"sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042","archive_size":28891,"archive_url":"https://extensions.blender.org/download/sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042/add-on-measureit-v1.8.4.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/measureit/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"tri_lighting","schema_version":"1.0.0","name":"Tri-lighting","version":"0.2.1","tagline":"Add 3 Point Lighting to Selected / Active Object","archive_hash":"sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b","archive_size":3531,"archive_url":"https://extensions.blender.org/download/sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b/add-on-tri-lighting-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tri-lighting/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"grease_pencil_tools","schema_version":"1.0.0","name":"Grease Pencil Tools","version":"2.2.4","tagline":"Extra tools for Grease Pencil","archive_hash":"sha256:de2228934ac042a2aa3cf82af135592b7ef24af5588c12357810ff6b44d5359b","archive_size":51948,"archive_url":"https://extensions.blender.org/download/sha256:de2228934ac042a2aa3cf82af135592b7ef24af5588c12357810ff6b44d5359b/add-on-grease-pencil-tools-v2.2.4.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tools/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Object"]},{"id":"tissue","schema_version":"1.0.0","name":"Tissue","version":"0.3.71","tagline":"Tools for Computational Design","archive_hash":"sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad","archive_size":113361,"archive_url":"https://extensions.blender.org/download/sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad/add-on-tissue-v0.3.71.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tissue/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"icon_viewer","schema_version":"1.0.0","name":"Icon Viewer","version":"1.4.2","tagline":"Click an icon to copy its name to the clipboard","archive_hash":"sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc","archive_size":3814,"archive_url":"https://extensions.blender.org/download/sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc/add-on-icon-viewer-v1.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/icon-viewer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"magic_uv","schema_version":"1.0.0","name":"Magic UV","version":"6.7.1","tagline":"UV Toolset. See Add-ons Preferences for details","archive_hash":"sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571","archive_size":104347,"archive_url":"https://extensions.blender.org/download/sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571/add-on-magic-uv-v6.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/magic-uv/","maintainer":"nutti","license":["SPDX:GPL-2.0-or-later"],"tags":["UV"]},{"id":"export_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Export Autocad DXF Format (.dxf)","version":"2.2.4","tagline":"The script exports Blender geometry to DXF format r12 version","archive_hash":"sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7","archive_size":33206,"archive_url":"https://extensions.blender.org/download/sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7/add-on-export-autocad-dxf-format-dxf-v2.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports DXF file"},"tags":["Import-Export"]},{"id":"discombobulator","schema_version":"1.0.0","name":"Discombobulator","version":"0.1.0","tagline":"Add Discombobulator","archive_hash":"sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d","archive_size":7864,"archive_url":"https://extensions.blender.org/download/sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d/add-on-discombobulator-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/discombobulator/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"animall","schema_version":"1.0.0","name":"AnimAll","version":"0.14.0","tagline":"Animate mesh, lattice, curve and surface data","archive_hash":"sha256:85fcb80112f25a194891242708eb3bc8fdd02890b9a6d9fc83502e059e0d1f86","archive_size":8635,"archive_url":"https://extensions.blender.org/download/sha256:85fcb80112f25a194891242708eb3bc8fdd02890b9a6d9fc83502e059e0d1f86/add-on-animall-v0.14.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/animall/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blender_id_authentication","schema_version":"1.0.0","name":"Blender ID authentication","version":"2.1.3","tagline":"Stores your Blender ID credentials for usage with other add-ons","archive_hash":"sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5/add-on-blender-id-authentication-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-id-authentication/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Requires access to id.blender.org to sync preferences"},"tags":["System"]},{"id":"edit_mesh_tools","schema_version":"1.0.0","name":"Edit Mesh Tools","version":"0.3.6","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0","archive_size":74410,"archive_url":"https://extensions.blender.org/download/sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0/add-on-edit-mesh-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"viewport_pie_menus","schema_version":"1.0.0","name":"3D Viewport Pie Menus","version":"1.7.3","tagline":"Various pie menus to speed up your workflow","archive_hash":"sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100","archive_size":110402,"archive_url":"https://extensions.blender.org/download/sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100/add-on-viewport-pie-menus-v1.7.3.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/viewport-pie-menus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To load brush icons from disk"},"tags":["User Interface"]},{"id":"sapling_tree_gen","schema_version":"1.0.0","name":"Sapling Tree Gen","version":"0.3.7","tagline":"Adds a parametric tree","archive_hash":"sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f","archive_size":36296,"archive_url":"https://extensions.blender.org/download/sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f/add-on-sapling-tree-gen-v0.3.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/sapling-tree-gen/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"bsurfaces_gpl_edition","schema_version":"1.0.0","name":"Bsurfaces GPL Edition","version":"1.8.4","tagline":"Modeling and retopology tool","archive_hash":"sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e","archive_size":31781,"archive_url":"https://extensions.blender.org/download/sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e/add-on-bsurfaces-gpl-edition-v1.8.4.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bsurfaces-gpl-edition/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"curve_tools","schema_version":"1.0.0","name":"Curve Tools","version":"0.4.6","tagline":"Adds some functionality for bezier/nurbs curve/surface modeling","archive_hash":"sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f","archive_size":55633,"archive_url":"https://extensions.blender.org/download/sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f/add-on-curve-tools-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"power_sequencer","schema_version":"1.0.0","name":"Power Sequencer","version":"2.0.4","tagline":"Video editing tools for content creators","archive_hash":"sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a","archive_size":97495,"archive_url":"https://extensions.blender.org/download/sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a/add-on-power-sequencer-v2.0.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/power-sequencer/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"dynamic_sky","schema_version":"1.0.0","name":"Dynamic Sky","version":"1.0.6","tagline":"Creates Dynamic Sky for Cycles","archive_hash":"sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f","archive_size":4358,"archive_url":"https://extensions.blender.org/download/sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f/add-on-dynamic-sky-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-sky/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Lighting"]},{"id":"vrm","schema_version":"1.0.0","name":"VRM format","version":"3.19.4","tagline":"VRM import, export and editing capabilities","archive_hash":"sha256:22fdc80311b0e379c008ad2d65421c6dd70ba92a1ae0a34761c9f7213480c6b0","archive_size":1559169,"archive_url":"https://extensions.blender.org/download/sha256:22fdc80311b0e379c008ad2d65421c6dd70ba92a1ae0a34761c9f7213480c6b0/add-on-vrm-v3.19.4.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/vrm/","maintainer":"saturday06","license":["SPDX:MIT","SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export VRM from/to disk"},"tags":["Import-Export","Animation","Modeling","Material","Physics"]},{"id":"io_scene_max","schema_version":"1.0.0","name":"Import Autodesk MAX (.max)","version":"1.7.5","tagline":"Import 3DSMAX meshes & materials","archive_hash":"sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7","archive_size":83827,"archive_url":"https://extensions.blender.org/download/sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7/add-on-io-scene-max-v1.7.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-max/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Autodesk MAX files"},"tags":["Import-Export","Mesh","Material"]},{"id":"sun_position","schema_version":"1.0.0","name":"Sun Position","version":"4.4.0","tagline":"Show the position of the Sun with objects or an environment","archive_hash":"sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856","archive_size":26592,"archive_url":"https://extensions.blender.org/download/sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856/add-on-sun-position-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sun-position/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"gruvbox_light","schema_version":"1.0.0","name":"Gruvbox Light","version":"1.6.0","tagline":"Gruvbox light theme","archive_hash":"sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae","archive_size":5392,"archive_url":"https://extensions.blender.org/download/sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae/theme-gruvbox-light-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-light/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"gruvbox_dark","schema_version":"1.0.0","name":"Gruvbox Dark","version":"1.6.0","tagline":"Gruvbox dark theme","archive_hash":"sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa","archive_size":5192,"archive_url":"https://extensions.blender.org/download/sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa/theme-gruvbox-dark-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-dark/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"phoenixart_fusion_theme","schema_version":"1.0.0","name":"PhoenixArt Fusion Theme","version":"4.0.3","tagline":"Based on Blackmagic Fusion Theme","archive_hash":"sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066","archive_size":6404,"archive_url":"https://extensions.blender.org/download/sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066/theme-phoenixart-fusion-theme-v4.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/phoenixart-fusion-theme/","maintainer":"phoenixart","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"alien_pink_theme","schema_version":"1.0.0","name":"Alien Pink","version":"6.0.0","tagline":"Stylish and vibrant theme designed specially for you","archive_hash":"sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641","archive_size":6709,"archive_url":"https://extensions.blender.org/download/sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641/theme-alien-pink-theme-v6.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/alien-pink-theme/","maintainer":"Alumx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"copy_object_name_to_data","schema_version":"1.0.0","name":"Copy Object Name to Data","version":"1.1.1","tagline":"A simple operator to copy object names to object data","archive_hash":"sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03","archive_size":14363,"archive_url":"https://extensions.blender.org/download/sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03/add-on-copy-object-name-to-data-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-object-name-to-data/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"nd","schema_version":"1.0.0","name":"ND","version":"2.1.0","tagline":"Non-Destructive Modeling Toolkit","archive_hash":"sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5","archive_size":1546886,"archive_url":"https://extensions.blender.org/download/sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5/add-on-nd-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nd/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import built-in and custom assets"},"tags":["3D View","Lighting","Material","Modeling","Mesh","Object","Scene","UV"]},{"id":"io_export_after_effects","schema_version":"1.0.0","name":"Export: Adobe After Effects (.jsx)","version":"0.2.1","tagline":"Export cameras, images and empties to Adobe After Effects","archive_hash":"sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4","archive_size":16102,"archive_url":"https://extensions.blender.org/download/sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4/add-on-io-export-after-effects-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-export-after-effects/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Export JSX file to disk"},"tags":["Import-Export"]},{"id":"textify","schema_version":"1.0.0","name":"Textify","version":"1.8.0","tagline":"Streamline and Enhance Blender’s Text Editor","archive_hash":"sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4","archive_size":1851559,"archive_url":"https://extensions.blender.org/download/sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4/add-on-textify-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/textify/","maintainer":"Jishnu-kv","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write settings, and manage scripts on disk","clipboard":"Copy class bl_idname and identifiers to clipboard"},"tags":["Text Editor","Development"]},{"id":"Bagapie","schema_version":"1.0.0","name":"Bagapie","version":"11.0.8","tagline":"50+ tools : Scattering, Ivy Gen, Random Array, Architecture","archive_hash":"sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad","archive_size":10833664,"archive_url":"https://extensions.blender.org/download/sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad/add-on-bagapie-v11.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bagapie/","maintainer":"Kiara_Bagattini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create, setup and add assets libraries","network":"Open web browser for documentation and tutorials"},"tags":["Modeling","Node"]},{"id":"y_projectionnode_form_camera_f1","schema_version":"1.0.0","name":"ProjectionNode from Camera","version":"1.3.0","tagline":"Creates a material specified in the Background Image of Camera","archive_hash":"sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75","archive_size":9289,"archive_url":"https://extensions.blender.org/download/sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75/add-on-y-projectionnode-form-camera-f1-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/y-projectionnode-form-camera-f1/","maintainer":"Yukimituki","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"Shadow","schema_version":"1.0.0","name":"Shadow","version":"5.0.2","tagline":"Dark theme","archive_hash":"sha256:0325c737f887420efd31225df8a6d79c7645b4bff72dec4787605ed2d6fbf84b","archive_size":5744,"archive_url":"https://extensions.blender.org/download/sha256:0325c737f887420efd31225df8a6d79c7645b4bff72dec4787605ed2d6fbf84b/theme-shadow-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/shadow/","maintainer":"--Shadow--","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"ucupaint","schema_version":"1.0.0","name":"Ucupaint","version":"2.4.4","tagline":"Layer based painting for Eevee and Cycles","archive_hash":"sha256:287dacc5a96688fae40fece4b5075cfc2ed604ff568a5f6993f8e08b656e797d","archive_size":2060805,"archive_url":"https://extensions.blender.org/download/sha256:287dacc5a96688fae40fece4b5075cfc2ed604ff568a5f6993f8e08b656e797d/add-on-ucupaint-v2.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ucupaint/","maintainer":"ucupumar","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to filesystem for loading and saving images","network":"Access to the network to update contributors and sponsors list"},"tags":["Node","Material","Paint","Bake"]},{"id":"Industrial_AOV_Connector","schema_version":"1.0.0","name":"Industrial AOV Connector","version":"5.0.2","tagline":"Auto generate outputs for advanced compositing","archive_hash":"sha256:4aba26bbe6ffd7ec191a5a4bac5b7321571589c8457f55a2073548faabfc2c56","archive_size":217295,"archive_url":"https://extensions.blender.org/download/sha256:4aba26bbe6ffd7ec191a5a4bac5b7321571589c8457f55a2073548faabfc2c56/add-on-industrial-aov-connector-v5.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-aov-connector/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Delete Useless Default Renders button need this"},"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"hdr_rotation","schema_version":"1.0.0","name":"Hdr Rotation","version":"1.0.7","tagline":"Rotation HDR by Shift+Right Drag in 3D View","archive_hash":"sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68","archive_size":6585,"archive_url":"https://extensions.blender.org/download/sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68/add-on-hdr-rotation-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdr-rotation/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Render"]},{"id":"Dark_Purple_Green","schema_version":"1.0.0","name":"DarkPurpleGreen","version":"1.0.1","tagline":"Dark minimal neon theme","archive_hash":"sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4","archive_size":5871,"archive_url":"https://extensions.blender.org/download/sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4/theme-dark-purple-green-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-purple-green/","maintainer":"MSBH","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"node_editor_switcher","schema_version":"1.0.0","name":"Node Editor Switcher","version":"1.1.0","tagline":"Pie menu, shortcuts and buttons to switch between node editors","archive_hash":"sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3","archive_size":2134,"archive_url":"https://extensions.blender.org/download/sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3/add-on-node-editor-switcher-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-switcher/","maintainer":"Victor-09","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"Adapta_Nokto","schema_version":"1.0.0","name":"Adapta Nokto","version":"1.1.3","tagline":"Adapta Nokto theme","archive_hash":"sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4","archive_size":5612,"archive_url":"https://extensions.blender.org/download/sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4/theme-adapta-nokto-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/adapta-nokto/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"browser_scroll_resize","schema_version":"1.0.0","name":"Browser Scroll Resize","version":"1.0.1","tagline":"Resize File Size Thumbnail on Browsers with Mouse Wheel","archive_hash":"sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da","archive_size":2729,"archive_url":"https://extensions.blender.org/download/sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da/add-on-browser-scroll-resize-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/browser-scroll-resize/","maintainer":"Barrunterio","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"secret_paint","schema_version":"1.0.0","name":"Secret Paint","version":"1.7.31","tagline":"Select an object, select a surface, paint","archive_hash":"sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6","archive_size":1950644,"archive_url":"https://extensions.blender.org/download/sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6/add-on-secret-paint-v1.7.31.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/secret-paint/","maintainer":"orencloud","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export objects and biomes to external blend files","network":"Update from GitHub if installed as addon rather than extension"},"tags":["Modeling","Add Curve"]},{"id":"delete_line_shortcut","schema_version":"1.0.0","name":"Delete Line Shortcut","version":"1.2.2","tagline":"Shortcut to delete a line and copy its content","archive_hash":"sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab","archive_size":15764,"archive_url":"https://extensions.blender.org/download/sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab/add-on-delete-line-shortcut-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/delete-line-shortcut/","maintainer":"matej.zeman02","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Add-on can read and write to the system clipboard."},"tags":["User Interface","Text Editor"]},{"id":"keyframe_visibility","schema_version":"1.0.0","name":"Keyframe Visibility","version":"1.0.2","tagline":"Batch keyframe visibility for objects","archive_hash":"sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84","archive_size":4295,"archive_url":"https://extensions.blender.org/download/sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84/add-on-keyframe-visibility-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-visibility/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"midnight_blue_theme","schema_version":"1.0.0","name":"Midnight Blue","version":"1.0.1","tagline":"Blender blues after midnight","archive_hash":"sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928","archive_size":5982,"archive_url":"https://extensions.blender.org/download/sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928/theme-midnight-blue-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/midnight-blue-theme/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"bulk_asset_tools","schema_version":"1.0.0","name":"Bulk Asset Tools","version":"1.7.3","tagline":"Manage your asset libraries with ease","archive_hash":"sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d","archive_size":10636,"archive_url":"https://extensions.blender.org/download/sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d/add-on-bulk-asset-tools-v1.7.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bulk-asset-tools/","maintainer":"guitargeek","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"blender_path_maker","schema_version":"1.0.0","name":"Path Maker","version":"1.4.4","tagline":"Replaces custom tags in the Output Path","archive_hash":"sha256:ac0e5abd81f0a555aeeea19206daf037427fe28da134f08775b9dc178e6247e2","archive_size":4818,"archive_url":"https://extensions.blender.org/download/sha256:ac0e5abd81f0a555aeeea19206daf037427fe28da134f08775b9dc178e6247e2/add-on-blender-path-maker-v1.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-path-maker/","maintainer":"thornydre","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"SelectsAllIslandsUDIM","schema_version":"1.0.0","name":"Selects all UV islands on one UDIM","version":"1.2.0","tagline":"Highlighting UV-islands and faces of the corresponding UDIM","archive_hash":"sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f","archive_size":3781,"archive_url":"https://extensions.blender.org/download/sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f/add-on-selectsallislandsudim-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selectsallislandsudim/","maintainer":"Ailex","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"lightpainter","schema_version":"1.0.0","name":"Light Painter","version":"1.5.6","tagline":"Do not place your lights, paint them","archive_hash":"sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a","archive_size":112051,"archive_url":"https://extensions.blender.org/download/sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a/add-on-lightpainter-v1.5.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lightpainter/","maintainer":"SMagnusson","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting","Object"]},{"id":"ContextPie","schema_version":"1.0.0","name":"Context Pie","version":"0.9.21","tagline":"Context sensitive pie menu for a simple, fast workflow","archive_hash":"sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66","archive_size":126927,"archive_url":"https://extensions.blender.org/download/sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66/add-on-contextpie-v0.9.21.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/contextpie/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View","UV"]},{"id":"orient_and_origin_to_selected","schema_version":"1.0.0","name":"Orient and Origin to Selected","version":"1.2.0","tagline":"Quickly manipulate the object origin","archive_hash":"sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521","archive_size":42615,"archive_url":"https://extensions.blender.org/download/sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521/add-on-orient-and-origin-to-selected-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orient-and-origin-to-selected/","maintainer":"Orange Turbine","license":["SPDX:GPL-2.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"screencast_keys","schema_version":"1.0.0","name":"Screencast Keys","version":"4.2.1","tagline":"Display keys pressed in Blender","archive_hash":"sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb","archive_size":38532,"archive_url":"https://extensions.blender.org/download/sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb/add-on-screencast-keys-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/screencast-keys/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"tags":["System","User Interface"]},{"id":"Gold_Pro_Theme","schema_version":"1.0.0","name":"Gold Pro","version":"1.1.4","tagline":"Professional blender theme with Gold :)","archive_hash":"sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d","archive_size":5514,"archive_url":"https://extensions.blender.org/download/sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d/theme-gold-pro-theme-v1.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gold-pro-theme/","maintainer":"EmanuelFerro","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"lfs_camera_plane","schema_version":"1.0.0","name":"Camera Plane","version":"3.0.0","tagline":"Import images and stick them to the camera","archive_hash":"sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4","archive_size":17262,"archive_url":"https://extensions.blender.org/download/sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4/add-on-lfs-camera-plane-v3.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/lfs-camera-plane/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["3D View","Import-Export","Object","Camera"]},{"id":"Wireframe_Color_Tools","schema_version":"1.0.0","name":"Wireframe Color Tools","version":"1.0.0","tagline":"Change Object Colors based on different kinds of methods","archive_hash":"sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9","archive_size":3122,"archive_url":"https://extensions.blender.org/download/sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9/add-on-wireframe-color-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wireframe-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Material","Object"]},{"id":"neutral_grey","schema_version":"1.0.0","name":"Neutral Grey","version":"2.0.3","tagline":"A neutral grey theme for Blender","archive_hash":"sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454","archive_size":5558,"archive_url":"https://extensions.blender.org/download/sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454/theme-neutral-grey-v2.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutral-grey/","maintainer":"scopelma","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Accessibility"]},{"id":"deep_dark_sea","schema_version":"1.0.0","name":"Deep Dark Sea","version":"3.0.0","tagline":"Darker than the default dark","archive_hash":"sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298","archive_size":6219,"archive_url":"https://extensions.blender.org/download/sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298/theme-deep-dark-sea-v3.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-dark-sea/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"border_buddy","schema_version":"1.0.0","name":"Border Buddy","version":"0.1.1","tagline":"Your buddy that helps to preserve borders","archive_hash":"sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4","archive_size":2579,"archive_url":"https://extensions.blender.org/download/sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4/add-on-border-buddy-v0.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/border-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"bake_shape_keys","schema_version":"1.0.0","name":"Bake Shape Keys","version":"1.4.0","tagline":"Feature-set for shape keys and shape key animations","archive_hash":"sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd","archive_size":14241,"archive_url":"https://extensions.blender.org/download/sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd/add-on-bake-shape-keys-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-shape-keys/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Mesh"]},{"id":"matalogue","schema_version":"1.0.0","name":"Matalogue","version":"1.5.0","tagline":"All your node trees in one list","archive_hash":"sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2","archive_size":13081,"archive_url":"https://extensions.blender.org/download/sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2/add-on-matalogue-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matalogue/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"NieR_Automata_UI","schema_version":"1.0.0","name":"NieR_Automata_UI","version":"1.2.2","tagline":"Glory to Mankind","archive_hash":"sha256:1902254f5c5c7496b85c73a92e14f7cd7f6b282719303a3827952315460f446e","archive_size":5764,"archive_url":"https://extensions.blender.org/download/sha256:1902254f5c5c7496b85c73a92e14f7cd7f6b282719303a3827952315460f446e/theme-nier-automata-ui-v1.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nier-automata-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Colorful"]},{"id":"preset_startup_manager","schema_version":"1.0.0","name":"Startup Preset Manager","version":"2.10.0","tagline":"Custom startup file creation / hot reloading","archive_hash":"sha256:09db3bb39ffa07a51635b7af748221c1b45c4fca6d49174d2a57366652609ca8","archive_size":4684,"archive_url":"https://extensions.blender.org/download/sha256:09db3bb39ffa07a51635b7af748221c1b45c4fca6d49174d2a57366652609ca8/add-on-preset-startup-manager-v2.10.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/preset-startup-manager/","maintainer":"Gruff-Wright","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline","Scene","System"]},{"id":"time_theme_switcher","schema_version":"1.0.0","name":"Time Theme Switcher","version":"1.0.0","tagline":"Switches between light and dark UI themes at scheduled times","archive_hash":"sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010","archive_size":18346,"archive_url":"https://extensions.blender.org/download/sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010/add-on-time-theme-switcher-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-theme-switcher/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"k_tools_render_preset_manager","schema_version":"1.0.0","name":"K-Tools: Render Preset Manager","version":"1.2.1","tagline":"Save and Load Blender's Settings","archive_hash":"sha256:5ded792d8e7075d55defe9c5481510e00b96242eb9f4b17b81d60e717ead3dbb","archive_size":73123,"archive_url":"https://extensions.blender.org/download/sha256:5ded792d8e7075d55defe9c5481510e00b96242eb9f4b17b81d60e717ead3dbb/add-on-k-tools-render-preset-manager-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-render-preset-manager/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .JSON text files from/to disk"},"tags":["Render"]},{"id":"format_rename","schema_version":"1.0.0","name":"Format Rename","version":"0.0.5","tagline":"Format Rename","archive_hash":"sha256:e808bb2db8a28a7d59edcc17646c4e27d758ece40f258f98a15f162756b14f6e","archive_size":19683,"archive_url":"https://extensions.blender.org/download/sha256:e808bb2db8a28a7d59edcc17646c4e27d758ece40f258f98a15f162756b14f6e/add-on-format-rename-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/format-rename/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Rigging"]},{"id":"VAT","schema_version":"1.0.0","name":"Vertex Animation Texture Addon (VAT)","version":"1.0.1","tagline":"Tools for vertex animation textures in Blender","archive_hash":"sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065","archive_size":8592,"archive_url":"https://extensions.blender.org/download/sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065/add-on-vat-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vat/","maintainer":"Flement","license":["SPDX:GPL-3.0-or-later"]},{"id":"extrude_along_path","schema_version":"1.0.0","name":"Extrude Along Path","version":"2.2.0","tagline":"Extrude or Rake profile geometry Along a defined Path","archive_hash":"sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283","archive_size":15621,"archive_url":"https://extensions.blender.org/download/sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283/add-on-extrude-along-path-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extrude-along-path/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"dimensions_and_lines","schema_version":"1.0.0","name":"Dimensions and Lines","version":"1.1.0","tagline":"create technical drawings, dimensions and lines","archive_hash":"sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30","archive_size":75526,"archive_url":"https://extensions.blender.org/download/sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30/add-on-dimensions-and-lines-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dimensions-and-lines/","maintainer":"jan.holinka","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"polyzamboni","schema_version":"1.0.0","name":"PolyZamboni","version":"1.2.2","tagline":"Papercraft in Blender","archive_hash":"sha256:1ae944f663de2898d1401cede5ca6368b941ee738d647321dc298db32d13871c","archive_size":14292071,"archive_url":"https://extensions.blender.org/download/sha256:1ae944f663de2898d1401cede5ca6368b941ee738d647321dc298db32d13871c/add-on-polyzamboni-v1.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polyzamboni/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export PDF/SVG to disk"},"platforms":["windows-x64"],"tags":["3D View","Import-Export"]},{"id":"textures_autosave","schema_version":"1.0.0","name":"Autosave Textures","version":"1.0.1","tagline":"Save all modified image textures on blendfile (auto-)save","archive_hash":"sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938","archive_size":2642,"archive_url":"https://extensions.blender.org/download/sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938/add-on-textures-autosave-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/textures-autosave/","maintainer":"mont29","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write image files to disk"},"tags":["Pipeline","Paint"]},{"id":"csv_importer","schema_version":"1.0.0","name":"CSV Importer","version":"0.2.2","tagline":"import csv data to meshes in Blender","archive_hash":"sha256:631249d12f3617113e2f22fa4006a9a96fdb9774e9a0d3a61fb660656314937b","archive_size":46529057,"archive_url":"https://extensions.blender.org/download/sha256:631249d12f3617113e2f22fa4006a9a96fdb9774e9a0d3a61fb660656314937b/add-on-csv-importer-v0.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/csv-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"NLATools","schema_version":"1.0.0","name":"Merge NLA Strips","version":"1.2.0","tagline":"Combine selected NLA strips into one","archive_hash":"sha256:fb71b63b597aa5998c41387cb24ccb78fed7944a43e80418f959080090a4d276","archive_size":4416,"archive_url":"https://extensions.blender.org/download/sha256:fb71b63b597aa5998c41387cb24ccb78fed7944a43e80418f959080090a4d276/add-on-nlatools-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nlatools/","maintainer":"Likkez","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake"]},{"id":"Frigus_Nox","schema_version":"1.0.0","name":"Frigus Nox","version":"1.0.7","tagline":"Frigus Nox theme","archive_hash":"sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06","archive_size":5535,"archive_url":"https://extensions.blender.org/download/sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06/theme-frigus-nox-v1.0.7.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/frigus-nox/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Auto_Sort_Collections","schema_version":"1.0.0","name":"Auto Sort Collections","version":"1.0.2","tagline":"Automatic organisation of collections","archive_hash":"sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079","archive_size":9665,"archive_url":"https://extensions.blender.org/download/sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079/add-on-auto-sort-collections-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sort-collections/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"Custom_Grid_Scales","schema_version":"1.0.0","name":"Custom Grid Scales","version":"1.1.0","tagline":"Adds the ability to quickly change between custom grid scales","archive_hash":"sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01","archive_size":2631,"archive_url":"https://extensions.blender.org/download/sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01/add-on-custom-grid-scales-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.1","website":"https://extensions.blender.org/add-ons/custom-grid-scales/","maintainer":"Jacob-Beatty","license":["SPDX:GPL-3.0-or-later"]},{"id":"Cake_Particles","schema_version":"1.0.0","name":"Cake_Particles","version":"5.0.0","tagline":"Bake particles simulation into keyframed animations","archive_hash":"sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f","archive_size":9459,"archive_url":"https://extensions.blender.org/download/sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f/add-on-cake-particles-v5.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cake-particles/","maintainer":"scaryplasmon","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake","Physics","Object"]},{"id":"Quick_Character_Selector","schema_version":"1.0.0","name":"Quick Character Selector","version":"1.1.0","tagline":"Seleccion rapida de armatures","archive_hash":"sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad/add-on-quick-character-selector-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-character-selector/","maintainer":"MatiasMartin","license":["SPDX:GPL-2.0-or-later"],"tags":["Object","Animation"]},{"id":"k_tools_visibility_check","schema_version":"1.0.0","name":"Visibility Check","version":"2.5.2","tagline":"Check for mismatched objects in viewport and render view","archive_hash":"sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913","archive_size":6511,"archive_url":"https://extensions.blender.org/download/sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913/add-on-k-tools-visibility-check-v2.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-visibility-check/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render"]},{"id":"snap_utilities_line","schema_version":"1.0.0","name":"Snap Line Tool","version":"6.8.1","tagline":"Extends Blender Snap controls","archive_hash":"sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc","archive_size":32147,"archive_url":"https://extensions.blender.org/download/sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc/add-on-snap-utilities-line-v6.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-utilities-line/","maintainer":"mano-wii","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"open_linked","schema_version":"1.0.0","name":"Open Linked","version":"1.0.1","tagline":"Open linked blends from the Outliner","archive_hash":"sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3","archive_size":40897,"archive_url":"https://extensions.blender.org/download/sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3/add-on-open-linked-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-linked/","maintainer":"polygoniq","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"theme_CrimsonAttack","schema_version":"1.0.0","name":"Crimson Attack","version":"1.0.0","tagline":"A Red hue'd version of blue invasion","archive_hash":"sha256:c797984cfd094d88741f76100340a6885e11d0d815da2ad8d15676f99f3d620c","archive_size":6231,"archive_url":"https://extensions.blender.org/download/sha256:c797984cfd094d88741f76100340a6885e11d0d815da2ad8d15676f99f3d620c/theme-theme-crimsonattack-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-crimsonattack/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"mat_helperr","schema_version":"1.0.0","name":"MAT Helper","version":"1.2.0","tagline":"Smart PBR texture importer for UModel .mat & .json exports","archive_hash":"sha256:4831b04a5b084abe2b4c57ddf507d6eef2ab7719d829d6e9dbf1c84c48621227","archive_size":3992,"archive_url":"https://extensions.blender.org/download/sha256:4831b04a5b084abe2b4c57ddf507d6eef2ab7719d829d6e9dbf1c84c48621227/add-on-mat-helperr-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mat-helperr/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Import-Export"]},{"id":"texops","schema_version":"1.0.0","name":"TexOps","version":"1.0.0","tagline":"Texture Conversion, Generation, and Manipulation Operations","archive_hash":"sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9","archive_size":94059,"archive_url":"https://extensions.blender.org/download/sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9/add-on-texops-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texops/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Bake","Import-Export","User Interface"]},{"id":"VibeyTM_Pro","schema_version":"1.0.0","name":"Vibey™ Pro","version":"0.0.1","tagline":"Visually exciting yet fully functional","archive_hash":"sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92","archive_size":18840,"archive_url":"https://extensions.blender.org/download/sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92/theme-vibeytm-pro-v0.0.1.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/vibeytm-pro/","maintainer":"Fedor-Rezhenov","license":["SPDX:GPL-3.0-or-later"]},{"id":"Three_d_Cursor_Snap","schema_version":"1.0.0","name":"Three d Cursor Snap","version":"1.2.0","tagline":"Move 3d cursor like gizmo to snap vertex, edge and face","archive_hash":"sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55","archive_size":3579,"archive_url":"https://extensions.blender.org/download/sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55/add-on-three-d-cursor-snap-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/three-d-cursor-snap/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"gzm_mod","schema_version":"1.0.0","name":"GZM 3D model format","version":"1.0.2","tagline":"Import-export 3D models for the GZM game","archive_hash":"sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2","archive_size":288070,"archive_url":"https://extensions.blender.org/download/sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2/add-on-gzm-mod-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gzm-mod/","maintainer":"777-tanks","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"batch_camera_render","schema_version":"1.0.0","name":"Batch Render Cameras","version":"1.8.1","tagline":"Render animations from multiple selected cameras","archive_hash":"sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036","archive_size":3228,"archive_url":"https://extensions.blender.org/download/sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036/add-on-batch-camera-render-v1.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-camera-render/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create output folders for rendered frames"},"tags":["Render","Camera"]},{"id":"blur_hdri","schema_version":"1.0.0","name":"Blur HDRI","version":"0.0.6","tagline":"Blur HDRI Images by creating a new node with a Gaussian Blur","archive_hash":"sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7","archive_size":23644138,"archive_url":"https://extensions.blender.org/download/sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7/add-on-blur-hdri-v0.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blur-hdri/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Material","Lighting"]},{"id":"node_editor_pro","schema_version":"1.0.0","name":"Node Editor Pro","version":"0.5.0","tagline":"Organize nodes with auto-layout, snap and cleanup","archive_hash":"sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c","archive_size":4809,"archive_url":"https://extensions.blender.org/download/sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c/add-on-node-editor-pro-v0.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-pro/","maintainer":"the_visual_geek","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"data_scale","schema_version":"1.0.0","name":"ID Tools","version":"1.2.0","tagline":"Assortment of tools for the manipulation of data-blocks","archive_hash":"sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646","archive_size":22974,"archive_url":"https://extensions.blender.org/download/sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646/add-on-data-scale-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/data-scale/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Temporarily create .blend files to weigh them"},"tags":["Import-Export"]},{"id":"anim_offset_pro","schema_version":"1.0.0","name":"Anim Offset Pro","version":"1.3.0","tagline":"Offset poses across animation keyframes","archive_hash":"sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd","archive_size":5091,"archive_url":"https://extensions.blender.org/download/sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd/add-on-anim-offset-pro-v1.3.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-offset-pro/","maintainer":"Drika111.","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"dynamic_render_border","schema_version":"1.0.0","name":"Dynamic Render Border","version":"1.0.1","tagline":"Addon to create dynamic render borders for animations","archive_hash":"sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986","archive_size":7352,"archive_url":"https://extensions.blender.org/download/sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986/add-on-dynamic-render-border-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-render-border/","maintainer":"tobiaskummer","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Animation"]},{"id":"set_vertex_distance","schema_version":"1.0.0","name":"Set Vertex Distance","version":"1.0.0","tagline":"Set distance between two vertices along a specific axis","archive_hash":"sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f","archive_size":2537,"archive_url":"https://extensions.blender.org/download/sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f/add-on-set-vertex-distance-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-vertex-distance/","maintainer":"alicoskun","license":["SPDX:GPL-3.0-or-later"]},{"id":"vectart_import","schema_version":"1.0.0","name":"Vectart Import","version":"1.0.4","tagline":"Import and preview vector files with layer management","archive_hash":"sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1","archive_size":19068,"archive_url":"https://extensions.blender.org/download/sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1/add-on-vectart-import-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-import/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to read and import SVG files from the disk"},"tags":["Modeling","Object"]},{"id":"shapeFitter","schema_version":"1.0.0","name":"Shape Fitter","version":"1.3.0","tagline":"Fit primitive shapes to verticies","archive_hash":"sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee","archive_size":10012,"archive_url":"https://extensions.blender.org/download/sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee/add-on-shapefitter-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapefitter/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"trimmer","schema_version":"1.0.0","name":"Trimmer","version":"0.3.0","tagline":"Simplified texturing workflow for trim-sheets","archive_hash":"sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5","archive_size":12275,"archive_url":"https://extensions.blender.org/download/sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5/add-on-trimmer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trimmer/","maintainer":"LaXHeXLuX","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"camera_viewer","schema_version":"1.0.0","name":"Camera Viewer","version":"1.1.4","tagline":"You can preview the camera view directly in the 3D viewport","archive_hash":"sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79","archive_size":11337,"archive_url":"https://extensions.blender.org/download/sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79/add-on-camera-viewer-v1.1.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-viewer/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"meshstats","schema_version":"1.0.0","name":"Meshstats","version":"1.3.2","tagline":"Mesh statistics","archive_hash":"sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421","archive_size":55105,"archive_url":"https://extensions.blender.org/download/sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421/add-on-meshstats-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.2","website":"https://extensions.blender.org/add-ons/meshstats/","maintainer":"muhuk","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"requin_blue_theme","schema_version":"1.0.0","name":"Requin Blue","version":"1.2.0","tagline":"This is a Blender theme with a major blue color","archive_hash":"sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42","archive_size":6733,"archive_url":"https://extensions.blender.org/download/sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42/theme-requin-blue-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/themes/requin-blue-theme/","maintainer":"MozzarellaARC","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"auto_dark_mode","schema_version":"1.0.0","name":"Auto Dark Mode","version":"3.0.0","tagline":"Automatically follow the system light/dark mode","archive_hash":"sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b","archive_size":11993,"archive_url":"https://extensions.blender.org/download/sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b/add-on-auto-dark-mode-v3.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-dark-mode/","maintainer":"dprice","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read installed themes"},"tags":["System","User Interface"]},{"id":"ikea_browser","schema_version":"1.0.0","name":"IKEA Browser","version":"0.4.0","tagline":"Search and import models from ikea.com","archive_hash":"sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2","archive_size":7016,"archive_url":"https://extensions.blender.org/download/sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2/add-on-ikea-browser-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ikea-browser/","maintainer":"Shish","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store downloaded models","network":"Download from ikea.com"},"tags":["Import-Export"]},{"id":"blue_genes","schema_version":"1.0.0","name":"Blue Genes","version":"1.0.3","tagline":"Dark Blue, Readable Daily Driver","archive_hash":"sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e","archive_size":5997,"archive_url":"https://extensions.blender.org/download/sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e/theme-blue-genes-v1.0.3.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blue-genes/","maintainer":"SpectralVectors","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"convert_rotation_mode","schema_version":"1.0.0","name":"Convert Rotation Mode","version":"1.5.1","tagline":"Change rotation mode whilst preserving animation","archive_hash":"sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec","archive_size":23134,"archive_url":"https://extensions.blender.org/download/sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec/add-on-convert-rotation-mode-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/convert-rotation-mode/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste bone transforms"},"tags":["Animation","3D View","Bake"]},{"id":"momo","schema_version":"1.0.0","name":"Momo Light","version":"5.0.5","tagline":"Momo Light - theme inspired by Modo","archive_hash":"sha256:cf00fdad2d18855ecc66619205364da458738a82a0d1e2257ca3011de6fa7f7c","archive_size":6482,"archive_url":"https://extensions.blender.org/download/sha256:cf00fdad2d18855ecc66619205364da458738a82a0d1e2257ca3011de6fa7f7c/theme-momo-v5.0.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"save_with_versioning","schema_version":"1.0.0","name":"Save with Versioning","version":"2.1.0","tagline":"Save incremental and use published files for asset linking","archive_hash":"sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff","archive_size":20710,"archive_url":"https://extensions.blender.org/download/sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff/add-on-save-with-versioning-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/save-with-versioning/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save .blend files"},"tags":["Pipeline"]},{"id":"is_key_free","schema_version":"1.0.0","name":"Is key Free","version":"1.1.3","tagline":"Find free shortcuts, inform about used and print a key list","archive_hash":"sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a/add-on-is-key-free-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/is-key-free/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"node_presets","schema_version":"1.0.0","name":"Node Presets","version":"1.1.0","tagline":"Add node groups directly to the node editors","archive_hash":"sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04","archive_size":2398,"archive_url":"https://extensions.blender.org/download/sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04/add-on-node-presets-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-presets/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Node"]},{"id":"align_tools","schema_version":"1.0.0","name":"Align Tools","version":"0.3.6","tagline":"Align Selected Objects to Active Object","archive_hash":"sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de","archive_size":6743,"archive_url":"https://extensions.blender.org/download/sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de/add-on-align-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"archimesh","schema_version":"1.0.0","name":"Archimesh","version":"1.2.5","tagline":"Generate rooms, doors, windows, and other architecture objects","archive_hash":"sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87","archive_size":323488,"archive_url":"https://extensions.blender.org/download/sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87/add-on-archimesh-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/archimesh/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"scatter_objects","schema_version":"1.0.0","name":"Scatter Objects","version":"0.2.0","tagline":"Distribute object instances on another object","archive_hash":"sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b","archive_size":6876,"archive_url":"https://extensions.blender.org/download/sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b/add-on-scatter-objects-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scatter-objects/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"node_group_utilities","schema_version":"1.0.0","name":"Node Group Utilities","version":"2.1.1","tagline":"Extra options and functions for node groups","archive_hash":"sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5","archive_size":67952,"archive_url":"https://extensions.blender.org/download/sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5/add-on-node-group-utilities-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-utilities/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"flatterer","schema_version":"1.0.0","name":"Flatterer","version":"1.6.0","tagline":"Flat mesh to SVG exporter for laser cutters","archive_hash":"sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559","archive_size":383844,"archive_url":"https://extensions.blender.org/download/sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559/add-on-flatterer-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/flatterer/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG files to disk"},"tags":["Import-Export"]},{"id":"modular_tree","schema_version":"1.0.0","name":"Modular Tree","version":"5.3.3","tagline":"Procedural node based 3D tree generation","archive_hash":"sha256:87c875d58f5018a04494c2f06e6f818f694985ae542c13ccebaa7b6bf72eb15a","archive_size":3382302,"archive_url":"https://extensions.blender.org/download/sha256:87c875d58f5018a04494c2f06e6f818f694985ae542c13ccebaa7b6bf72eb15a/add-on-modular-tree-v5.3.3-windows-x64.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modular-tree/","maintainer":"Brandyn-Britton","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export pivot painter textures"},"platforms":["windows-x64"],"tags":["Mesh","Add Curve"]},{"id":"bombsquad_tools","schema_version":"1.0.0","name":"BombSquad Tools","version":"3.0.12","tagline":"Tools for creating BombSquad game assets","archive_hash":"sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00","archive_size":39147,"archive_url":"https://extensions.blender.org/download/sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00/add-on-bombsquad-tools-v3.0.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bombsquad-tools/","maintainer":"aryan02420","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .bob, .cob, and .json files"},"tags":["Import-Export","Scene"]},{"id":"vertex_group_assistant","schema_version":"1.0.0","name":"Vertex Group Assistant","version":"1.0.2","tagline":"Simplifies clothing rigging for avatars","archive_hash":"sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c","archive_size":3846,"archive_url":"https://extensions.blender.org/download/sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c/add-on-vertex-group-assistant-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-assistant/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"blender_Run_Scripts_From_Folder","schema_version":"1.0.0","name":"Run Scripts From Folder","version":"0.0.7","tagline":"Execute script from Script Directiories","archive_hash":"sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47","archive_size":2464,"archive_url":"https://extensions.blender.org/download/sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47/add-on-blender-run-scripts-from-folder-v0.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-run-scripts-from-folder/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read .py files from disk"},"tags":["System"]},{"id":"bdvd_SharpBlade","schema_version":"1.0.0","name":"Sharp Blade","version":"5.2.0","tagline":"Easy on the eyes, deep in the blue. Create freely","archive_hash":"sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24","archive_size":5892,"archive_url":"https://extensions.blender.org/download/sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24/theme-bdvd-sharpblade-v5.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/bdvd-sharpblade/","maintainer":"bdvd","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"dynamic_brush_menus","schema_version":"1.0.0","name":"Dynamic Brush Menus","version":"1.1.10","tagline":"Fast access to brushes & tools in Sculpt and Paint Modes","archive_hash":"sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400","archive_size":15222,"archive_url":"https://extensions.blender.org/download/sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400/add-on-dynamic-brush-menus-v1.1.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-brush-menus/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"image_sequence_to_mp4_video_converter","schema_version":"1.0.0","name":"Image Sequence to MP4 Video Converter","version":"1.0.3","tagline":"Convert image sequences to MP4 with custom resolution","archive_hash":"sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d","archive_size":8152,"archive_url":"https://extensions.blender.org/download/sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d/add-on-image-sequence-to-mp4-video-converter-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/image-sequence-to-mp4-video-converter/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"vertex_group_hierarchy_sorter","schema_version":"1.0.0","name":"Vertex Group Hierarchy Sorter","version":"1.0.3","tagline":"List vertex groups in armature hierarchy order","archive_hash":"sha256:b7e1f3a4a212b611654aa24116b79fc1e71a765be836f5d09a1946221e683397","archive_size":3493,"archive_url":"https://extensions.blender.org/download/sha256:b7e1f3a4a212b611654aa24116b79fc1e71a765be836f5d09a1946221e683397/add-on-vertex-group-hierarchy-sorter-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-hierarchy-sorter/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"expLODe","schema_version":"1.0.0","name":"expLODe","version":"1.0.2","tagline":"LOD automation script using Python and Blender","archive_hash":"sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74","archive_size":22275,"archive_url":"https://extensions.blender.org/download/sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74/add-on-explode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/explode/","maintainer":"Rainma22","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["Import-Export"]},{"id":"render_notifications_extension","schema_version":"1.0.0","name":"Render Notifications","version":"1.2.2","tagline":"Notifies you via Discord, desktop, or webhook on render events","archive_hash":"sha256:5ac923b73c553303352a38de784606aefa0580e2fa9002a33e09d956fb12c85e","archive_size":2804206,"archive_url":"https://extensions.blender.org/download/sha256:5ac923b73c553303352a38de784606aefa0580e2fa9002a33e09d956fb12c85e/add-on-render-notifications-extension-v1.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/render-notifications-extension/","maintainer":"JimmyNoStar","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Needed to send notifications via webhooks and Discord"},"platforms":["windows-x64"],"tags":["Render","System"]},{"id":"armature_deform_with_linked_groups","schema_version":"1.0.0","name":"Armature Deform with Linked Groups","version":"1.0.0","tagline":"Create an armature deformation using linked vertices","archive_hash":"sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2","archive_size":4824,"archive_url":"https://extensions.blender.org/download/sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2/add-on-armature-deform-with-linked-groups-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-deform-with-linked-groups/","maintainer":"Suchaaver","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Mesh"]},{"id":"eevee_projectors","schema_version":"1.0.0","name":"Eevee Projectors","version":"1.1.1","tagline":"Fake Projector lights in Eeve","archive_hash":"sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e","archive_size":285870,"archive_url":"https://extensions.blender.org/download/sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e/add-on-eevee-projectors-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/eevee-projectors/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","Object"]},{"id":"Arma3ObjectBuilder","schema_version":"1.0.0","name":"Arma 3 Object Builder","version":"2.5.1","tagline":"Comprehensive add-on for modding Arma 3","archive_hash":"sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009","archive_size":270830,"archive_url":"https://extensions.blender.org/download/sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009/add-on-arma3objectbuilder-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/arma3objectbuilder/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export operations on supported file formats"},"tags":["Import-Export","Game Engine","Object"]},{"id":"gp_to_curves","schema_version":"1.0.0","name":"Grease Pencil to Curves","version":"0.4.5","tagline":"Quickly convert Grease Pencil strokes to simple curves and hair","archive_hash":"sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5","archive_size":6977,"archive_url":"https://extensions.blender.org/download/sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5/add-on-gp-to-curves-v0.4.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-to-curves/","maintainer":"DadsCastle","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Add Curve","Modeling"]},{"id":"RigFlex","schema_version":"1.0.0","name":"RigFlex Simple Soft Body Simulation for Armatures","version":"4.2.1","tagline":"Simple Soft Body Simulation for Armatures","archive_hash":"sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064","archive_size":8750,"archive_url":"https://extensions.blender.org/download/sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064/add-on-rigflex-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigflex/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation","Physics","Rigging"]},{"id":"visibility_handler","schema_version":"1.0.0","name":"Visibility handler","version":"1.1.3","tagline":"Copy visibility from viewport to render settings or vice versa","archive_hash":"sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c","archive_size":8680,"archive_url":"https://extensions.blender.org/download/sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c/add-on-visibility-handler-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/visibility-handler/","maintainer":"DanielBystedt","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"FavoriteObjects","schema_version":"1.0.0","name":"Favorite Objects","version":"1.0.5","tagline":"Mark your favorite objects and select them from the Viewport","archive_hash":"sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6","archive_size":5933,"archive_url":"https://extensions.blender.org/download/sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6/add-on-favoriteobjects-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/favoriteobjects/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"property_chart","schema_version":"1.0.0","name":"Property Chart","version":"0.1.2","tagline":"Edit properties simultaneously for selected objects/sequencer","archive_hash":"sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed","archive_size":2959,"archive_url":"https://extensions.blender.org/download/sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed/add-on-property-chart-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/property-chart/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"Connecter","schema_version":"1.0.0","name":"Connecter","version":"0.6.20","tagline":"Streamlined Asset Management: Import & Export with Connecter DAM","archive_hash":"sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310","archive_size":392369,"archive_url":"https://extensions.blender.org/download/sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310/add-on-connecter-v0.6.20-windows-x64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/connecter/","maintainer":"DesignConnected","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export blend files from/to disk"},"platforms":["windows-x64","windows-arm64"],"tags":["Import-Export"]},{"id":"render_multiple_instances","schema_version":"1.0.0","name":"Render Multiple Instances","version":"3.2.1","tagline":"Render animations and Flipbooks faster with multiple instances","archive_hash":"sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc","archive_size":8380,"archive_url":"https://extensions.blender.org/download/sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc/add-on-render-multiple-instances-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-multiple-instances/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and read exports images"},"tags":["Render","Pipeline"]},{"id":"turnaround_camera","schema_version":"1.0.0","name":"Turnaround Camera","version":"0.3.0","tagline":"Add a camera rotation around selected object","archive_hash":"sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa","archive_size":3237,"archive_url":"https://extensions.blender.org/download/sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa/add-on-turnaround-camera-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turnaround-camera/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"carver","schema_version":"1.0.0","name":"Carver","version":"1.2.3","tagline":"Multiple tools to carve or to create objects","archive_hash":"sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b","archive_size":29032,"archive_url":"https://extensions.blender.org/download/sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b/add-on-carver-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/carver/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"Dark_Pro_Max_Theme","schema_version":"1.0.0","name":"Dark_Pro_Max_Theme","version":"1.0.6","tagline":"Dark Ultra Plus","archive_hash":"sha256:acb0e82caf0a16b464989a320a47f530cc9812cf22eb44b3f69b4f74579743c4","archive_size":5656,"archive_url":"https://extensions.blender.org/download/sha256:acb0e82caf0a16b464989a320a47f530cc9812cf22eb44b3f69b4f74579743c4/theme-dark-pro-max-theme-v1.0.6.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-pro-max-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"poly_copy_paste","schema_version":"1.0.0","name":"Poly Copy Paste","version":"1.0.3","tagline":"Copy / Cut / Paste polygons with Ctrl+C / Ctrl+X / Ctrl+V","archive_hash":"sha256:b40714c0b14ccb768539ac4906e03ef91cd167361be51985671a49c608732942","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:b40714c0b14ccb768539ac4906e03ef91cd167361be51985671a49c608732942/add-on-poly-copy-paste-v1.0.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/poly-copy-paste/","maintainer":"Fisch_Tu","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"delete_empty_nla_tracks","schema_version":"1.0.0","name":"Delete Empty NLA Tracks","version":"1.0.0","tagline":"Remove empty NLA tracks from all objects","archive_hash":"sha256:e49031699498ec0f3bfd8904a6a29b30e0848f2d6443915298b63552999b6624","archive_size":2118,"archive_url":"https://extensions.blender.org/download/sha256:e49031699498ec0f3bfd8904a6a29b30e0848f2d6443915298b63552999b6624/add-on-delete-empty-nla-tracks-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/delete-empty-nla-tracks/","maintainer":"Rikokenz","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Blueprint_Theme","schema_version":"1.0.0","name":"Blueprint_Theme","version":"1.0.2","tagline":"True Blueprint Colour","archive_hash":"sha256:d8b64cbdeff3015626d95aa63b25a7925878d4008c223645790907c1ad49a547","archive_size":5669,"archive_url":"https://extensions.blender.org/download/sha256:d8b64cbdeff3015626d95aa63b25a7925878d4008c223645790907c1ad49a547/theme-blueprint-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"fk_ik_snapping_tools","schema_version":"1.0.0","name":"FK/IK Snapping Tools","version":"1.0.0","tagline":"Seamlessly snap FK controls to IK and vice versa","archive_hash":"sha256:002108bd615d7e54428eac30c42e80215c917e61d904ddbd33da0eb3c84118f2","archive_size":3458,"archive_url":"https://extensions.blender.org/download/sha256:002108bd615d7e54428eac30c42e80215c917e61d904ddbd33da0eb3c84118f2/add-on-fk-ik-snapping-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fk-ik-snapping-tools/","maintainer":"atrxi","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"Nostalgia_2bit_UI","schema_version":"1.0.0","name":"Nostalgia_2bit_UI","version":"1.1.1","tagline":"Reminiscence Y2K Era Grey UI","archive_hash":"sha256:e796fa03df2f32319e8e4859f23c8dbae2c8ea83f55e67544a91a0dc47733548","archive_size":5603,"archive_url":"https://extensions.blender.org/download/sha256:e796fa03df2f32319e8e4859f23c8dbae2c8ea83f55e67544a91a0dc47733548/theme-nostalgia-2bit-ui-v1.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nostalgia-2bit-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"BLeQ_Extension","schema_version":"1.0.0","name":"BLeQ","version":"1.0.5","tagline":"Renderqueue / 3DHomePage / Hardwaremonitor / Tools","archive_hash":"sha256:286cefdc0eaeabc2e348c1e26ac7c5eaec9946603e3570aa5382a1704132c0ac","archive_size":35304,"archive_url":"https://extensions.blender.org/download/sha256:286cefdc0eaeabc2e348c1e26ac7c5eaec9946603e3570aa5382a1704132c0ac/add-on-bleq-extension-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bleq-extension/","maintainer":"Christian-Makarski","license":["SPDX:GPL-3.0-or-later"]},{"id":"gv_point_cloud_exporter","schema_version":"1.0.0","name":"PointCloud and Splat Exporter (.ply)","version":"0.0.4","tagline":"Export PointCloud and Splat data to PLY format","archive_hash":"sha256:62edeb3a17a70aa1e04bf01687fd3eca4ed88cf734d24fa59e3ff068d1f92fd0","archive_size":4380,"archive_url":"https://extensions.blender.org/download/sha256:62edeb3a17a70aa1e04bf01687fd3eca4ed88cf734d24fa59e3ff068d1f92fd0/add-on-gv-point-cloud-exporter-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gv-point-cloud-exporter/","maintainer":"GiancarloV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"files"},"tags":["Import-Export"]},{"id":"driver_copy_io","schema_version":"1.0.0","name":"Driver Copy IO","version":"2.1.1","tagline":"Copy/Paste drivers via JSON using full path","archive_hash":"sha256:58a88728287093155bb2f61c7a7e526c2923c0889872d4613bf2db867dba207d","archive_size":21147,"archive_url":"https://extensions.blender.org/download/sha256:58a88728287093155bb2f61c7a7e526c2923c0889872d4613bf2db867dba207d/add-on-driver-copy-io-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/driver-copy-io/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"modifier_manager","schema_version":"1.0.0","name":"Modifier Manager","version":"1.0.2","tagline":"Manage your modifiers from right click menu","archive_hash":"sha256:0e03355dba011e705ff220940779f32169080136f625866173e8a79077f87f29","archive_size":11707,"archive_url":"https://extensions.blender.org/download/sha256:0e03355dba011e705ff220940779f32169080136f625866173e8a79077f87f29/add-on-modifier-manager-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifier-manager/","maintainer":"KewlSheet","license":["SPDX:GPL-3.0-or-later"]},{"id":"mockup_screenshoter","schema_version":"1.0.0","name":"Mockup Screenshoter","version":"0.9.1","tagline":"Capture your screen to make mockups in Penpot","archive_hash":"sha256:16c2d787b49297921eebec6f3bebf1727606c435f1053f6ed6eab55280bbd96e","archive_size":6437,"archive_url":"https://extensions.blender.org/download/sha256:16c2d787b49297921eebec6f3bebf1727606c435f1053f6ed6eab55280bbd96e/add-on-mockup-screenshoter-v0.9.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mockup-screenshoter/","maintainer":"Blender","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary folder for the screen captures","clipboard":"Copy Penpot-ready json into the clipboard"},"tags":["Development"]},{"id":"SilhouetteToole","schema_version":"1.0.0","name":"SilhouetteToole","version":"1.9.3","tagline":"One-click viewport silhouette mode","archive_hash":"sha256:3d21f4e70cbc54a5ad89ce8169dcec502cad3d4d5a96c3cbd899ddee1ec82bc9","archive_size":2042,"archive_url":"https://extensions.blender.org/download/sha256:3d21f4e70cbc54a5ad89ce8169dcec502cad3d4d5a96c3cbd899ddee1ec82bc9/add-on-silhouettetoole-v1.9.3.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/silhouettetoole/","maintainer":"Quinzy","license":["SPDX:GPL-3.0-or-later"]},{"id":"b3d_ui_langloop","schema_version":"1.0.0","name":"B3D UI Language Loop","version":"1.0.3","tagline":"Quickly cycle Blender interface languages with a shortcut","archive_hash":"sha256:63bf8c9073919e21a7eb49b352d02a54f71057cfe26adce7f9d2337ac9a0b866","archive_size":6240,"archive_url":"https://extensions.blender.org/download/sha256:63bf8c9073919e21a7eb49b352d02a54f71057cfe26adce7f9d2337ac9a0b866/add-on-b3d-ui-langloop-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b3d-ui-langloop/","maintainer":"楊景貴","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Expecto_Patronum_Theme","schema_version":"1.0.0","name":"Expecto_Patronum_Theme","version":"1.0.3","tagline":"Airy Guardian Spirit","archive_hash":"sha256:1ee61a9edc6269794d63c81759358bd43e06b7fae27271ad235ac8b25af0ee05","archive_size":5717,"archive_url":"https://extensions.blender.org/download/sha256:1ee61a9edc6269794d63c81759358bd43e06b7fae27271ad235ac8b25af0ee05/theme-expecto-patronum-theme-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/expecto-patronum-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"tree_clipper","schema_version":"1.0.0","name":"Tree Clipper","version":"0.1.5","tagline":"Export and import Blender node trees as JSON","archive_hash":"sha256:ff420d33b7e1c3a98173fac27835433b145f255becc2c2db99f4baf73da061ea","archive_size":51082,"archive_url":"https://extensions.blender.org/download/sha256:ff420d33b7e1c3a98173fac27835433b145f255becc2c2db99f4baf73da061ea/add-on-tree-clipper-v0.1.5.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/tree-clipper/","maintainer":"Lars-Helge-Scheel","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Node"]},{"id":"shapingrecorder","schema_version":"1.0.0","name":"Shaping Recorder","version":"0.7.5","tagline":"Record mesh shaping and viewport moves, replay interpolated","archive_hash":"sha256:a10c5e07c373447ad896741da47cc8a4fc831852c2f09261b57c120f2f8c3596","archive_size":38248,"archive_url":"https://extensions.blender.org/download/sha256:a10c5e07c373447ad896741da47cc8a4fc831852c2f09261b57c120f2f8c3596/add-on-shapingrecorder-v0.7.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapingrecorder/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write image sequences"},"tags":["Modeling"]},{"id":"reforge","schema_version":"1.0.0","name":"Reforge","version":"0.5.2","tagline":"Reforge Blender scenes into Defold assets","archive_hash":"sha256:15bd625739050ad3a4b3641ebdebfac6298330c02dee5d0b1bc08eb96b47f811","archive_size":16167,"archive_url":"https://extensions.blender.org/download/sha256:15bd625739050ad3a4b3641ebdebfac6298330c02dee5d0b1bc08eb96b47f811/add-on-reforge-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reforge/","maintainer":"Alexander-Bulatov","license":["SPDX:GPL-3.0-or-later"]},{"id":"comparable","schema_version":"1.0.0","name":"Comparable","version":"1.0.2","tagline":"Compare two objects or collections in one click","archive_hash":"sha256:b72d64fdb22b697a07806b75fcf932348475e326fc38b27d9230ddc0aae2116d","archive_size":3981,"archive_url":"https://extensions.blender.org/download/sha256:b72d64fdb22b697a07806b75fcf932348475e326fc38b27d9230ddc0aae2116d/add-on-comparable-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/comparable/","maintainer":"ffuthoni","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"screenwriter","schema_version":"1.0.0","name":"Screenwriter","version":"1.0.0","tagline":"Screenplay formatting and syncing tools for Blender","archive_hash":"sha256:ea16e42750bde882d4e1ceed7a74d55e020bb52bed06816615f9d5e162f6c2c6","archive_size":7307,"archive_url":"https://extensions.blender.org/download/sha256:ea16e42750bde882d4e1ceed7a74d55e020bb52bed06816615f9d5e162f6c2c6/add-on-screenwriter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/screenwriter/","maintainer":"zhengyang237","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing .fountain files"}},{"id":"image_zoom_overlay","schema_version":"1.0.0","name":"Image Zoom Overlay","version":"1.0.0","tagline":"Display zoom level in Image Editor with quick presets","archive_hash":"sha256:96407335647d7191ba1522818bd6f5b9e15be10fd896c50a18a5330e4d09e154","archive_size":2896,"archive_url":"https://extensions.blender.org/download/sha256:96407335647d7191ba1522818bd6f5b9e15be10fd896c50a18a5330e4d09e154/add-on-image-zoom-overlay-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/image-zoom-overlay/","maintainer":"pikok85","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to image editor display settings"},"tags":["User Interface"]},{"id":"pataz_notes","schema_version":"1.0.0","name":"Pataz Notes","version":"5.1.1","tagline":"Anotate your blend files","archive_hash":"sha256:41e6e18fe44ba530a0525c3f1543a54589096fe017ad1dac108aa96a03ab72b0","archive_size":4385,"archive_url":"https://extensions.blender.org/download/sha256:41e6e18fe44ba530a0525c3f1543a54589096fe017ad1dac108aa96a03ab72b0/add-on-pataz-notes-v5.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-notes/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"local_view_collection","schema_version":"1.0.0","name":"Local View by collection","version":"1.0.1","tagline":"Quickly isolate into local view the objects of a collection","archive_hash":"sha256:b3787414e05eb4fec2321dfa8869b24a904daca1a94537c0624733dd171b9e7b","archive_size":5631,"archive_url":"https://extensions.blender.org/download/sha256:b3787414e05eb4fec2321dfa8869b24a904daca1a94537c0624733dd171b9e7b/add-on-local-view-collection-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/local-view-collection/","maintainer":"D3W3","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","User Interface"]},{"id":"omoospace","schema_version":"1.0.0","name":"Omoospace","version":"0.2.1","tagline":"Manage your project files in omoospace's way","archive_hash":"sha256:fda909ae9183036292520db5c2e8b564f43f7156c0acb1ede24b38eeab8a04cf","archive_size":1669373,"archive_url":"https://extensions.blender.org/download/sha256:fda909ae9183036292520db5c2e8b564f43f7156c0acb1ede24b38eeab8a04cf/add-on-omoospace-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omoospace/","maintainer":"icrdr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Manage your project files in omoospace's way"},"platforms":["windows-x64"],"tags":["Pipeline"]},{"id":"export_curve_to_json","schema_version":"1.0.0","name":"Export Curve To Json","version":"1.0.2","tagline":"File import/export for curves with JSON","archive_hash":"sha256:3646464bdf053849db751b2222790836064e5e268c70ef559f89bacde467c115","archive_size":18907,"archive_url":"https://extensions.blender.org/download/sha256:3646464bdf053849db751b2222790836064e5e268c70ef559f89bacde467c115/add-on-export-curve-to-json-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-curve-to-json/","maintainer":"Quint-Vrolijk","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"sculpting_extra_meshes_curve","schema_version":"1.0.0","name":"Sculpting Extra Meshes + Curve","version":"1.2.1","tagline":"Add primitives, join, boolean, mirror while in Sculpt Mode","archive_hash":"sha256:1ffdfc6d35b339f74a33a425a63d896b0c1516306e1c70b14974ea032f47f556","archive_size":3706,"archive_url":"https://extensions.blender.org/download/sha256:1ffdfc6d35b339f74a33a425a63d896b0c1516306e1c70b14974ea032f47f556/add-on-sculpting-extra-meshes-curve-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sculpting-extra-meshes-curve/","maintainer":"pixldg","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt"]},{"id":"global_custom_properties","schema_version":"1.0.0","name":"Global Custom Properties","version":"1.0.0","tagline":"Reusable Custom Properties on Objects and Collections","archive_hash":"sha256:9775ca35a3b7fb12a8c36dcbde85c8497a0ddd8938ec180416d9f23d9907d128","archive_size":18782,"archive_url":"https://extensions.blender.org/download/sha256:9775ca35a3b7fb12a8c36dcbde85c8497a0ddd8938ec180416d9f23d9907d128/add-on-global-custom-properties-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/global-custom-properties/","maintainer":"1hue","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"SimpleMIDI","schema_version":"1.0.0","name":"SimpleMIDI","version":"0.1.13","tagline":"Control object parameters through MIDI Input","archive_hash":"sha256:1c9001d8ced49c7dd63ec3c88c69f3095eff57dd00b6d45f136dd6a00b67db16","archive_size":279077,"archive_url":"https://extensions.blender.org/download/sha256:1c9001d8ced49c7dd63ec3c88c69f3095eff57dd00b6d45f136dd6a00b67db16/add-on-simplemidi-v0.1.13-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simplemidi/","maintainer":"yadu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Imports and exports JSON for target maps"},"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"curve_fillet_tool","schema_version":"1.0.0","name":"NURBS/Poly Fillet Tool","version":"1.0.0","tagline":"Fillet and 'unfillet' for paths","archive_hash":"sha256:07d671b719e336aba5192208baf4951d2db3cf161e56350c3fb405fb3b6b1df7","archive_size":17360,"archive_url":"https://extensions.blender.org/download/sha256:07d671b719e336aba5192208baf4951d2db3cf161e56350c3fb405fb3b6b1df7/add-on-curve-fillet-tool-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/curve-fillet-tool/","maintainer":"zaphod","license":["SPDX:GPL-3.0-or-later"]},{"id":"time_stretch_sync","schema_version":"1.0.0","name":"Time Stretch Sync","version":"1.1.0","tagline":"Sync timeline range, playline and operators with timestretching","archive_hash":"sha256:347dd396d927096a9f8c361e79214b2a612a5ca8208274a667ee207195f5df4c","archive_size":13493,"archive_url":"https://extensions.blender.org/download/sha256:347dd396d927096a9f8c361e79214b2a612a5ca8208274a667ee207195f5df4c/add-on-time-stretch-sync-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-stretch-sync/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"render_subcollections","schema_version":"1.0.0","name":"Render Subcollections","version":"1.0.1","tagline":"Automatically renders subcollections one by one","archive_hash":"sha256:54f2c7f20d243d96a7575d8083e92de190a0ceb9149e3757491c82cad3833066","archive_size":3353,"archive_url":"https://extensions.blender.org/download/sha256:54f2c7f20d243d96a7575d8083e92de190a0ceb9149e3757491c82cad3833066/add-on-render-subcollections-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-subcollections/","maintainer":"Nico-Peters","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Camera"]},{"id":"Dissolve2EdgeVertices","schema_version":"1.0.0","name":"Dissolve 2-Edge Vertices","version":"1.1.0","tagline":"Dissolve vertices with two edges to clean up mesh topology","archive_hash":"sha256:6bfec11aea3f67f68c75897824e690f2110b5a0a84f57b8c9681e1b46a60241a","archive_size":1920,"archive_url":"https://extensions.blender.org/download/sha256:6bfec11aea3f67f68c75897824e690f2110b5a0a84f57b8c9681e1b46a60241a/add-on-dissolve2edgevertices-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dissolve2edgevertices/","maintainer":"Jackal","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"beyond_channel_packer","schema_version":"1.0.0","name":"Beyond Channel Packer","version":"1.0.2","tagline":"Pack image channels (RGBA) in the Image Editor","archive_hash":"sha256:713e336af49bf826e91aead72025eadd114580927d24e33e0493583e187b7e77","archive_size":22143,"archive_url":"https://extensions.blender.org/download/sha256:713e336af49bf826e91aead72025eadd114580927d24e33e0493583e187b7e77/add-on-beyond-channel-packer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.9.999","website":"https://extensions.blender.org/add-ons/beyond-channel-packer/","maintainer":"tyler.tofu","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","Paint"]},{"id":"topology_doctor","schema_version":"1.0.0","name":"Topology Doctor","version":"1.0.0","tagline":"One-click topology analysis and repair assistant","archive_hash":"sha256:79c03ca9c72968c3badfb6ecd2e4aba1fbc6fd8818681c453ddc95ad1f4ad3dd","archive_size":16947,"archive_url":"https://extensions.blender.org/download/sha256:79c03ca9c72968c3badfb6ecd2e4aba1fbc6fd8818681c453ddc95ad1f4ad3dd/add-on-topology-doctor-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/topology-doctor/","maintainer":"Arman-Jangmiri","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Required to copy the topology analysis report text to clipboard"}},{"id":"chordsong","schema_version":"1.0.0","name":"Chord Song","version":"1.1.5","tagline":"Vim-like key implementation for Blender","archive_hash":"sha256:c3e04f8a11c9813a505b063ba222c990815f9f667ea8779ee7a4b0c0835c0405","archive_size":175781,"archive_url":"https://extensions.blender.org/download/sha256:c3e04f8a11c9813a505b063ba222c990815f9f667ea8779ee7a4b0c0835c0405/add-on-chordsong-v1.1.5.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/chordsong/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Development"]},{"id":"keyboard_layout_emulation","schema_version":"1.0.0","name":"Keyboard Layout Emulation","version":"1.0.2","tagline":"Emulate QWERTY keyboard shortcuts on non-QWERTY keyboard layouts","archive_hash":"sha256:16913e50665a8e293b248d82aec64859f67c4c0932a3ef41b765cbcb603b2e04","archive_size":32090,"archive_url":"https://extensions.blender.org/download/sha256:16913e50665a8e293b248d82aec64859f67c4c0932a3ef41b765cbcb603b2e04/add-on-keyboard-layout-emulation-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyboard-layout-emulation/","maintainer":"endorh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export keyboard layouts/add-on preferences"},"tags":["User Interface"]},{"id":"ghostview","schema_version":"1.0.0","name":"GhostView","version":"1.0.2","tagline":"Adjust Window Opacity","archive_hash":"sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2","archive_size":1997,"archive_url":"https://extensions.blender.org/download/sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2/add-on-ghostview-v1.0.2-windows-x64-windows-arm64-macos-x64-macos-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ghostview/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","windows-arm64","macos-x64","macos-arm64"],"tags":["User Interface","System"]},{"id":"gamepadcontrol","schema_version":"1.0.0","name":"Gamepad Control","version":"0.1.2","tagline":"Use gamepads as input device to control Blender","archive_hash":"sha256:91cd1c62ff1c6f009b15f2058627ca927f91ccc237ad1cfd5b59af71bd04cc62","archive_size":4828055,"archive_url":"https://extensions.blender.org/download/sha256:91cd1c62ff1c6f009b15f2058627ca927f91ccc237ad1cfd5b59af71bd04cc62/add-on-gamepadcontrol-v0.1.2-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/gamepadcontrol/","maintainer":"Frank-Moelendoerp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export settings and controller modes"},"platforms":["windows-x64"],"tags":["System","User Interface"]},{"id":"LightNCreamy","schema_version":"1.0.0","name":"Light N Creamy","version":"1.0.0","tagline":"Modern light and creamy theme","archive_hash":"sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7","archive_size":3828,"archive_url":"https://extensions.blender.org/download/sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7/theme-lightncreamy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/lightncreamy/","maintainer":"nova3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"majik_blender_edu_teacher","schema_version":"1.0.0","name":"Majik Blender Edu","version":"1.1.4","tagline":"Submission integrity tool for educators to verify students' work","archive_hash":"sha256:fc1007990be6653f524611f8c7f1daf8b043dcb0bc55d7fb103d26612786446f","archive_size":3743388,"archive_url":"https://extensions.blender.org/download/sha256:fc1007990be6653f524611f8c7f1daf8b043dcb0bc55d7fb103d26612786446f/add-on-majik-blender-edu-teacher-v1.1.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/majik-blender-edu-teacher/","maintainer":"Zelijah","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write keys and logs as JSON for integrity verification","network":"Access required for JSON file analysis"},"platforms":["windows-x64"],"tags":["Pipeline"]},{"id":"theme_elsyiun_like","schema_version":"1.0.0","name":"elsyiun like","version":"1.1.0","tagline":"A flat dark theme that is easy on the eyes","archive_hash":"sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1","archive_size":5639,"archive_url":"https://extensions.blender.org/download/sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1/theme-theme-elsyiun-like-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-elsyiun-like/","maintainer":"modekichi","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"only_blends_mixer","schema_version":"1.0.0","name":"OnlyBlends.Mixer","version":"0.1.4","tagline":"An extension to turn Blender into a Mixer... of Sounds","archive_hash":"sha256:9b4dfdd0e1da99931f745bd89229c3ed3edb2fa89bedfd0b6afc481b8a3bf347","archive_size":54096,"archive_url":"https://extensions.blender.org/download/sha256:9b4dfdd0e1da99931f745bd89229c3ed3edb2fa89bedfd0b6afc481b8a3bf347/add-on-only-blends-mixer-v0.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-mixer/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline"]},{"id":"viewport_navigation_display","schema_version":"1.0.0","name":"Viewport Navigation Display","version":"1.2.1","tagline":"Visualize and control other viewports from TOP view","archive_hash":"sha256:3764c677ad34d57510e22257ff61646ab4ec8a25d2599486588d2bf9ab2bba01","archive_size":44446,"archive_url":"https://extensions.blender.org/download/sha256:3764c677ad34d57510e22257ff61646ab4ec8a25d2599486588d2bf9ab2bba01/add-on-viewport-navigation-display-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-navigation-display/","maintainer":"Cristiano-Tosoni","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","User Interface"]},{"id":"viewport_fps","schema_version":"1.0.0","name":"Viewport FPS","version":"1.0.2","tagline":"Displays frames per second in current 3D viewport","archive_hash":"sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f","archive_size":3040,"archive_url":"https://extensions.blender.org/download/sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f/add-on-viewport-fps-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-fps/","maintainer":"Pazelock","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","System"]},{"id":"asset_shelf_shortcut_display","schema_version":"1.0.0","name":"Asset Shelf Shortcut Display","version":"1.0.0","tagline":"Adds a line with hotkey/shortcut of the asset in the shelf","archive_hash":"sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad","archive_size":2816,"archive_url":"https://extensions.blender.org/download/sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad/add-on-asset-shelf-shortcut-display-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/asset-shelf-shortcut-display/","maintainer":"The-Loose-Spirit","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_signs","schema_version":"1.0.0","name":"QuickSigns","version":"1.0.1","tagline":"Create 3D text signs with Google Fonts integration","archive_hash":"sha256:d24a17ff92d6a2bbcbc7767c5c4f0a92eee7c6a564e900db4fd993545f9d9959","archive_size":9089,"archive_url":"https://extensions.blender.org/download/sha256:d24a17ff92d6a2bbcbc7767c5c4f0a92eee7c6a564e900db4fd993545f9d9959/add-on-quick-signs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-signs/","maintainer":"Marin-Brouwers","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write font files to local storage","network":"Access Google Fonts API for font search and download"},"tags":["Import-Export"]},{"id":"dy_pack_master","schema_version":"1.0.0","name":"dy Pack Master","version":"1.0.1","tagline":"Make Blender projects portable for render farms","archive_hash":"sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f","archive_size":34845,"archive_url":"https://extensions.blender.org/download/sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f/add-on-dy-pack-master-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dy-pack-master/","maintainer":"cdordelly","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Copies and localizes external assets to project directory"},"tags":["Pipeline","Import-Export","System"]},{"id":"cycles_bake_info","schema_version":"1.0.0","name":"Bake Info","version":"1.0.2","tagline":"fast bake checkup","archive_hash":"sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5/add-on-cycles-bake-info-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cycles-bake-info/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"Areas_by_Materials","schema_version":"1.0.0","name":"Areas by Materials","version":"1.6.0","tagline":"Displays information about areas of materials in selection","archive_hash":"sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9","archive_size":3609,"archive_url":"https://extensions.blender.org/download/sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9/add-on-areas-by-materials-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/areas-by-materials/","maintainer":"Justinas-Dudenas","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","User Interface"]},{"id":"quill","schema_version":"1.0.0","name":"Quill Import/Export","version":"1.4.0","tagline":"Import and export Quill VR illustrations and animations","archive_hash":"sha256:b86a09ba42271d0137a24d2e302efee738944c83cfe84160f1f5f9b681e61636","archive_size":52053,"archive_url":"https://extensions.blender.org/download/sha256:b86a09ba42271d0137a24d2e302efee738944c83cfe84160f1f5f9b681e61636/add-on-quill-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quill/","maintainer":"Joan-Charmant","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export Quill projects from/to disk"},"tags":["Import-Export"]},{"id":"splats","schema_version":"1.0.0","name":"Splats","version":"1.0.1","tagline":"Generate multi-view training data for Gaussian Splatting","archive_hash":"sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2","archive_size":15856,"archive_url":"https://extensions.blender.org/download/sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2/add-on-splats-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/splats/","maintainer":"Dev.Patel","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PLY point clouds and render output files"},"tags":["Render","Camera"]},{"id":"export_curve_as_svg","schema_version":"1.0.0","name":"Export Curve as SVG","version":"1.0.0","tagline":"Export selected Bezier and Poly curves as SVG files","archive_hash":"sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990","archive_size":16937,"archive_url":"https://extensions.blender.org/download/sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990/add-on-export-curve-as-svg-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-curve-as-svg/","maintainer":"Gilberto.R","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"asset_library_tools","schema_version":"1.0.0","name":"Asset Library Tools","version":"1.0.0","tagline":"Filter assets by tags and catalogue backups for asset libraries","archive_hash":"sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37","archive_size":15607,"archive_url":"https://extensions.blender.org/download/sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37/add-on-asset-library-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-library-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write tag indexes and catalogue backup files"},"tags":["System","User Interface","Pipeline"]},{"id":"redlix_theme","schema_version":"1.0.0","name":"Redlix Theme","version":"1.0.0","tagline":"Cooperative brutalist framework - retro-futuristic design system","archive_hash":"sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8","archive_size":4968,"archive_url":"https://extensions.blender.org/download/sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8/theme-redlix-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redlix-theme/","maintainer":"redlix","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"ftw_flattening_toolset","schema_version":"1.0.0","name":"FTW Flattening Toolset","version":"2.0.0","tagline":"UV workflow: flattening, curve alignment, scaling, UV transfer","archive_hash":"sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a","archive_size":1176759,"archive_url":"https://extensions.blender.org/download/sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a/add-on-ftw-flattening-toolset-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw-flattening-toolset/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"]},{"id":"folded_paper_engine","schema_version":"1.0.0","name":"Folded Paper Engine","version":"1.0.6","tagline":"Define gameplay in Blender and play in Godot with a few clicks","archive_hash":"sha256:036c41c8dc4cd88fde3f2259d17e8d2d84b5a396b869bc48ce0fa95a70d324b0","archive_size":13799,"archive_url":"https://extensions.blender.org/download/sha256:036c41c8dc4cd88fde3f2259d17e8d2d84b5a396b869bc48ce0fa95a70d324b0/add-on-folded-paper-engine-v1.0.6.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/folded-paper-engine/","maintainer":"Papercraft-Games","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"tags":["Import-Export","Game Engine","Pipeline"]},{"id":"gather_resources","schema_version":"1.0.0","name":"Gather Resources","version":"0.5.2","tagline":"Collect project media into a local folder","archive_hash":"sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3","archive_size":10373,"archive_url":"https://extensions.blender.org/download/sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3/add-on-gather-resources-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gather-resources/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read project media files and copy them into a local directory"},"tags":["System","Pipeline"]},{"id":"rendercue","schema_version":"1.0.0","name":"RenderCue","version":"1.1.3","tagline":"Sequence. Queue. Render","archive_hash":"sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b","archive_size":52378,"archive_url":"https://extensions.blender.org/download/sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b/add-on-rendercue-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rendercue/","maintainer":"UsamaSQ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save renders to user-defined directories","network":"Send render notifications via Webhooks"},"tags":["Render","Pipeline"]},{"id":"character_pipeline_tracker","schema_version":"1.0.0","name":"Character Pipeline Tracker","version":"1.0.0","tagline":"Track and automate character creation pipeline stages","archive_hash":"sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010","archive_size":27555,"archive_url":"https://extensions.blender.org/download/sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010/add-on-character-pipeline-tracker-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/character-pipeline-tracker/","maintainer":"Evgeny-Lisichik","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"spine_io","schema_version":"1.0.0","name":"Spine IO","version":"0.0.3","tagline":"Export bone-driven Spine 4.3 JSON files","archive_hash":"sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e","archive_size":29815,"archive_url":"https://extensions.blender.org/download/sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e/add-on-spine-io-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spine-io/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read textures and write Spine JSON"},"tags":["Import-Export","Rigging","Animation"]},{"id":"cam_tools","schema_version":"1.0.0","name":"Cam Tools","version":"1.0.1","tagline":"Streamlined camera workflow toolkit","archive_hash":"sha256:6e616bb918b72a956f58fdcd1c75b073de375200f0d55f596423b09771ecadc4","archive_size":11445,"archive_url":"https://extensions.blender.org/download/sha256:6e616bb918b72a956f58fdcd1c75b073de375200f0d55f596423b09771ecadc4/add-on-cam-tools-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cam-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"camfree","schema_version":"1.0.0","name":"CamFree","version":"1.0.5","tagline":"Fly/Walk Navigation on Cameras with Constraints","archive_hash":"sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344","archive_size":2409,"archive_url":"https://extensions.blender.org/download/sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344/add-on-camfree-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camfree/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"sort_viewlayers_rmb","schema_version":"1.0.0","name":"RMB Sort View Layers Alphabetically in Outliner-Scenes","version":"0.0.2","tagline":"RMB Sort View Layers Alphabetically in Outliner-Scenes","archive_hash":"sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0","archive_size":2908,"archive_url":"https://extensions.blender.org/download/sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0/add-on-sort-viewlayers-rmb-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sort-viewlayers-rmb/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"voda_theme_cinnamon","schema_version":"1.0.0","name":"Cinnamon","version":"1.0.0","tagline":"Cinnamon-Orange themed Blender with a gradiented kick","archive_hash":"sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d","archive_size":6549,"archive_url":"https://extensions.blender.org/download/sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d/theme-voda-theme-cinnamon-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/voda-theme-cinnamon/","maintainer":"VaVo","license":["SPDX:CC0-1.0"]},{"id":"Studio_Dark","schema_version":"1.0.0","name":"Studio Dark","version":"1.5.5","tagline":"Sharp colors, blue accent, white select, green active","archive_hash":"sha256:746833ef0897409cb57551148f03c2d3527f2a2bb03260808e9e17f62bc1b65a","archive_size":5399,"archive_url":"https://extensions.blender.org/download/sha256:746833ef0897409cb57551148f03c2d3527f2a2bb03260808e9e17f62bc1b65a/theme-studio-dark-v1.5.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/studio-dark/","maintainer":"3DDinosaur","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"khellstr_light","schema_version":"1.0.0","name":"khellstr light theme","version":"1.0.0","tagline":"Balanced Light Theme for Blender","archive_hash":"sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d","archive_size":6493,"archive_url":"https://extensions.blender.org/download/sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d/theme-khellstr-light-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/khellstr-light/","maintainer":"Kimmo-Hellström","license":["SPDX:GPL-3.0-or-later"]},{"id":"Black","schema_version":"1.0.0","name":"Black","version":"5.0.3","tagline":"A black theme, probably the blackest one","archive_hash":"sha256:4ed8f78c3d5d43be8aa1e76c236553719f5ca69d915983140fdbf522b8880292","archive_size":5127,"archive_url":"https://extensions.blender.org/download/sha256:4ed8f78c3d5d43be8aa1e76c236553719f5ca69d915983140fdbf522b8880292/theme-black-v5.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/black/","maintainer":"Gurra","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"root_maker","schema_version":"1.0.0","name":"RootMaker","version":"1.0.1","tagline":"Create root bone & bake into actions","archive_hash":"sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3","archive_size":6592,"archive_url":"https://extensions.blender.org/download/sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3/add-on-root-maker-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/root-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging","Bake"]},{"id":"k_tools_texture_map_loader","schema_version":"1.0.0","name":"K-Tools: Texture Map Loader","version":"1.0.9","tagline":" An easy way to load Texture Sets in your Shader Material","archive_hash":"sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495","archive_size":787239,"archive_url":"https://extensions.blender.org/download/sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495/add-on-k-tools-texture-map-loader-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-texture-map-loader/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load Node Groups from disk"},"tags":["Material"]},{"id":"turntable_camera","schema_version":"1.0.0","name":"Turntable Camera","version":"0.1.1","tagline":"Camera Turntable Setup","archive_hash":"sha256:043461468d921c1b89637341efe67cbe58b20439cdb4d8e0c0429c4aba9d3f4b","archive_size":17289,"archive_url":"https://extensions.blender.org/download/sha256:043461468d921c1b89637341efe67cbe58b20439cdb4d8e0c0429c4aba9d3f4b/add-on-turntable-camera-v0.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turntable-camera/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"MetahumanToManny","schema_version":"1.0.0","name":"MetaHumanToManny","version":"1.2.0","tagline":"Clean up MetaHuman meshes and match them to UE5 Manny","archive_hash":"sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685","archive_size":21164,"archive_url":"https://extensions.blender.org/download/sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685/add-on-metahumantomanny-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/metahumantomanny/","maintainer":"hakan-erunsal","license":["SPDX:GPL-3.0-or-later"]},{"id":"cad_helper","schema_version":"1.0.0","name":"CAD-Helper","version":"0.6.1","tagline":"Blender Extension to manage imported CAD assemblies","archive_hash":"sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6","archive_size":34745,"archive_url":"https://extensions.blender.org/download/sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6/add-on-cad-helper-v0.6.1-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/cad-helper/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Object"]},{"id":"momo_dark","schema_version":"1.0.0","name":"Momo Dark","version":"5.0.2","tagline":"Momo Dark - theme inspired by Modo","archive_hash":"sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36","archive_size":6454,"archive_url":"https://extensions.blender.org/download/sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36/theme-momo-dark-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo-dark/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"rss_theme_cyberpunk","schema_version":"1.0.0","name":"RedSavStudios: Cyberpunk","version":"0.5.5","tagline":"A dark blue cyberpunk-inspired theme with neon highlights","archive_hash":"sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c","archive_size":5501,"archive_url":"https://extensions.blender.org/download/sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c/theme-rss-theme-cyberpunk-v0.5.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-cyberpunk/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"rss_theme_nord","schema_version":"1.0.0","name":"RedSavStudios: Nord (Aurora)","version":"0.5.2","tagline":"Nord Theme With Aurora Accents","archive_hash":"sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50","archive_size":5196,"archive_url":"https://extensions.blender.org/download/sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50/theme-rss-theme-nord-v0.5.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-nord/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"randomize_noise_offset","schema_version":"1.0.0","name":"Randomize Noise Offset","version":"1.0.3","tagline":"Randomize Noise Offset for F-Curves","archive_hash":"sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9","archive_size":2500,"archive_url":"https://extensions.blender.org/download/sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9/add-on-randomize-noise-offset-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-noise-offset/","maintainer":"a.a.andrusenko","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"mirror_image","schema_version":"1.0.0","name":"Mirror Image","version":"1.0.0","tagline":"Applies mirroring to the active image","archive_hash":"sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46","archive_size":2540,"archive_url":"https://extensions.blender.org/download/sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46/add-on-mirror-image-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mirror-image/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"toggle_orbit_method","schema_version":"1.0.0","name":"Toggle Orbit Method (Turntable / Trackball)","version":"1.0.0","tagline":"Quickly toggles between Turntable and Trackball orbit modes","archive_hash":"sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4","archive_size":1369,"archive_url":"https://extensions.blender.org/download/sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4/add-on-toggle-orbit-method-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-orbit-method/","maintainer":"ArgelliKa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"blender_vnf_exporter_extension","schema_version":"1.0.0","name":"VNF Export Extension","version":"1.0.0","tagline":"Export blender mesh to openscad vnf","archive_hash":"sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e","archive_size":14400,"archive_url":"https://extensions.blender.org/download/sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e/add-on-blender-vnf-exporter-extension-v1.0.0-windows-x64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-vnf-exporter-extension/","maintainer":"runerback","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .scad to disk"},"platforms":["windows-x64","linux-x64"],"tags":["Import-Export"]},{"id":"vray_arena_setup","schema_version":"1.0.0","name":"Vray Arena Setup","version":"2.5.0","tagline":"Export VRay Cosmos assets, scene textures, and stage cube setup","archive_hash":"sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f","archive_size":6050,"archive_url":"https://extensions.blender.org/download/sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f/add-on-vray-arena-setup-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/vray-arena-setup/","maintainer":"Darsh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write project and resources directories"},"tags":["Import-Export","Material"]},{"id":"Minimal","schema_version":"1.0.0","name":"Minimal","version":"1.0.0","tagline":"Dark minimal theme","archive_hash":"sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb","archive_size":5620,"archive_url":"https://extensions.blender.org/download/sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb/theme-minimal-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/minimal/","maintainer":"A7medKhaled.me","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"auto_track_weights","schema_version":"1.0.0","name":"Auto Track Weights","version":"0.2.1","tagline":"Automatically adjust the weights of tracking markers","archive_hash":"sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be","archive_size":2415,"archive_url":"https://extensions.blender.org/download/sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be/add-on-auto-track-weights-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track-weights/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"batch_bone_constraints","schema_version":"1.0.0","name":"Batch Bone Constraints","version":"1.1.4","tagline":"Batch bone constraints to the selected multiple armatures","archive_hash":"sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee","archive_size":6589,"archive_url":"https://extensions.blender.org/download/sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee/add-on-batch-bone-constraints-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-bone-constraints/","maintainer":"distinctive-mark","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"theme_BlueInvasion","schema_version":"1.0.0","name":"Blue Invasion","version":"1.0.3-1","tagline":"A theme inspired by Winamp's blue invasion theme","archive_hash":"sha256:aaa50db52785b547c7902f7dea3808dbd06ba8a27b989b96de0640590a7863f2","archive_size":6165,"archive_url":"https://extensions.blender.org/download/sha256:aaa50db52785b547c7902f7dea3808dbd06ba8a27b989b96de0640590a7863f2/theme-theme-blueinvasion-v1.0.3-1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-blueinvasion/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"trident","schema_version":"1.0.0","name":"TRIDENT","version":"0.2.1","tagline":"3D UMAP/t-SNE embeddings into Blender","archive_hash":"sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a","archive_size":128117,"archive_url":"https://extensions.blender.org/download/sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a/add-on-trident-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trident/","maintainer":"ccordi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write data files and build outputs"},"platforms":["windows-x64"],"tags":["3D View","Object"]},{"id":"FrameFlowBlender","schema_version":"1.0.0","name":"Frame Flow Beta","version":"1.4.1","tagline":"Advanced Node Frame Add-on for Blender","archive_hash":"sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f","archive_size":922364,"archive_url":"https://extensions.blender.org/download/sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f/add-on-frameflowblender-v1.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/frameflowblender/","maintainer":"abhi.01","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Text Editor"]},{"id":"pataz_thumbnail_toolz","schema_version":"1.0.0","name":"Pataz Thumbnail Toolz","version":"1.0.0","tagline":"Tools for managing asset thumbnails","archive_hash":"sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac","archive_size":2763,"archive_url":"https://extensions.blender.org/download/sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac/add-on-pataz-thumbnail-toolz-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-thumbnail-toolz/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load files from disk"},"tags":["Pipeline"]},{"id":"io_scene_jsbsim","schema_version":"1.0.0","name":"JSBSim Viewer","version":"0.2.1","tagline":"Import and visualize JSBSim FDM aircraft XML metrics","archive_hash":"sha256:e5996c53df295804c601548bd9a977f22e0cd931e47b5316ca5959d427cdf142","archive_size":6732,"archive_url":"https://extensions.blender.org/download/sha256:e5996c53df295804c601548bd9a977f22e0cd931e47b5316ca5959d427cdf142/add-on-io-scene-jsbsim-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-jsbsim/","maintainer":"RenanMsV","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Scene","3D View"]},{"id":"import_meshed_alpha","schema_version":"1.0.0","name":"Import Meshed Alpha","version":"1.0.1","tagline":"Transparency to Geometry","archive_hash":"sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e","archive_size":927961,"archive_url":"https://extensions.blender.org/download/sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e/add-on-import-meshed-alpha-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-meshed-alpha/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Image import"},"platforms":["windows-x64"],"tags":["Mesh","Material"]},{"id":"multi_adjust","schema_version":"1.0.0","name":"Multi Adjust","version":"1.0.1","tagline":"Edits properties of multiple things together","archive_hash":"sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed","archive_size":9515,"archive_url":"https://extensions.blender.org/download/sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed/add-on-multi-adjust-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multi-adjust/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"replace_with_copy","schema_version":"1.0.0","name":"Replace With Copy","version":"1.0.1","tagline":"Batch replace multiple objects with a template","archive_hash":"sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf","archive_size":4116,"archive_url":"https://extensions.blender.org/download/sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf/add-on-replace-with-copy-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/replace-with-copy/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"sierpinski_triangle","schema_version":"1.0.0","name":"Sierpinski Triangle","version":"1.0.4","tagline":"This add-on creates Sierpinski triangles","archive_hash":"sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05","archive_size":4106,"archive_url":"https://extensions.blender.org/download/sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05/add-on-sierpinski-triangle-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sierpinski-triangle/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"]},{"id":"light_generator","schema_version":"1.0.0","name":"Light Generator","version":"1.2.0","tagline":"Generate lights with advanced distribution","archive_hash":"sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05","archive_size":5837,"archive_url":"https://extensions.blender.org/download/sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05/add-on-light-generator-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/light-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting"]},{"id":"nfc_card_keychain_generator","schema_version":"1.0.0","name":"NFC Card and Keychain Generator","version":"1.2.0","tagline":"Generate customizable 3D-printable cards, tags, and keychains","archive_hash":"sha256:c82c2659059304a0d4a2b01fbfbf93a41d8930cf4f34cc6427826acba6d92b11","archive_size":910380,"archive_url":"https://extensions.blender.org/download/sha256:c82c2659059304a0d4a2b01fbfbf93a41d8930cf4f34cc6427826acba6d92b11/add-on-nfc-card-keychain-generator-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nfc-card-keychain-generator/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For custom SVG import and file saving operations"},"tags":["Modeling","Object"]},{"id":"Physical_Motion_Blur","schema_version":"1.0.0","name":"Physical Motion Blur","version":"1.1.0","tagline":"Adds intuitive shutter speed and angle controls for motion blur","archive_hash":"sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438","archive_size":2605,"archive_url":"https://extensions.blender.org/download/sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438/add-on-physical-motion-blur-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/physical-motion-blur/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render","Animation"]},{"id":"utility_materials","schema_version":"1.0.0","name":"Utility Materials","version":"1.1.5","tagline":"Industrial design theme in the Utility Materials universe","archive_hash":"sha256:1060b83f61823e30cac6147ad365e0e2532132ba85719a73fb8a881b1daee82f","archive_size":5294,"archive_url":"https://extensions.blender.org/download/sha256:1060b83f61823e30cac6147ad365e0e2532132ba85719a73fb8a881b1daee82f/theme-utility-materials-v1.1.5.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/utility-materials/","maintainer":"Utility-Materials","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"restart","schema_version":"1.0.0","name":"Restart","version":"1.0.2","tagline":"Restart Blender","archive_hash":"sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c","archive_size":2824,"archive_url":"https://extensions.blender.org/download/sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c/add-on-restart-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/restart/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"camera_sensor_database","schema_version":"1.0.0","name":"Camera Sensor Database","version":"1.0.1","tagline":"Provides a database of camera sensors to choose from in Blender","archive_hash":"sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9","archive_size":18406,"archive_url":"https://extensions.blender.org/download/sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9/add-on-camera-sensor-database-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camera-sensor-database/","maintainer":"Manuel-Houben","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the sensor database locally","network":"To download the latest sensor database"},"tags":["Camera"]},{"id":"AddShaderAttribute","schema_version":"1.0.0","name":"Add Shader Attribute","version":"0.3.0","tagline":"Add attribute directly in shader nodetree","archive_hash":"sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707","archive_size":2591,"archive_url":"https://extensions.blender.org/download/sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707/add-on-addshaderattribute-v0.3.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/addshaderattribute/","maintainer":"atticuslv","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"all_objects_into_assets","schema_version":"1.0.0","name":"All Objects into Assets","version":"1.0.4","tagline":"Create collection assets and catalogs automatically","archive_hash":"sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7","archive_size":9361,"archive_url":"https://extensions.blender.org/download/sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7/add-on-all-objects-into-assets-v1.0.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/all-objects-into-assets/","maintainer":"StellArc","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset library catalogs file"}},{"id":"goldsrc_model_helper","schema_version":"1.0.0","name":"GS Model Helper","version":"2.2.0","tagline":"A set of tools for working with Goldsource models in Blender","archive_hash":"sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df","archive_size":7626,"archive_url":"https://extensions.blender.org/download/sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df/add-on-goldsrc-model-helper-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/goldsrc-model-helper/","maintainer":"DaKashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to rename and clean up materials/textures"}},{"id":"pjavel_theme","schema_version":"1.0.0","name":"Pjavel Theme","version":"1.1.1","tagline":"Green accent theme","archive_hash":"sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece","archive_size":18590,"archive_url":"https://extensions.blender.org/download/sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece/theme-pjavel-theme-v1.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/pjavel-theme/","maintainer":"Zexyp","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"text_editor_for_development","schema_version":"1.0.0","name":"Text editor for Development","version":"1.0.5","tagline":"Text editor enhancements for add-on development","archive_hash":"sha256:8d389ce9fb5bf57b3950054316931cc3daa63248da893778ef0abc615ec2c637","archive_size":49032,"archive_url":"https://extensions.blender.org/download/sha256:8d389ce9fb5bf57b3950054316931cc3daa63248da893778ef0abc615ec2c637/add-on-text-editor-for-development-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/text-editor-for-development/","maintainer":"Martin-Lorentzon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Specify folder to preview for file-browsing/editing","network":"Clone remote Git repositories for add-on templates"},"tags":["Text Editor","Development"]},{"id":"bfds","schema_version":"1.0.0","name":"BFDS fire simulations","version":"7.0.0","tagline":"Create and manage NIST FDS fire simulations","archive_hash":"sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6","archive_size":370951,"archive_url":"https://extensions.blender.org/download/sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6/add-on-bfds-v7.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bfds/","maintainer":"emanuele.gissi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FDS files from/to disk","network":"Display geographic positions, convert coordinates"},"tags":["Import-Export"]},{"id":"sciblend","schema_version":"1.0.0","name":"SciBlend","version":"1.1.2","tagline":"Scientific visualization tools for Blender","archive_hash":"sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d","archive_size":143536802,"archive_url":"https://extensions.blender.org/download/sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d/add-on-sciblend-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/sciblend/","maintainer":"José-Marín","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"navigation_puck_addon","schema_version":"1.0.0","name":"Navigation Puck Addon","version":"1.0.1","tagline":"Navigation Puck like in Sketchbook Pro","archive_hash":"sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51","archive_size":14528,"archive_url":"https://extensions.blender.org/download/sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51/add-on-navigation-puck-addon-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation-puck-addon/","maintainer":"IliaVerpa","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"midicontroller","schema_version":"1.0.0","name":"MidiController","version":"0.1.5","tagline":"Control objects properties through midi","archive_hash":"sha256:582590969edf0568a62062d024a9fe2e52700a3f609280d15ea827d6246359b0","archive_size":357421,"archive_url":"https://extensions.blender.org/download/sha256:582590969edf0568a62062d024a9fe2e52700a3f609280d15ea827d6246359b0/add-on-midicontroller-v0.1.5-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/midicontroller/","maintainer":"Eldin-Zenderink","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"mc_animaker","schema_version":"1.0.0","name":"MC Animaker","version":"1.4.0","tagline":"Bring your Blender animations to life in Minecraft","archive_hash":"sha256:b3533f2c1b1ff605d0c162023d27096d92c4ff705577f72738ebc4981701c830","archive_size":183928,"archive_url":"https://extensions.blender.org/download/sha256:b3533f2c1b1ff605d0c162023d27096d92c4ff705577f72738ebc4981701c830/add-on-mc-animaker-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mc-animaker/","maintainer":"Priqnot","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Resource Packs and Export Minecraft Datapack Files"},"tags":["Game Engine","Import-Export"]},{"id":"smart_transform","schema_version":"1.0.0","name":"Smart Transform","version":"1.0.2","tagline":"filter objects by size or transforms, and more tools","archive_hash":"sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11","archive_size":2671,"archive_url":"https://extensions.blender.org/download/sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11/add-on-smart-transform-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-transform/","maintainer":"Claz_Arts","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"animated_brush","schema_version":"1.0.0","name":"Animated Texture Brush","version":"1.0.2","tagline":"Randomly cycles image sequence texture while painting","archive_hash":"sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be","archive_size":2467,"archive_url":"https://extensions.blender.org/download/sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be/add-on-animated-brush-v1.0.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animated-brush/","maintainer":"Kvendy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"lod_gen","schema_version":"1.0.0","name":"LODGen","version":"0.0.5","tagline":"Generate LODs for Games in 3 Clicks or Less","archive_hash":"sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128","archive_size":15434,"archive_url":"https://extensions.blender.org/download/sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128/add-on-lod-gen-v0.0.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/lod-gen/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"LostSelection","schema_version":"1.0.0","name":"Lost Selection","version":"0.2.0","tagline":"Set of usefull extra selection operators","archive_hash":"sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4","archive_size":32205,"archive_url":"https://extensions.blender.org/download/sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4/add-on-lostselection-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lostselection/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"reset_workspace","schema_version":"1.0.0","name":"Reset Workspace","version":"0.0.4","tagline":"Reset the user interface (with your startup file interface)","archive_hash":"sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32","archive_size":5093,"archive_url":"https://extensions.blender.org/download/sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32/add-on-reset-workspace-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reset-workspace/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"edit_instanced_collection","schema_version":"1.0.0","name":"Edit Instanced Collection","version":"0.0.5","tagline":"Quickly find the instanced collection source","archive_hash":"sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3","archive_size":6971,"archive_url":"https://extensions.blender.org/download/sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3/add-on-edit-instanced-collection-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-instanced-collection/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"add_std_paper_size","schema_version":"1.0.0","name":"Add Std Paper-Format","version":"0.1.0","tagline":"Blender add-on to add planes with standardized paper formats","archive_hash":"sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4","archive_size":19785,"archive_url":"https://extensions.blender.org/download/sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4/add-on-add-std-paper-size-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-std-paper-size/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"Blueprint_Film_Theme","schema_version":"1.0.0","name":"Blueprint_Film_Theme","version":"2.2.3","tagline":"Translucent Aqua","archive_hash":"sha256:e4b43c04d225b114f89c735da4081744f005c0cfd781d05b2086f4287ce997e6","archive_size":5691,"archive_url":"https://extensions.blender.org/download/sha256:e4b43c04d225b114f89c735da4081744f005c0cfd781d05b2086f4287ce997e6/theme-blueprint-film-theme-v2.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-film-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"pbsu_addon_3ds","schema_version":"1.0.0","name":"PBSU 3D Studio (.3ds)","version":"1.0.1","tagline":"Import/export 3DS scenes, objects, cameras, lights & anims","archive_hash":"sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d","archive_size":42631,"archive_url":"https://extensions.blender.org/download/sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d/add-on-pbsu-addon-3ds-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pbsu-addon-3ds/","maintainer":"Arturo-Cervantes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"on_screen_numpad","schema_version":"1.0.0","name":"On-Screen Numpad","version":"1.2.0","tagline":"No need to leave the mouse to enter numbers","archive_hash":"sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20","archive_size":22847,"archive_url":"https://extensions.blender.org/download/sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20/add-on-on-screen-numpad-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/on-screen-numpad/","maintainer":"Pluglug","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Sakura_Rig_GUI","schema_version":"1.0.0","name":"Sakura's Rig Interfaces","version":"3.1.0","tagline":"A control script for use with Sakura's Rigs","archive_hash":"sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0","archive_size":23119,"archive_url":"https://extensions.blender.org/download/sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0/add-on-sakura-rig-gui-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-rig-gui/","maintainer":"SakuraSedaia","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and Store Player Skin Information and Downloaded Rigs","network":"Download Minecraft Skin Information from minecraft.net"},"tags":["Rigging","User Interface"]},{"id":"attrio_csv","schema_version":"1.0.0","name":"Attrio CSV","version":"1.0.1","tagline":"Bake and read back Evaluated Dependency Graph Data as CSV","archive_hash":"sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68","archive_size":161895,"archive_url":"https://extensions.blender.org/download/sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68/add-on-attrio-csv-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/attrio-csv/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Bake","Geometry Nodes"]},{"id":"EMU3BM","schema_version":"1.0.0","name":"Toggle Emulate 3 Button Mouse","version":"1.4.0","tagline":"Toggle Emulate 3 Button Mouse","archive_hash":"sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593","archive_size":1343,"archive_url":"https://extensions.blender.org/download/sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593/add-on-emu3bm-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/emu3bm/","maintainer":"chenkin123","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"BL_EasyCrop","schema_version":"1.0.0","name":"BL Easy Crop","version":"2.0.3","tagline":"Use handles for easy cropping in the Blender VSE Preview window","archive_hash":"sha256:f63200c2f634b927cc0ccf82af20aa4298f36f5f5bfbcfdfc85f20adf4a2d9da","archive_size":31082,"archive_url":"https://extensions.blender.org/download/sha256:f63200c2f634b927cc0ccf82af20aa4298f36f5f5bfbcfdfc85f20adf4a2d9da/add-on-bl-easycrop-v2.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-easycrop/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","User Interface"]},{"id":"space_colonization_tree_generator","schema_version":"1.0.0","name":"Space colonization tree generator","version":"1.0.0","tagline":"A simple add-on which uses the space colonization approach","archive_hash":"sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83","archive_size":6781,"archive_url":"https://extensions.blender.org/download/sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83/add-on-space-colonization-tree-generator-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/space-colonization-tree-generator/","maintainer":"LS","license":["SPDX:GPL-3.0-or-later"]},{"id":"SHIRAKUMO_sf3_io","schema_version":"1.0.0","name":"Shirakumo SF3 IO","version":"1.1.0","tagline":"Export/Import support for Simple File Format Family (SF3) files","archive_hash":"sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c","archive_size":24064,"archive_url":"https://extensions.blender.org/download/sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c/add-on-shirakumo-sf3-io-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-sf3-io/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"permissions":{"files":"Import/export SF3 from/to disk"},"tags":["Import-Export"]},{"id":"normalize_resize_handles","schema_version":"1.0.0","name":"Normalize and Resize Curve Handles","version":"1.0.1","tagline":"Normalize and resize all selected bezier curve handles","archive_hash":"sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a","archive_size":1537,"archive_url":"https://extensions.blender.org/download/sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a/add-on-normalize-resize-handles-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/normalize-resize-handles/","maintainer":"TomasCJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"visual_limits","schema_version":"1.0.0","name":"Visual limits","version":"1.3.2","tagline":"This addon shows rigid body constraint limits in viewport","archive_hash":"sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e","archive_size":2710,"archive_url":"https://extensions.blender.org/download/sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e/add-on-visual-limits-v1.3.2.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/visual-limits/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"FocalLengthTweaker","schema_version":"1.0.0","name":"Focal Length Tweaker","version":"1.0.1","tagline":"Control viewport and camera focal length with your mouse","archive_hash":"sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833","archive_size":9686,"archive_url":"https://extensions.blender.org/download/sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833/add-on-focallengthtweaker-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/focallengthtweaker/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","User Interface"]},{"id":"Zeratul_Theme","schema_version":"1.0.0","name":"Zeratul_Theme","version":"3.1.4","tagline":"Invisible Shadow Warrior","archive_hash":"sha256:fe51ec4cce70ddfdfec009938cd1174cf9ea1617afb7531401f578f9881dc939","archive_size":5624,"archive_url":"https://extensions.blender.org/download/sha256:fe51ec4cce70ddfdfec009938cd1174cf9ea1617afb7531401f578f9881dc939/theme-zeratul-theme-v3.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zeratul-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blueprint_Theme","schema_version":"1.0.0","name":"Prussian_Blueprint_Theme","version":"2.2.1","tagline":"Blueprint True Color","archive_hash":"sha256:482f3d41ae95cf10ab32d9ad57bed3093edb67334ed7043511174da53c6558d3","archive_size":5748,"archive_url":"https://extensions.blender.org/download/sha256:482f3d41ae95cf10ab32d9ad57bed3093edb67334ed7043511174da53c6558d3/theme-prussian-blueprint-theme-v2.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"render_webhook","schema_version":"1.0.0","name":"Render Webhook","version":"1.0.2","tagline":"Sends a message after render events to a webhook","archive_hash":"sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58","archive_size":2567,"archive_url":"https://extensions.blender.org/download/sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58/add-on-render-webhook-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-webhook/","maintainer":"vignette","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Sending HTTP requests to provided webhook URL"},"tags":["Render","Pipeline"]},{"id":"Prussian_Blue_Pink_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Pink_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356","archive_size":5758,"archive_url":"https://extensions.blender.org/download/sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356/theme-prussian-blue-pink-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-pink-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blue_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135","archive_size":5687,"archive_url":"https://extensions.blender.org/download/sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135/theme-prussian-blue-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Clip_Tools","schema_version":"1.0.0","name":"Clip Tools","version":"1.0.3","tagline":"Add a simple tool to the Movie Clip Editor","archive_hash":"sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391","archive_size":7924,"archive_url":"https://extensions.blender.org/download/sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391/add-on-clip-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clip-tools/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Camera","3D View"]},{"id":"Merge_selected_cameras","schema_version":"1.0.0","name":"Merge Selected Cameras","version":"1.1.1","tagline":"Create one animated camera from your photogrammetry sequence","archive_hash":"sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d","archive_size":4219,"archive_url":"https://extensions.blender.org/download/sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d/add-on-merge-selected-cameras-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/merge-selected-cameras/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking","3D View"]},{"id":"only_blends_gamepad","schema_version":"1.0.0","name":"OnlyBlends.Gamepad","version":"0.2.1","tagline":"An extension to integrate multiple gamepads into blender","archive_hash":"sha256:00f555dd498574957c0ac22cc563e0ff28e06d7cead86b7b80f96930b04c0fc8","archive_size":10577389,"archive_url":"https://extensions.blender.org/download/sha256:00f555dd498574957c0ac22cc563e0ff28e06d7cead86b7b80f96930b04c0fc8/add-on-only-blends-gamepad-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-gamepad/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Game Engine","Geometry Nodes"]},{"id":"Scene_Duration_Display","schema_version":"1.0.0","name":"Scene Duration Display","version":"1.1.1","tagline":"Displays and syncs timeline duration. Set preview range with I/O","archive_hash":"sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940","archive_size":2361,"archive_url":"https://extensions.blender.org/download/sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940/add-on-scene-duration-display-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-duration-display/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Gray50","schema_version":"1.0.0","name":"Gray50","version":"1.0.2","tagline":"Remake of Blender3.3 light theme","archive_hash":"sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9","archive_size":5795,"archive_url":"https://extensions.blender.org/download/sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9/theme-gray50-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gray50/","maintainer":"Nick2321","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Inspired By"]},{"id":"bl_reset_custom_properties","schema_version":"1.0.0","name":"Reset Custom Properties","version":"1.0.4","tagline":"Reset custom properties to their default values","archive_hash":"sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4","archive_size":5646,"archive_url":"https://extensions.blender.org/download/sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4/add-on-bl-reset-custom-properties-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bl-reset-custom-properties/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View"]},{"id":"shape_key_utilities_enhanced","schema_version":"1.0.0","name":"Shape Key Utilities Enhanced","version":"1.0.0","tagline":"Comprehensive shape key management with locked key operations","archive_hash":"sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f","archive_size":15525,"archive_url":"https://extensions.blender.org/download/sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f/add-on-shape-key-utilities-enhanced-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-utilities-enhanced/","maintainer":"LeafyBush7","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","Modeling"]},{"id":"color_grid_texture_gen","schema_version":"1.0.0","name":"Color Grid Texture Generator","version":"0.1.2","tagline":"Generate customizable color grid textures","archive_hash":"sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f","archive_size":28692,"archive_url":"https://extensions.blender.org/download/sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f/add-on-color-grid-texture-gen-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-grid-texture-gen/","maintainer":"andersmmg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Read Coolors URL from clipboard"},"tags":["Material","UV"]},{"id":"io_import_build_map","schema_version":"1.0.0","name":"BUILD Map Importer","version":"1.4.1","tagline":"Import BUILD Engine maps as used in Duke Nukem 3D, Blood, etc","archive_hash":"sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54","archive_size":57108,"archive_url":"https://extensions.blender.org/download/sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54/add-on-io-import-build-map-v1.4.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-build-map/","maintainer":"Jens.Ne","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .map files and textures from filesystem"},"tags":["Import-Export","Mesh","Material"]},{"id":"distribute_grease_pencil_strokes","schema_version":"1.0.0","name":"Align-Distribute Grease Pencil Strokes","version":"2.1.0","tagline":"Align-Distribute Grease Pencil strokes","archive_hash":"sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2","archive_size":13284,"archive_url":"https://extensions.blender.org/download/sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2/add-on-distribute-grease-pencil-strokes-v2.1.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/distribute-grease-pencil-strokes/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"BL_FastStart","schema_version":"1.0.0","name":"BL Fast Start (MP4/MOV)","version":"1.9.3","tagline":"A checkbox to add a 'Fast Start' copy of MP4/MOV renders","archive_hash":"sha256:e1954e4b7c112e82249144fe3d2c6a17ab77a256c63f5f3d82c424812197c4a4","archive_size":23184,"archive_url":"https://extensions.blender.org/download/sha256:e1954e4b7c112e82249144fe3d2c6a17ab77a256c63f5f3d82c424812197c4a4/add-on-bl-faststart-v1.9.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-faststart/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"quantum_void_fluoamber","schema_version":"1.0.0","name":"Quantum Void FluoAmber","version":"1.0.2","tagline":"A monochromatic dark theme with accent","archive_hash":"sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f","archive_size":3205,"archive_url":"https://extensions.blender.org/download/sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f/theme-quantum-void-fluoamber-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quantum-void-fluoamber/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"vectart_animation","schema_version":"1.0.0","name":"Vectart Animation","version":"1.1.4","tagline":"Animation tools for VectArt curves and objects","archive_hash":"sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb","archive_size":22398,"archive_url":"https://extensions.blender.org/download/sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb/add-on-vectart-animation-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-animation/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blueprints","schema_version":"1.0.0","name":"Blueprints","version":"1.0.3","tagline":"Manage background images ","archive_hash":"sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9","archive_size":3264,"archive_url":"https://extensions.blender.org/download/sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9/add-on-blueprints-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blueprints/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"batch_render_actions","schema_version":"1.0.0","name":"Batch Render Actions","version":"1.0.2","tagline":"Render each animation action to its own folder","archive_hash":"sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff","archive_size":2413,"archive_url":"https://extensions.blender.org/download/sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff/add-on-batch-render-actions-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-render-actions/","maintainer":"Padraig-O-Cinneide","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Render"]},{"id":"rmKit_uv","schema_version":"1.0.0","name":"rmKitUV","version":"2.0.0","tagline":"Collection of Tools","archive_hash":"sha256:cd75170fc5d652ba6e52a70939949480ea78a7417b7608e7c2d2c1fb48b3360e","archive_size":259364,"archive_url":"https://extensions.blender.org/download/sha256:cd75170fc5d652ba6e52a70939949480ea78a7417b7608e7c2d2c1fb48b3360e/add-on-rmkit-uv-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/rmkit-uv/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"read/write hotspots to disk"},"tags":["Mesh","UV","Material"]},{"id":"to_square","schema_version":"1.0.0","name":"To Square","version":"2.1.12","tagline":"Square the selection","archive_hash":"sha256:8c7677079594d56007602b4b3016801bac28acd0bbf4d52b8e14e3161956dd93","archive_size":36340,"archive_url":"https://extensions.blender.org/download/sha256:8c7677079594d56007602b4b3016801bac28acd0bbf4d52b8e14e3161956dd93/add-on-to-square-v2.1.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/to-square/","maintainer":"Jean-Yves-Grosbeau","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"acreplay_importer","schema_version":"1.0.0","name":"AC Replay Importer","version":"0.3.0","tagline":"Animate your cars using Assetto Corsa replays","archive_hash":"sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da","archive_size":8688,"archive_url":"https://extensions.blender.org/download/sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da/add-on-acreplay-importer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/acreplay-importer/","maintainer":"abchouhan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import CSV from disk"},"tags":["Animation"]},{"id":"dynamic_head_property_manager","schema_version":"1.0.0","name":"Dynamic Head Property Manager","version":"1.0.6","tagline":"Manage custom facial properties for Roblox Bundles","archive_hash":"sha256:84c215385b159fcf74b57cc95d91602522f845b4e927a1351291d7cb7909566d","archive_size":26306,"archive_url":"https://extensions.blender.org/download/sha256:84c215385b159fcf74b57cc95d91602522f845b4e927a1351291d7cb7909566d/add-on-dynamic-head-property-manager-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-head-property-manager/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"enhanced_svg","schema_version":"1.0.0","name":"Enhanced SVG","version":"0.1.8","tagline":"Import SVG with accurate colors and path processing","archive_hash":"sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2","archive_size":4067305,"archive_url":"https://extensions.blender.org/download/sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2/add-on-enhanced-svg-v0.1.8-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/enhanced-svg/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"M2V","schema_version":"1.0.0","name":"MIDI To Visuals","version":"1.2.0","tagline":"With MIDI file as input create somes 3D animations in blender","archive_hash":"sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1","archive_size":41169,"archive_url":"https://extensions.blender.org/download/sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1/add-on-m2v-v1.2.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/m2v/","maintainer":"Patochun","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"separate_loose_plus","schema_version":"1.0.0","name":"Separate Loose Plus","version":"1.0.0","tagline":"Enhanced mesh separation tools with object tracking","archive_hash":"sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5","archive_size":1973,"archive_url":"https://extensions.blender.org/download/sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5/add-on-separate-loose-plus-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/separate-loose-plus/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"bve_import_export","schema_version":"1.0.0","name":"BVE Import/Export","version":"5.1.3","tagline":"Import/Export DirectX X (.x) or Export CSV files for BVE/OpenBVE","archive_hash":"sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984","archive_size":22514,"archive_url":"https://extensions.blender.org/download/sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984/add-on-bve-import-export-v5.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bve-import-export/","maintainer":"Kusaanko","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export model file from/to disk"},"tags":["Import-Export"]},{"id":"symple","schema_version":"1.0.0","name":"Symple (symmetry groups)","version":"0.1.2","tagline":"Create figures with spherical symmetry with ease","archive_hash":"sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3","archive_size":29123,"archive_url":"https://extensions.blender.org/download/sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3/add-on-symple-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/symple/","maintainer":"Martín-Torres-Valverde","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling","Object"]},{"id":"select_by_index","schema_version":"1.0.0","name":"Select By Index","version":"1.3.0","tagline":"Select all vertices, edges, or faces within an index range","archive_hash":"sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050/add-on-select-by-index-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-by-index/","maintainer":"Eric-Banker","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"blender_lut_exporter","schema_version":"1.0.0","name":"LUT Exporter and Importer","version":"2.0.1","tagline":"Converts adjustment layer into LUT .cube file and back","archive_hash":"sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd","archive_size":5588,"archive_url":"https://extensions.blender.org/download/sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd/add-on-blender-lut-exporter-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/blender-lut-exporter/","maintainer":"ichlubna","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Sequencer"]},{"id":"arc_edge","schema_version":"1.0.0","name":"Arc Edge","version":"1.1.0","tagline":"Arc Edge","archive_hash":"sha256:2a3d3700534566d81d8202a795db594b1e36f407368276319a1141e67419bb4f","archive_size":10986,"archive_url":"https://extensions.blender.org/download/sha256:2a3d3700534566d81d8202a795db594b1e36f407368276319a1141e67419bb4f/add-on-arc-edge-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/arc-edge/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"Render_from_Terminal","schema_version":"1.0.0","name":"Render from Terminal","version":"0.1.5","tagline":"Create script to launch render from terminal","archive_hash":"sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3","archive_size":10030,"archive_url":"https://extensions.blender.org/download/sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3/add-on-render-from-terminal-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-from-terminal/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal"},"tags":["Render","Pipeline"]},{"id":"Fabnodes","schema_version":"1.0.0","name":"Fabnodes","version":"0.0.3","tagline":"Generates G-Code from geometry node attributes","archive_hash":"sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281","archive_size":5343,"archive_url":"https://extensions.blender.org/download/sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281/add-on-fabnodes-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fabnodes/","maintainer":"luigipacheco","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Geometry Nodes"]},{"id":"substance_textures_importer","schema_version":"1.0.0","name":"Substance Textures Importer","version":"7.1.0","tagline":"Import & autoassign images from 3D painting tools like Substance","archive_hash":"sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7","archive_size":35582,"archive_url":"https://extensions.blender.org/download/sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7/add-on-substance-textures-importer-v7.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/substance-textures-importer/","maintainer":"Cosmin_Planchon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk & read/write customs presets"},"tags":["Material","Import-Export","Node"]},{"id":"slot_link","schema_version":"1.0.0","name":"Slot Link","version":"0.0.10","tagline":"Easily manage projects with multiple separate animations","archive_hash":"sha256:1c1eeba6d76415e9ef86cbf4b25023653f1eb6b39af9568c18678ab36c0cc488","archive_size":21193,"archive_url":"https://extensions.blender.org/download/sha256:1c1eeba6d76415e9ef86cbf4b25023653f1eb6b39af9568c18678ab36c0cc488/add-on-slot-link-v0.0.10.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/slot-link/","maintainer":"mars","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","User Interface","Import-Export"]},{"id":"mesh_planes_pro","schema_version":"1.0.0","name":"Mesh Planes Pro","version":"2.0.1","tagline":"Ultimate Background Removal for Faster, Seamless Renders","archive_hash":"sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b","archive_size":2471909,"archive_url":"https://extensions.blender.org/download/sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b/add-on-mesh-planes-pro-v2.0.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mesh-planes-pro/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load node groups from blend file"},"tags":["Material","Node","Render","Mesh"]},{"id":"developer_utilities","schema_version":"1.0.0","name":"Developer Utilities","version":"1.1.0","tagline":"Make life of addon developers easier","archive_hash":"sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c","archive_size":9006,"archive_url":"https://extensions.blender.org/download/sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c/add-on-developer-utilities-v1.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/developer-utilities/","maintainer":"scorpion81","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open source files of addons for editing"},"tags":["Development"]},{"id":"srtm_terrain_importer","schema_version":"1.0.0","name":"SRTM Terrain Importer","version":"1.0.5","tagline":"Import SRTM elevation data as accurate 3D terrain","archive_hash":"sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454","archive_size":6645,"archive_url":"https://extensions.blender.org/download/sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454/add-on-srtm-terrain-importer-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/srtm-terrain-importer/","maintainer":"NicolasPriniotakis","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import SRTM HGT files from disk"},"tags":["Import-Export"]},{"id":"Industrial_Light_AOV_Splitter","schema_version":"1.0.0","name":"Industrial Light AOV Splitter","version":"1.0.1","tagline":"Auto create better light aovs (diffuse_env, specular_env...)","archive_hash":"sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7","archive_size":8954,"archive_url":"https://extensions.blender.org/download/sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7/add-on-industrial-light-aov-splitter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-light-aov-splitter/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"servo_animation","schema_version":"1.0.0","name":"Servo Animation","version":"2.1.1","tagline":"Export your Blender animation to servo position values","archive_hash":"sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4","archive_size":161106,"archive_url":"https://extensions.blender.org/download/sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4/add-on-servo-animation-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/servo-animation/","maintainer":"timhendriks93","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Import-Export","Rigging"]},{"id":"LinkageMarkingMenu","schema_version":"1.0.0","name":"Linkage Marking Menu","version":"1.0.5","tagline":"Customizable Marking Menu for Object and Edit modes","archive_hash":"sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c","archive_size":18953,"archive_url":"https://extensions.blender.org/download/sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c/add-on-linkagemarkingmenu-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/linkagemarkingmenu/","maintainer":"Linkage","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"ac_tools","schema_version":"1.0.0","name":"AC Tools","version":"0.1.5","tagline":"AC Tools for track modding","archive_hash":"sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd","archive_size":30842,"archive_url":"https://extensions.blender.org/download/sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd/add-on-ac-tools-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ac-tools/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk, Manage track folders"},"tags":["Development","Object","User Interface"]},{"id":"img_alpha_to_bsdf","schema_version":"1.0.0","name":"Connect image alpha","version":"1.0.6","tagline":"Connecting image alpha to shader alpha","archive_hash":"sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02","archive_size":2692,"archive_url":"https://extensions.blender.org/download/sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02/add-on-img-alpha-to-bsdf-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img-alpha-to-bsdf/","maintainer":"Snakyboopface","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Material"]},{"id":"link_parents","schema_version":"1.0.0","name":"Link Parents","version":"1.2.1","tagline":"Link objects parents & edit Parent Inverse Matrix in UI","archive_hash":"sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395","archive_size":2883,"archive_url":"https://extensions.blender.org/download/sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395/add-on-link-parents-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/link-parents/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Rigging","User Interface"]},{"id":"sco_buttobjects","schema_version":"1.0.0","name":"SCO ButtObjects","version":"2.0.5","tagline":"Easily align Objects in your scene by Active Object or 3D Cursor","archive_hash":"sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb","archive_size":138673,"archive_url":"https://extensions.blender.org/download/sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb/add-on-sco-buttobjects-v2.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-buttobjects/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"Grid_Layout","schema_version":"1.0.0","name":"Grid Layout","version":"1.5.7","tagline":"Tools to help layout your UV layout","archive_hash":"sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c","archive_size":10399,"archive_url":"https://extensions.blender.org/download/sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c/add-on-grid-layout-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-layout/","maintainer":"Hodgson3d","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"povable","schema_version":"1.0.0","name":"POV@Ble","version":"0.1.8","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830","archive_size":329019,"archive_url":"https://extensions.blender.org/download/sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830/add-on-povable-v0.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/povable/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render","Pipeline","Import-Export","Text Editor","Development","User Interface","Scene","Modeling","Object","Material","Mesh","Add Curve","Camera","Lighting","Bake"]},{"id":"b_palettes","schema_version":"1.0.0","name":"B Palettes","version":"1.1.0","tagline":"Import/Export Color Palettes","archive_hash":"sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6","archive_size":5538,"archive_url":"https://extensions.blender.org/download/sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6/add-on-b-palettes-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/b-palettes/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"import_files_svg_cuts_directory","schema_version":"1.0.0","name":"Import SVG Cuts Directory","version":"1.0.1","tagline":"Import object based on a directory of SVG cuts","archive_hash":"sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb","archive_size":5958242,"archive_url":"https://extensions.blender.org/download/sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb/add-on-import-files-svg-cuts-directory-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-files-svg-cuts-directory/","maintainer":"Benedikt-Schaber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import directory of SVGs from disk"},"tags":["Import-Export"]},{"id":"Selected_Bones_To_Vertex_Group","schema_version":"1.0.0","name":"Selected_Bones_To_Vertex_Group","version":"1.0.1","tagline":"Add or delete selected bone to selected mesh","archive_hash":"sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0","archive_size":2074,"archive_url":"https://extensions.blender.org/download/sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0/add-on-selected-bones-to-vertex-group-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selected-bones-to-vertex-group/","maintainer":"mochi_Lin","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"highlighter","schema_version":"1.0.0","name":"Highlighter","version":"0.1.0","tagline":"Syntax highlighting for text objects","archive_hash":"sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046","archive_size":1209500,"archive_url":"https://extensions.blender.org/download/sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046/add-on-highlighter-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/highlighter/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve","Text Editor"]},{"id":"frame_focus","schema_version":"1.0.0","name":"Frame Focus","version":"2.0.1","tagline":"List All Frame Nodes And Focus Easily","archive_hash":"sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc","archive_size":6600,"archive_url":"https://extensions.blender.org/download/sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc/add-on-frame-focus-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/frame-focus/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"neigh_context_switcher","schema_version":"1.0.0","name":"Context Switcher","version":"1.1.2","tagline":"Quick workspace and editor switching via popup at mouse location","archive_hash":"sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d","archive_size":2365,"archive_url":"https://extensions.blender.org/download/sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d/add-on-neigh-context-switcher-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/neigh-context-switcher/","maintainer":"Neigh","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"SelectModeKeymaps","schema_version":"1.0.0","name":"Select Mode Keymaps","version":"1.0.1","tagline":"Assign keymaps to toggle Object/Edit Mode and Select Modes","archive_hash":"sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573","archive_size":5772,"archive_url":"https://extensions.blender.org/download/sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573/add-on-selectmodekeymaps-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/selectmodekeymaps/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"skin_mesh_to_bone","schema_version":"1.0.0","name":"Skin Mesh To Bone","version":"1.0.2","tagline":"Skins selected meshes to a bone on the active armature","archive_hash":"sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf","archive_size":3048,"archive_url":"https://extensions.blender.org/download/sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf/add-on-skin-mesh-to-bone-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-mesh-to-bone/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Faster_FBX_Exporter","schema_version":"1.0.0","name":"Faster FBX Exporter","version":"0.2.4","tagline":"Faster .fbx Exporter for Static Objects With Modifiers","archive_hash":"sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60","archive_size":94222,"archive_url":"https://extensions.blender.org/download/sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60/add-on-faster-fbx-exporter-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/faster-fbx-exporter/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .fbx files"},"tags":["Import-Export"]},{"id":"copyshapekeys","schema_version":"1.0.0","name":"ShapeKey Copy","version":"3.4.1","tagline":"Copy shapekeys from one mesh to another","archive_hash":"sha256:769278803ab26c411354aec6ded13c4017af8c85a8e9e23eba44434c1467d24b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:769278803ab26c411354aec6ded13c4017af8c85a8e9e23eba44434c1467d24b/add-on-copyshapekeys-v3.4.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copyshapekeys/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Animation"]},{"id":"Control_Render_Regions","schema_version":"1.0.0","name":"Control Render Regions","version":"1.0.11","tagline":"Manage renders in region","archive_hash":"sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c","archive_size":2586090,"archive_url":"https://extensions.blender.org/download/sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c/add-on-control-render-regions-v1.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/control-render-regions/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal and render regions"},"platforms":["windows-x64"],"tags":["Render","Pipeline"]},{"id":"ftl_exporter","schema_version":"1.0.0","name":"3dverse Exporter","version":"1.0.1","tagline":"Export blender project to 3dverse (scene, meshes, materials)","archive_hash":"sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291","archive_size":13274,"archive_url":"https://extensions.blender.org/download/sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291/add-on-ftl-exporter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ftl-exporter/","maintainer":"Nathalie-Raffray","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary 3dverse files to then export to server","network":"Need to export blender project to 3dverse server"},"tags":["Import-Export"]},{"id":"Night_Rain_Theme","schema_version":"1.0.0","name":"Night_Rain_Theme","version":"2.1.3","tagline":"Transparent Dark Grey","archive_hash":"sha256:407f94fc4d22e678700cf9e49a8ab3a7eb09eb0a3e01fd3452d7320c3b4ef2d4","archive_size":5591,"archive_url":"https://extensions.blender.org/download/sha256:407f94fc4d22e678700cf9e49a8ab3a7eb09eb0a3e01fd3452d7320c3b4ef2d4/theme-night-rain-theme-v2.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/night-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"nla_midi_copier","schema_version":"1.0.0","name":"NLA Midi Copier","version":"1.2.0","tagline":"NLA and Graph Editor tools for syncing animation to midi files","archive_hash":"sha256:4acdaac298dd38372982087e4cacfa908780bd4993be62204d9df9b194fc30b2","archive_size":115530,"archive_url":"https://extensions.blender.org/download/sha256:4acdaac298dd38372982087e4cacfa908780bd4993be62204d9df9b194fc30b2/add-on-nla-midi-copier-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nla-midi-copier/","maintainer":"Cornerback24","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read midi files from disk"},"tags":["Animation"]},{"id":"blender_mqo","schema_version":"1.0.0","name":"MQO (Metasequoia) Format File Importer/Exporter","version":"2.0.0","tagline":"Import/Export MQO format files","archive_hash":"sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171","archive_size":21616,"archive_url":"https://extensions.blender.org/download/sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171/add-on-blender-mqo-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-mqo/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export MQO from/to disk"},"tags":["Import-Export"]},{"id":"core_debug_tools","schema_version":"1.0.0","name":"Core Debug Tools","version":"0.1.0","tagline":"Debugging utilities for core Blender developers","archive_hash":"sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20","archive_size":629513,"archive_url":"https://extensions.blender.org/download/sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20/add-on-core-debug-tools-v0.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/core-debug-tools/","maintainer":"JacquesLucke","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Build temporary html files to view in the browser"},"tags":["Development"]},{"id":"twformats","schema_version":"1.0.0","name":"Teeworlds and DDNet Map import","version":"0.4.1","tagline":"Import Teeworlds and DDNet maps","archive_hash":"sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5","archive_size":9592799,"archive_url":"https://extensions.blender.org/download/sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5/add-on-twformats-v0.4.1-linux-x64-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/twformats/","maintainer":"Patiga","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export files from/to disk"},"platforms":["linux-x64","windows-x64"],"tags":["Import-Export"]},{"id":"Graphite_Mono_Theme","schema_version":"1.0.0","name":"Graphite_Mono_Theme","version":"3.2.2","tagline":"Steel Grey","archive_hash":"sha256:963c1e26c3ce940633cf85d8002b9d8eba14f29faadb3aec2f09d82c14afee6d","archive_size":5817,"archive_url":"https://extensions.blender.org/download/sha256:963c1e26c3ce940633cf85d8002b9d8eba14f29faadb3aec2f09d82c14afee6d/theme-graphite-mono-theme-v3.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/graphite-mono-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"io_import_pixelart","schema_version":"1.0.0","name":"Import Pixel Art","version":"1.2.1","tagline":"Imports pixel art as colored cubes or squares for each pixel","archive_hash":"sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1","archive_size":5860,"archive_url":"https://extensions.blender.org/download/sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1/add-on-io-import-pixelart-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-pixelart/","maintainer":"bloody_albatross","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import pixel art from disk"},"tags":["Import-Export"]},{"id":"scene_workspaces","schema_version":"1.0.0","name":"Scene Workspaces","version":"1.1.1","tagline":"Filter and sort your workspaces, scene by scene","archive_hash":"sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a","archive_size":8786,"archive_url":"https://extensions.blender.org/download/sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a/add-on-scene-workspaces-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-workspaces/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System","User Interface"]},{"id":"clean_game_asset_exporter","schema_version":"1.0.0","name":"Clean Game Asset Exporter","version":"1.0.0","tagline":"Game asset exporter for the Defold game engine","archive_hash":"sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3","archive_size":4988,"archive_url":"https://extensions.blender.org/download/sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3/add-on-clean-game-asset-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clean-game-asset-exporter/","maintainer":"DeBolt","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export game asset files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"aligning_horizontally_mini","schema_version":"1.0.0","name":"Aligning Horizontally Mini","version":"1.0.1","tagline":"Align selected objects in a customizable grid in the 3D viewport","archive_hash":"sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35","archive_size":3511,"archive_url":"https://extensions.blender.org/download/sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35/add-on-aligning-horizontally-mini-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/aligning-horizontally-mini/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"lead_edge_maze_ash_creator","schema_version":"1.0.0","name":"Lead Edge Maze Ash Creator","version":"2.4.1","tagline":"Lead Edge Maze Ash","archive_hash":"sha256:003291b86247ce09847fd955f2f3fcc0433162af279eb1d262a35e0fd36fb541","archive_size":11149,"archive_url":"https://extensions.blender.org/download/sha256:003291b86247ce09847fd955f2f3fcc0433162af279eb1d262a35e0fd36fb541/add-on-lead-edge-maze-ash-creator-v2.4.1.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/lead-edge-maze-ash-creator/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"f1dg3t_blender_red","schema_version":"1.0.0","name":"F1dg3t Red","version":"1.1.0","tagline":"Perfect for Shadow State 2","archive_hash":"sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680","archive_size":6491,"archive_url":"https://extensions.blender.org/download/sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680/theme-f1dg3t-blender-red-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/f1dg3t-blender-red/","maintainer":"F1dg3t","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"VMD","schema_version":"1.0.0","name":"vmdesk","version":"2.2.1","tagline":"Interactive editor environment in 3D Viewport","archive_hash":"sha256:b5c7a5eedbe797da05704f34d02a5e1f88bbf05048d1ec330280eeeafcf11a3c","archive_size":10113852,"archive_url":"https://extensions.blender.org/download/sha256:b5c7a5eedbe797da05704f34d02a5e1f88bbf05048d1ec330280eeeafcf11a3c/add-on-vmd-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vmd/","maintainer":"Y.T-LAW","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export from disk to user-supplied path","clipboard":"Copy and paste from shortcut/UI"},"tags":["3D View","Modeling","Mesh","Object","User Interface"]},{"id":"govietools","schema_version":"1.0.0","name":"Govie Tools","version":"1.0.20","tagline":"Optimize your model for use in the Govie Editor","archive_hash":"sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476","archive_size":123018,"archive_url":"https://extensions.blender.org/download/sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476/add-on-govietools-v1.0.20.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/govietools/","maintainer":"3D-Interaction-Technologies","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export GLB to disk"},"tags":["Scene","Import-Export"]},{"id":"microscopynodes","schema_version":"1.0.0","name":"Microscopy Nodes","version":"2.2.7","tagline":"Handling microscopy data in Blender, up to 5D volumes","archive_hash":"sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b","archive_size":49077670,"archive_url":"https://extensions.blender.org/download/sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b/add-on-microscopynodes-v2.2.7-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/microscopynodes/","maintainer":"Aafke-Gros","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk, writing to cache folder","network":"Loading OME-zarr files from the internet from a given URL"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"new_object_from_selected_geometry","schema_version":"1.0.0","name":"New Object From Selected Geometry","version":"1.0.2","tagline":"Creates a new object from the selected geometry in Edit mode","archive_hash":"sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f","archive_size":13392,"archive_url":"https://extensions.blender.org/download/sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f/add-on-new-object-from-selected-geometry-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/new-object-from-selected-geometry/","maintainer":"Giambattista-Caltabiano","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Metaseq_Classic_theme","schema_version":"1.0.0","name":"Metaseq_Classic","version":"1.0.1","tagline":"Classic light Metasequoia-style theme","archive_hash":"sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a","archive_size":36342,"archive_url":"https://extensions.blender.org/download/sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a/theme-metaseq-classic-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-classic-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Xromm_Tools","schema_version":"1.0.0","name":"XROMM toolkit","version":"0.9.6","tagline":"XROMM toolkit for Blender","archive_hash":"sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771","archive_size":18986,"archive_url":"https://extensions.blender.org/download/sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771/add-on-xromm-tools-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/xromm-tools/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"io_scene_ase","schema_version":"1.0.0","name":"ASCII Scene Export (.ase)","version":"2.2.1","tagline":"Export .ase files used in Unreal Engine 1 & 2","archive_hash":"sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494","archive_size":13786,"archive_url":"https://extensions.blender.org/download/sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494/add-on-io-scene-ase-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-ase/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .ase files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"blender_magicavoxel","schema_version":"1.0.0","name":"MagicaVoxel VOX format","version":"1.5.7","tagline":"Importer addon for MagicaVoxel vox files","archive_hash":"sha256:30f41041bb989380687699ec6b47ec6457e438c922ff71be6e93f99b68fe8d0d","archive_size":24371,"archive_url":"https://extensions.blender.org/download/sha256:30f41041bb989380687699ec6b47ec6457e438c922ff71be6e93f99b68fe8d0d/add-on-blender-magicavoxel-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-magicavoxel/","maintainer":"AstrorEnales","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"permissions":{"files":"Import VOX from disk"},"tags":["Import-Export"]},{"id":"odyssey_eobet_remix","schema_version":"1.0.0","name":"Odyssey eobet Remix","version":"2.0.1","tagline":"Theme highlighting the active object","archive_hash":"sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743","archive_size":5970,"archive_url":"https://extensions.blender.org/download/sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743/theme-odyssey-eobet-remix-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/odyssey-eobet-remix/","maintainer":"eobet","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"PieMenu_Everywhere","schema_version":"1.0.0","name":"PieMenu Everywhere","version":"1.4.5","tagline":"Maximize your efficiency with PieMenu Everywhere","archive_hash":"sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84","archive_size":438388,"archive_url":"https://extensions.blender.org/download/sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84/add-on-piemenu-everywhere-v1.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/piemenu-everywhere/","maintainer":"DeathShot-747","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline","3D View","Node"]},{"id":"Partybots_converter","schema_version":"1.0.0","name":"Partybots converter","version":"1.0.4","tagline":"This is a addon to build partybots maps","archive_hash":"sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00","archive_size":5333,"archive_url":"https://extensions.blender.org/download/sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00/add-on-partybots-converter-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/partybots-converter/","maintainer":"vuyghu2020","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To write the compiled output to the clipbord"},"tags":["3D View","Object","Game Engine"]},{"id":"add_airfoil","schema_version":"1.0.0","name":"Add Airfoil","version":"2.0.0","tagline":"Import Airfoil Dat Files into Blender","archive_hash":"sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae","archive_size":2356,"archive_url":"https://extensions.blender.org/download/sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae/add-on-add-airfoil-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-airfoil/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"atomic_blender_cluster","schema_version":"1.0.0","name":"Atomic Blender Cluster","version":"1.0.0","tagline":"Creating atom clusters or nanoparticles in Blender","archive_hash":"sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18","archive_size":11917,"archive_url":"https://extensions.blender.org/download/sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18/add-on-atomic-blender-cluster-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-cluster/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"add_positive_cube","schema_version":"1.0.0","name":"Add Positive Cube","version":"1.0.2","tagline":"Adds a cube with its origin at the corner","archive_hash":"sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807","archive_size":2022,"archive_url":"https://extensions.blender.org/download/sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807/add-on-add-positive-cube-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-positive-cube/","maintainer":"jefftml","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","3D View"]},{"id":"theme_modo","schema_version":"1.0.0","name":"Modo","version":"2.0.0","tagline":"Community-made theme inspired by Modo","archive_hash":"sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f","archive_size":5822,"archive_url":"https://extensions.blender.org/download/sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f/theme-theme-modo-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-modo/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"stl_format_legacy","schema_version":"1.0.0","name":"STL format (legacy)","version":"1.1.4","tagline":"Import-Export STL files","archive_hash":"sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6","archive_size":7513,"archive_url":"https://extensions.blender.org/download/sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6/add-on-stl-format-legacy-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stl-format-legacy/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"atomic_blender_pdb_xyz","schema_version":"1.0.0","name":"Atomic Blender PDB/XYZ","version":"1.9.1","tagline":"Importing atoms listed in PDB and XYZ files into Blender","archive_hash":"sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268","archive_size":51000,"archive_url":"https://extensions.blender.org/download/sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268/add-on-atomic-blender-pdb-xyz-v1.9.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-pdb-xyz/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"geodesic_domes","schema_version":"1.0.0","name":"Geodesic Domes","version":"0.3.6","tagline":"Create geodesic dome type objects","archive_hash":"sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0","archive_size":25222,"archive_url":"https://extensions.blender.org/download/sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0/add-on-geodesic-domes-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geodesic-domes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"ui_animation_render","schema_version":"1.0.0","name":"UI Animation Render","version":"0.1.0","tagline":"Render animations of the Blender UI","archive_hash":"sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29","archive_size":2426,"archive_url":"https://extensions.blender.org/download/sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29/add-on-ui-animation-render-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ui-animation-render/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"pov_at_ble","schema_version":"1.0.0","name":"POV@Ble (Legacy)","version":"0.1.6","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339","archive_size":302310,"archive_url":"https://extensions.blender.org/download/sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339/add-on-pov-at-ble-v0.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pov-at-ble/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render"]},{"id":"inset_straight_skeleton","schema_version":"1.0.0","name":"Inset Straight Skeleton","version":"1.1.0","tagline":"Make an inset inside selection using straight skeleton algo . . ","archive_hash":"sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553","archive_size":33199,"archive_url":"https://extensions.blender.org/download/sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553/add-on-inset-straight-skeleton-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/inset-straight-skeleton/","maintainer":"howardt","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"refine_tracking_solution","schema_version":"1.0.0","name":"Refine tracking solution","version":"1.1.6","tagline":"Refine motion solution by adjusting track weight","archive_hash":"sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f","archive_size":2210,"archive_url":"https://extensions.blender.org/download/sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f/add-on-refine-tracking-solution-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/refine-tracking-solution/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"assign_shape_keys","schema_version":"1.0.0","name":"Assign Shape Keys","version":"1.0.2","tagline":"Assigns one or more Bezier curves as shape keys to another . . ","archive_hash":"sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1","archive_size":10143,"archive_url":"https://extensions.blender.org/download/sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1/add-on-assign-shape-keys-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/assign-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"export_pointcache_formatpc2","schema_version":"1.0.0","name":"Export Pointcache Format(.pc2)","version":"1.1.4","tagline":"Export mesh Pointcache data (.pc2)","archive_hash":"sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805","archive_size":2683,"archive_url":"https://extensions.blender.org/download/sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805/add-on-export-pointcache-formatpc2-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-pointcache-formatpc2/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .pc2 file"},"tags":["Import-Export"]},{"id":"corrective_shape_keys","schema_version":"1.0.0","name":"Corrective Shape Keys","version":"1.0.0","tagline":"Creates a corrective shape key for the current pose","archive_hash":"sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19","archive_size":4821,"archive_url":"https://extensions.blender.org/download/sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19/add-on-corrective-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/corrective-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"freestyle_svg_exporter","schema_version":"1.0.0","name":"Freestyle SVG Exporter","version":"1.0.0","tagline":"Exports Freestyle's stylized edges in SVG format","archive_hash":"sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b","archive_size":7691,"archive_url":"https://extensions.blender.org/download/sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b/add-on-freestyle-svg-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/freestyle-svg-exporter/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"edit_operator_source","schema_version":"1.0.0","name":"Edit Operator Source","version":"1.2.4","tagline":"Opens source file of chosen operator or call locations","archive_hash":"sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc","archive_size":2897,"archive_url":"https://extensions.blender.org/download/sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc/add-on-edit-operator-source-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-operator-source/","maintainer":"scorpion81","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"copy_render_settings","schema_version":"1.0.0","name":"Copy Render Settings","version":"2.0.0","tagline":"Allows to copy a selection of render settings from current . . ","archive_hash":"sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0","archive_size":7786,"archive_url":"https://extensions.blender.org/download/sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0/add-on-copy-render-settings-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-render-settings/","maintainer":"mont29","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"newtek_mdd_format","schema_version":"1.0.0","name":"NewTek MDD format","version":"1.0.3","tagline":"Import-Export MDD as mesh shape keys","archive_hash":"sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759","archive_size":4368,"archive_url":"https://extensions.blender.org/download/sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759/add-on-newtek-mdd-format-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/newtek-mdd-format/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with MDD format files"},"tags":["Import-Export"]},{"id":"demo_mode","schema_version":"1.0.0","name":"Demo Mode","version":"1.0.0","tagline":"Demo mode lets you select multiple blend files and loop ove . . ","archive_hash":"sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62","archive_size":9071,"archive_url":"https://extensions.blender.org/download/sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62/add-on-demo-mode-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/demo-mode/","maintainer":"campbell","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"scene_information","schema_version":"1.0.0","name":"Scene Information","version":"0.3.1","tagline":"Show information about the .blend","archive_hash":"sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6","archive_size":1816,"archive_url":"https://extensions.blender.org/download/sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6/add-on-scene-information-v0.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-information/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"paint_palettes","schema_version":"1.0.0","name":"Paint Palettes","version":"0.9.4","tagline":"Palettes for color and weight paint modes","archive_hash":"sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321","archive_size":6133,"archive_url":"https://extensions.blender.org/download/sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321/add-on-paint-palettes-v0.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-palettes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Paint"]},{"id":"nuke_animation_format_chan","schema_version":"1.0.0","name":"Nuke Animation Format (.chan)","version":"1.0.0","tagline":"Import/Export object's animation with nuke","archive_hash":"sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9","archive_size":4340,"archive_url":"https://extensions.blender.org/download/sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9/add-on-nuke-animation-format-chan-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nuke-animation-format-chan/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export"]},{"id":"btracer","schema_version":"1.0.0","name":"BTracer","version":"1.2.4","tagline":"Tools for converting/animating objects/particles into curves","archive_hash":"sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064","archive_size":17367,"archive_url":"https://extensions.blender.org/download/sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064/add-on-btracer-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/btracer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"web3d_x3d_vrml2_format","schema_version":"1.0.0","name":"Web3D X3D/VRML2 format","version":"2.5.1","tagline":"Import-Export X3D, Import VRML2","archive_hash":"sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604","archive_size":100153,"archive_url":"https://extensions.blender.org/download/sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604/add-on-web3d-x3d-vrml2-format-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/","maintainer":"Bujus_Krachus","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to access files for import/export","network":"Required to download web resources for import"},"tags":["Import-Export"]},{"id":"export_camera_animation","schema_version":"1.0.0","name":"Export Camera Animation","version":"0.1.2","tagline":"Export Cameras & Markers to a Python script","archive_hash":"sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed","archive_size":2057,"archive_url":"https://extensions.blender.org/download/sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed/add-on-export-camera-animation-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-camera-animation/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .py file"},"tags":["Import-Export"]},{"id":"cadbase_library","schema_version":"1.0.0","name":"CADBase Library","version":"0.3.0","tagline":"Add-on enables data sync with remote storage (cloud)","archive_hash":"sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be","archive_size":190158,"archive_url":"https://extensions.blender.org/download/sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be/add-on-cadbase-library-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cadbase-library/","maintainer":"mnnxp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export library data from/to disk","network":"Need to to sync library data with a remote server","clipboard":"Copy component link to clipboard"},"tags":["Import-Export"]},{"id":"forts_map","schema_version":"1.0.0","name":"Forts Map Importer","version":"1.0.1","tagline":"Import Forts Map","archive_hash":"sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66","archive_size":4234,"archive_url":"https://extensions.blender.org/download/sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66/add-on-forts-map-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/forts-map/","maintainer":"Gonnetz","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Import-Export"]},{"id":"democap_tools","schema_version":"1.0.0","name":"DEMoCap Tools","version":"1.0.4","tagline":"Tools for importing DEMoCap motion captures into Blender","archive_hash":"sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e","archive_size":114185,"archive_url":"https://extensions.blender.org/download/sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e/add-on-democap-tools-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/democap-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading motion capture files","network":"Connect to DEMoCap (Live Connection)"},"tags":["Import-Export","3D View","Object","Animation"]},{"id":"dragengine_tools","schema_version":"1.0.0","name":"Drag[en]gine Import/Export","version":"1.29.1","tagline":"Import/Export Drag[en]gine Resources including helper tools","archive_hash":"sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a","archive_size":115706,"archive_url":"https://extensions.blender.org/download/sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a/add-on-dragengine-tools-v1.29.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragengine-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing/Exporting resources"},"tags":["Import-Export","3D View","Mesh","Object","Animation"]}],"version":"v1"} \ No newline at end of file diff --git a/extensions/blender_org/.blender_ext/index.json@33f8 b/extensions/blender_org/.blender_ext/index.json@33f8 deleted file mode 100644 index f53f0c2..0000000 --- a/extensions/blender_org/.blender_ext/index.json@33f8 +++ /dev/null @@ -1 +0,0 @@ -{"blocklist":[],"data":[{"id":"mio3_flex","schema_version":"1.0.0","name":"Mio3 Flex","version":"1.0.2","tagline":"Deforms an edge loop with a spline curve","archive_hash":"sha256:df79c88fdaecc054b3f062c53fc05109704dd37ccfe59ed1940639f5384f8f4e","archive_size":29864,"archive_url":"https://extensions.blender.org/download/sha256:df79c88fdaecc054b3f062c53fc05109704dd37ccfe59ed1940639f5384f8f4e/add-on-mio3-flex-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mio3-flex/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"geo_nodes_guide","schema_version":"1.0.0","name":"Geo Nodes Guide","version":"0.1.0","tagline":"Live documentation and examples for Geometry Nodes","archive_hash":"sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792","archive_size":93537,"archive_url":"https://extensions.blender.org/download/sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792/add-on-geo-nodes-guide-v0.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/geo-nodes-guide/","maintainer":"Addonyte","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Geometry Nodes"]},{"id":"red_velvet_theme","schema_version":"1.0.0","name":"Red Velvet Theme","version":"1.0.0","tagline":"A cosmic red cyberpunk-inspired theme","archive_hash":"sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7/theme-red-velvet-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/red-velvet-theme/","maintainer":"Thunder-Artist","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"outliner_preview","schema_version":"1.0.0","name":"Outliner Model Preview","version":"1.0.8","tagline":"Preview selected model in the Outliner","archive_hash":"sha256:f0b5c8946a4f5d700300bf2be1aecde90baaa3d82e6a52974b98a22e4caed510","archive_size":17450,"archive_url":"https://extensions.blender.org/download/sha256:f0b5c8946a4f5d700300bf2be1aecde90baaa3d82e6a52974b98a22e4caed510/add-on-outliner-preview-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/outliner-preview/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"ftw3dforge_image_projector","schema_version":"1.0.0","name":"FTW3DForge Image Projector","version":"2.1.0","tagline":"Project images onto 3D meshes with real-time preview and baking","archive_hash":"sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf","archive_size":16305,"archive_url":"https://extensions.blender.org/download/sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf/add-on-ftw3dforge-image-projector-v2.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw3dforge-image-projector/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["UV","Mesh","Import-Export","Material"]},{"id":"splashsurf_studio","schema_version":"1.0.0","name":"Splashsurf Studio","version":"1.0.1","tagline":"Surface reconstruction for particle-based fluid simulations","archive_hash":"sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c","archive_size":2732095,"archive_url":"https://extensions.blender.org/download/sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c/add-on-splashsurf-studio-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/splashsurf-studio/","maintainer":"Fabian-Löschner","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Add Mesh","Mesh","Object"]},{"id":"sidebar_tab_search","schema_version":"1.0.0","name":"Sidebar Tab Search","version":"1.0.0","tagline":"Quick search and switch between Sidebar (N-Panel) tabs","archive_hash":"sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd","archive_size":18766,"archive_url":"https://extensions.blender.org/download/sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd/add-on-sidebar-tab-search-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sidebar-tab-search/","maintainer":"McKaa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"selection_mode_cycler","schema_version":"1.0.0","name":"Selection Mode Cycler","version":"1.0.1","tagline":"Cycles through mesh selection modes in Edit Mode","archive_hash":"sha256:39a1cadea1841218de15e7cb6d76460c2b5300abff6d0044e3074c92eb25bce3","archive_size":1311,"archive_url":"https://extensions.blender.org/download/sha256:39a1cadea1841218de15e7cb6d76460c2b5300abff6d0044e3074c92eb25bce3/add-on-selection-mode-cycler-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selection-mode-cycler/","maintainer":"Lise-2","license":["SPDX:GPL-3.0-or-later"]},{"id":"colornova","schema_version":"1.0.0","name":"COLOR-NOVA // SPECTRAL UV | M-87","version":"1.0.1","tagline":"Essential UV contrast. Absolute clarity for professional focus","archive_hash":"sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc","archive_size":6257,"archive_url":"https://extensions.blender.org/download/sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc/theme-colornova-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/colornova/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast","Colorful"]},{"id":"select_similar_geometry","schema_version":"1.0.0","name":"Select Similar Geometry","version":"1.3.0","tagline":"Select objects by percentage of matching vertices","archive_hash":"sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21","archive_size":397646,"archive_url":"https://extensions.blender.org/download/sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21/add-on-select-similar-geometry-v1.3.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/select-similar-geometry/","maintainer":"JuanRomero","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"matgeo","schema_version":"1.0.0","name":"MatGeo","version":"1.0.0","tagline":"Convert Materials to Geometry Nodes","archive_hash":"sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556","archive_size":9103,"archive_url":"https://extensions.blender.org/download/sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556/add-on-matgeo-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/matgeo/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Geometry Nodes","Node"]},{"id":"Cross_Select","schema_version":"1.0.0","name":"Cross Select","version":"1.0.4","tagline":"Select scene objects similar like RHINO or CAD","archive_hash":"sha256:9679d1ed71bc457f2528984934f86fb96878f05211be7d30195afe586c1ddc22","archive_size":20040,"archive_url":"https://extensions.blender.org/download/sha256:9679d1ed71bc457f2528984934f86fb96878f05211be7d30195afe586c1ddc22/add-on-cross-select-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cross-select/","maintainer":"RARA","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View","Scene"]},{"id":"Dark_3d","schema_version":"1.0.0","name":"Dark 3d","version":"1.0.0","tagline":"Shaded Buttons","archive_hash":"sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad","archive_size":6664,"archive_url":"https://extensions.blender.org/download/sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad/theme-dark-3d-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-3d/","maintainer":"SammyTheBest","license":["SPDX:GPL-3.0-or-later"]},{"id":"VibeyTM_Pro","schema_version":"1.0.0","name":"Vibey™ Pro","version":"0.0.1","tagline":"Visually exciting yet fully functional","archive_hash":"sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92","archive_size":18840,"archive_url":"https://extensions.blender.org/download/sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92/theme-vibeytm-pro-v0.0.1.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/vibeytm-pro/","maintainer":"Fedor-Rezhenov","license":["SPDX:GPL-3.0-or-later"]},{"id":"bone_math","schema_version":"1.0.0","name":"Bone Math","version":"0.1.0","tagline":"Calculate pole angles, plus other bone related math","archive_hash":"sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c","archive_size":4795,"archive_url":"https://extensions.blender.org/download/sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c/add-on-bone-math-v0.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bone-math/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"surface_diagnostics","schema_version":"1.0.0","name":"Surface Diagnostics","version":"1.4.2","tagline":"Set of tools for diagnosing surface quality","archive_hash":"sha256:72f120b717c9d83ec5072d22eeb826dbea67c09a61e2e272cfbd12a9a4043d8e","archive_size":1235547,"archive_url":"https://extensions.blender.org/download/sha256:72f120b717c9d83ec5072d22eeb826dbea67c09a61e2e272cfbd12a9a4043d8e/add-on-surface-diagnostics-v1.4.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/surface-diagnostics/","maintainer":"JLBöhm","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Geometry Nodes"]},{"id":"savepoints","schema_version":"1.0.0","name":"SavePoints","version":"1.4.1","tagline":"Visual version control, easy restore, and automatic timelapse","archive_hash":"sha256:459db276ebc865d1f84881640d02484bb1442e0636e0be51158566f3e392caad","archive_size":90184,"archive_url":"https://extensions.blender.org/download/sha256:459db276ebc865d1f84881640d02484bb1442e0636e0be51158566f3e392caad/add-on-savepoints-v1.4.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/savepoints/","maintainer":"unclepomedev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create version history and move deleted versions to trash"},"tags":["System","Pipeline","Render"]},{"id":"sprite_sheet_maker","schema_version":"1.0.0","name":"Sprite Sheet Maker","version":"5.1.1","tagline":"3D to 2D sprite sheet converter with optional pixelation","archive_hash":"sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329","archive_size":8711545,"archive_url":"https://extensions.blender.org/download/sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329/add-on-sprite-sheet-maker-v5.1.1-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sprite-sheet-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Animation","Render"]},{"id":"kanagawa","schema_version":"1.0.0","name":"Kanagawa","version":"1.0.1","tagline":"kanagawa.nvim for Blender","archive_hash":"sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d","archive_size":6190,"archive_url":"https://extensions.blender.org/download/sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d/theme-kanagawa-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/kanagawa/","maintainer":"timberlinefpv","license":["SPDX:GPL-3.0-or-later"]},{"id":"io_xnalara","schema_version":"1.0.0","name":"XPS Import/Export","version":"2.2.3","tagline":"Import-Export for XNALara/XPS files","archive_hash":"sha256:562c1bc1ff1375190a25604fda95897f1d3f6c034d8aeee742bd91a8acbf3d8d","archive_size":179046,"archive_url":"https://extensions.blender.org/download/sha256:562c1bc1ff1375190a25604fda95897f1d3f6c034d8aeee742bd91a8acbf3d8d/add-on-io-xnalara-v2.2.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-xnalara/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"ZZZ","schema_version":"1.0.0","name":"ZZZ Theme","version":"1.0.0","tagline":"High-contrast dark theme with Zenless Zone Zero's signature","archive_hash":"sha256:e1f9b0b7f60d398e27faab38b779e7e3c50191b98fb1b312b26b48854544093c","archive_size":5309,"archive_url":"https://extensions.blender.org/download/sha256:e1f9b0b7f60d398e27faab38b779e7e3c50191b98fb1b312b26b48854544093c/theme-zzz-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zzz/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast"]},{"id":"Cyberpunk2077","schema_version":"1.0.0","name":"Cyberpunk 2077","version":"1.1.3","tagline":"A Cyberpunk 2077 theme for Blender","archive_hash":"sha256:824e9449685f7b4cde9b4088e2f76c41386ca58a9fc242b430fc9b080a26d7a2","archive_size":5626,"archive_url":"https://extensions.blender.org/download/sha256:824e9449685f7b4cde9b4088e2f76c41386ca58a9fc242b430fc9b080a26d7a2/theme-cyberpunk2077-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cyberpunk2077/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"sleek_navy","schema_version":"1.0.0","name":"Sleek Navy","version":"1.0.0","tagline":"A clean dark-blue Blender theme","archive_hash":"sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420","archive_size":5546,"archive_url":"https://extensions.blender.org/download/sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420/theme-sleek-navy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/sleek-navy/","maintainer":"Martel6ix","license":["SPDX:MIT"]},{"id":"viewport_camera_positions","schema_version":"1.0.0","name":"Lutaya Viewport Camera","version":"1.0.1","tagline":"Save and switch between camera positions with orthographic views","archive_hash":"sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b","archive_size":4336,"archive_url":"https://extensions.blender.org/download/sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b/add-on-viewport-camera-positions-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-camera-positions/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load camera position configurations"},"tags":["3D View","Camera"]},{"id":"sequence_loader","schema_version":"1.0.0","name":"Sequence Loader","version":"0.4.0","tagline":"Just-in-time loader for meshio-supported mesh file sequences","archive_hash":"sha256:20c6e8c30cd2c2aa4be1c56817a32562680841c20df0b7a6cff103d543f566ff","archive_size":629459,"archive_url":"https://extensions.blender.org/download/sha256:20c6e8c30cd2c2aa4be1c56817a32562680841c20df0b7a6cff103d543f566ff/add-on-sequence-loader-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sequence-loader/","maintainer":"Stefan-Jeske","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Core functionality to load files from disk"},"tags":["Import-Export"]},{"id":"automata_theme","schema_version":"1.0.0","name":"Automata","version":"1.0.0","tagline":"NieR inspired theme","archive_hash":"sha256:cdf20785438bdbeca1640a9fa59a86ad0e96b98b0b2a267622fceb9c60122168","archive_size":5881,"archive_url":"https://extensions.blender.org/download/sha256:cdf20785438bdbeca1640a9fa59a86ad0e96b98b0b2a267622fceb9c60122168/theme-automata-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/automata-theme/","maintainer":"NSA-Cloud","license":["SPDX:GPL-3.0-or-later"]},{"id":"ani_offset","schema_version":"1.0.0","name":"Ani Offset","version":"3.2.2","tagline":"Propagate pose offsets across selected keyframes","archive_hash":"sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154","archive_size":3526,"archive_url":"https://extensions.blender.org/download/sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154/add-on-ani-offset-v3.2.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ani-offset/","maintainer":"Drika111","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"copy_paste_nodes","schema_version":"1.0.0","name":"Copy/Paste Nodes","version":"0.1.4","tagline":"Copy nodes to and from the system clipboard as JSON","archive_hash":"sha256:dfc0957b119c2bc7435b9887a480855f712be1eff69a6f520de0e3345ceb47fd","archive_size":10704,"archive_url":"https://extensions.blender.org/download/sha256:dfc0957b119c2bc7435b9887a480855f712be1eff69a6f520de0e3345ceb47fd/add-on-copy-paste-nodes-v0.1.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copy-paste-nodes/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste nodes to the clipboard"},"tags":["Node"]},{"id":"mixamo_rig","schema_version":"1.0.0","name":"Mixamo Rig","version":"1.1.8","tagline":"Generate a control rig from Mixamo Fbx skeleton","archive_hash":"sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96","archive_size":171560,"archive_url":"https://extensions.blender.org/download/sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96/add-on-mixamo-rig-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.5.999","website":"https://extensions.blender.org/add-ons/mixamo-rig/","maintainer":"tyler.tofu","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Rigging"]},{"id":"img2mat_pro","schema_version":"1.0.0","name":"img2mat_pro","version":"1.10.0","tagline":"Extract color materials and paint palettes from images","archive_hash":"sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990","archive_size":9875,"archive_url":"https://extensions.blender.org/download/sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990/add-on-img2mat-pro-v1.10.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img2mat-pro/","maintainer":"stevewarner","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","User Interface","Pipeline"]},{"id":"export_render_as_dng","schema_version":"1.0.0","name":"Export Render as DNG","version":"1.0.2","tagline":"Export renders and images as Bayer-style DNG files","archive_hash":"sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85","archive_size":25960,"archive_url":"https://extensions.blender.org/download/sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85/add-on-export-render-as-dng-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-render-as-dng/","maintainer":"FloBEAUG","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export DNG to disk"}},{"id":"Origin_move_like_maya","schema_version":"1.0.0","name":"Origin_move_like_maya (Press D)","version":"1.2.0","tagline":"Move pivot independently with snapping and gizmo like maya","archive_hash":"sha256:4290ecc7ba2ce331cfd6e0fd369f78783dd2fb1f434bee3e15c94cee8dd72362","archive_size":3331,"archive_url":"https://extensions.blender.org/download/sha256:4290ecc7ba2ce331cfd6e0fd369f78783dd2fb1f434bee3e15c94cee8dd72362/add-on-origin-move-like-maya-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/origin-move-like-maya/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"printing_helper","schema_version":"1.0.0","name":"Printing Helper","version":"0.1.1","tagline":"Set the resolution required for printing more simply","archive_hash":"sha256:f98b2b9706a9aab3d09f7b79eefb02b4a603d3d64a41739eaafadcdec2629281","archive_size":10107,"archive_url":"https://extensions.blender.org/download/sha256:f98b2b9706a9aab3d09f7b79eefb02b4a603d3d64a41739eaafadcdec2629281/add-on-printing-helper-v0.1.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/printing-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"bh_smart_sym","schema_version":"1.0.0","name":"BH Smart Sym","version":"0.9.0","tagline":"Interactive 3D arrows for quick face symmetrize","archive_hash":"sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34","archive_size":5272,"archive_url":"https://extensions.blender.org/download/sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34/add-on-bh-smart-sym-v0.9.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bh-smart-sym/","maintainer":"bogatyr4ik","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"camera_aspect_ratio_guides","schema_version":"1.0.0","name":"Camera Aspect Ratio Guides","version":"1.0.5","tagline":"Viewport composition guides with render burn-in support","archive_hash":"sha256:ba571c784e7cf5b2ced8ee6b07ab2d2dc46d1ce9ca33d132669a77f80b36f99e","archive_size":7526,"archive_url":"https://extensions.blender.org/download/sha256:ba571c784e7cf5b2ced8ee6b07ab2d2dc46d1ce9ca33d132669a77f80b36f99e/add-on-camera-aspect-ratio-guides-v1.0.5.zip","type":"add-on","blender_version_min":"4.5.0","blender_version_max":"5.5.0","website":"https://extensions.blender.org/add-ons/camera-aspect-ratio-guides/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render","Compositing"]},{"id":"camerafly","schema_version":"1.0.0","name":"Camerafly","version":"2.1.3","tagline":"Fly around with the Dolly Rig of the Camera Rigs Addon","archive_hash":"sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d","archive_size":23698,"archive_url":"https://extensions.blender.org/download/sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d/add-on-camerafly-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camerafly/","maintainer":"MichaelSchieber","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"rigi_all","schema_version":"1.0.0","name":"Rigi-All","version":"1.5.2","tagline":"Speeds up the Rigify process","archive_hash":"sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17","archive_size":31809,"archive_url":"https://extensions.blender.org/download/sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17/add-on-rigi-all-v1.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigi-all/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Quick_Asset_Saver","schema_version":"1.0.0","name":"Quick Asset Saver","version":"1.3.2","tagline":"Create, Rename, Move, and Delete Asset Files Quickly","archive_hash":"sha256:501cb1d92ce35218a7254c6825690aa6dbf284fa82b287d490cbe566fff17efc","archive_size":54837,"archive_url":"https://extensions.blender.org/download/sha256:501cb1d92ce35218a7254c6825690aa6dbf284fa82b287d490cbe566fff17efc/add-on-quick-asset-saver-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-asset-saver/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For reading user library paths and writing asset files"},"tags":["User Interface","System"]},{"id":"bone_widget","schema_version":"1.0.0","name":"Bone Widget","version":"2.3.3","tagline":"Easily Create Bone Widgets","archive_hash":"sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970","archive_size":293994,"archive_url":"https://extensions.blender.org/download/sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970/add-on-bone-widget-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-widget/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export json and image files from/to disk"},"tags":["Rigging"]},{"id":"Bone_Animation_Copy_Tool","schema_version":"1.0.0","name":"Bone Animation Copy Tool","version":"1.1.5","tagline":"Copy animation between armatures using bone constraints","archive_hash":"sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2","archive_size":9772,"archive_url":"https://extensions.blender.org/download/sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2/add-on-bone-animation-copy-tool-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-animation-copy-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"orbiter","schema_version":"1.0.0","name":"Orbiter","version":"1.1.0","tagline":"Orbit around objects in the viewport","archive_hash":"sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a","archive_size":3393,"archive_url":"https://extensions.blender.org/download/sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a/add-on-orbiter-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orbiter/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"spline_generator","schema_version":"1.0.0","name":"Spline Generator","version":"1.0.3","tagline":"Generate parametric spline","archive_hash":"sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145","archive_size":8307,"archive_url":"https://extensions.blender.org/download/sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145/add-on-spline-generator-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spline-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Add Curve"]},{"id":"graph_generator","schema_version":"1.0.0","name":"Graph Generator","version":"1.2.2","tagline":"Generate graph between saved keyframes","archive_hash":"sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4","archive_size":9526,"archive_url":"https://extensions.blender.org/download/sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4/add-on-graph-generator-v1.2.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/graph-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"wisteria","schema_version":"1.0.0","name":"Wisteria","version":"1.0.1","tagline":"Gray with hints of purple","archive_hash":"sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915","archive_size":5690,"archive_url":"https://extensions.blender.org/download/sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915/theme-wisteria-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/wisteria/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"trajectory_anim","schema_version":"1.0.0","name":"Trajectory Anim","version":"1.2.1","tagline":"Animate quickly by drawing trajectory line","archive_hash":"sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d","archive_size":43987,"archive_url":"https://extensions.blender.org/download/sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d/add-on-trajectory-anim-v1.2.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/trajectory-anim/","maintainer":"trisnox","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Analysis_Toolkit","schema_version":"1.0.0","name":"Analysis Toolkit","version":"1.0.1","tagline":"Measurement calculations, illuminance, distance, speed, and more","archive_hash":"sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823","archive_size":25910,"archive_url":"https://extensions.blender.org/download/sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823/add-on-analysis-toolkit-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/analysis-toolkit/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Lighting"]},{"id":"ns_toolkit_mesh_cleanup_pro","schema_version":"1.0.0","name":"NS Toolkit - Mesh Cleanup Pro","version":"1.0.1","tagline":"Professional mesh cleanup with topology visualization tools","archive_hash":"sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e","archive_size":9410,"archive_url":"https://extensions.blender.org/download/sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e/add-on-ns-toolkit-mesh-cleanup-pro-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ns-toolkit-mesh-cleanup-pro/","maintainer":"nandur","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"OLED","schema_version":"1.0.0","name":"OLED","version":"1.0.0","tagline":"OLED theme for Blender","archive_hash":"sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee/theme-oled-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/oled/","maintainer":"NARZ","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"CYNexusLX490","schema_version":"1.0.0","name":"CyanoNexus LX490","version":"1.0.1","tagline":"Stellar-grade Blender theme – tri-spectrum of CyanoNexus LX490","archive_hash":"sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9","archive_size":6218,"archive_url":"https://extensions.blender.org/download/sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9/theme-cynexuslx490-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cynexuslx490/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"editorbar","schema_version":"1.0.0","name":"EditorBar","version":"0.4.7","tagline":"Turn Outliner & Properties editors into a toggleable sidebar","archive_hash":"sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a","archive_size":24251,"archive_url":"https://extensions.blender.org/download/sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a/add-on-editorbar-v0.4.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/editorbar/","maintainer":"atetraxx","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"manage_file_paths","schema_version":"1.0.0","name":"Manage File Paths","version":"1.0.1","tagline":"A list of image file paths with indicators for missing files","archive_hash":"sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906","archive_size":3273,"archive_url":"https://extensions.blender.org/download/sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906/add-on-manage-file-paths-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/manage-file-paths/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check if image files exist on disk"},"tags":["Material","System"]},{"id":"matcolex","schema_version":"1.0.0","name":"MatColeX","version":"1.7.8","tagline":"Collect, Organize, and Apply Shaders from Your 3D View","archive_hash":"sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5","archive_size":9589,"archive_url":"https://extensions.blender.org/download/sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5/add-on-matcolex-v1.7.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matcolex/","maintainer":"budijozz","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","3D View","Modeling"]},{"id":"wfc_3d_generator","schema_version":"1.0.0","name":"WFC 3D Generator","version":"1.3.7","tagline":"Simple WFC 3D generator for procedural creation of objects","archive_hash":"sha256:bf1666615c874701a492227230c8137140b4de8a76fa610d31ed7a6b302f4bef","archive_size":76569,"archive_url":"https://extensions.blender.org/download/sha256:bf1666615c874701a492227230c8137140b4de8a76fa610d31ed7a6b302f4bef/add-on-wfc-3d-generator-v1.3.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wfc-3d-generator/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export constraints (JSON) from/to disk"},"tags":["Object","Modeling","Render","Game Engine"]},{"id":"blender_dark_aero_theme","schema_version":"1.0.0","name":"Dark Aero","version":"1.0.0","tagline":"This is a Dark Aero Theme for Blender","archive_hash":"sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca","archive_size":7696,"archive_url":"https://extensions.blender.org/download/sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca/theme-blender-dark-aero-theme-v1.0.0.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blender-dark-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"nurbs2mesh","schema_version":"1.0.0","name":"NURBS2Mesh","version":"1.0.3","tagline":"Auto-updating mesh copies from NURBS/Curves","archive_hash":"sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35","archive_size":9718,"archive_url":"https://extensions.blender.org/download/sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35/add-on-nurbs2mesh-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nurbs2mesh/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"curve_generator","schema_version":"1.0.0","name":"Curve Generator","version":"1.2.1","tagline":"Generate float curves","archive_hash":"sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac","archive_size":6289,"archive_url":"https://extensions.blender.org/download/sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac/add-on-curve-generator-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Add Curve"]},{"id":"true_roboanimator","schema_version":"1.0.0","name":"True RoboAnimator","version":"1.0.1","tagline":"Robot motion to wheel RPM with CSV export","archive_hash":"sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606","archive_size":18055,"archive_url":"https://extensions.blender.org/download/sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606/add-on-true-roboanimator-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/true-roboanimator/","maintainer":"danyal-sarfraz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write CSV and animation data files"}},{"id":"MaterialHelper","schema_version":"1.0.0","name":"MaterialHelper","version":"1.4.7","tagline":"Make local asset manager your place to create powerful materials","archive_hash":"sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d","archive_size":3927318,"archive_url":"https://extensions.blender.org/download/sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d/add-on-materialhelper-v1.4.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/materialhelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load preview material file/Access and modify asset catalog file"},"tags":["3D View","Material"]},{"id":"lutiy_timeline","schema_version":"1.0.0","name":"Lutiy Timeline","version":"1.0.1","tagline":"Save and switch between camera frame range","archive_hash":"sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb","archive_size":3790,"archive_url":"https://extensions.blender.org/download/sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb/add-on-lutiy-timeline-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lutiy-timeline/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load preset configurations"},"tags":["Animation","Camera","Scene"]},{"id":"py_btn_box","schema_version":"1.0.0","name":"PyBtnBox","version":"5.1.0","tagline":"Use Button To Execute Script","archive_hash":"sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf","archive_size":14035,"archive_url":"https://extensions.blender.org/download/sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf/add-on-py-btn-box-v5.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/py-btn-box/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Need to sync button data from python/json files and folder"},"tags":["System"]},{"id":"mesh_attribute_utils","schema_version":"1.0.0","name":"Mesh Attribute Utils","version":"0.2.0","tagline":"Easily view and edit custom mesh attributes","archive_hash":"sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211","archive_size":8347,"archive_url":"https://extensions.blender.org/download/sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211/add-on-mesh-attribute-utils-v0.2.0.zip","type":"add-on","blender_version_min":"4.5.3","website":"https://extensions.blender.org/add-ons/mesh-attribute-utils/","maintainer":"Hannah-Pascal-Noël","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"theme_updater","schema_version":"1.0.0","name":"Theme Updater","version":"1.0.0","tagline":"Update themes from 4.5 LTS to 5.0","archive_hash":"sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21","archive_size":5066,"archive_url":"https://extensions.blender.org/download/sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21/add-on-theme-updater-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/theme-updater/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"rotor","schema_version":"1.0.0","name":"rotor","version":"1.2.0","tagline":"rotor","archive_hash":"sha256:f6ffa0ce4333220130d35235e958b0985edb56c86898ca6568e4296e7541e291","archive_size":39884,"archive_url":"https://extensions.blender.org/download/sha256:f6ffa0ce4333220130d35235e958b0985edb56c86898ca6568e4296e7541e291/add-on-rotor-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rotor/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"Blockout","schema_version":"1.0.0","name":"Blockout","version":"1.3.0","tagline":"Blockout","archive_hash":"sha256:a65a3b237b0eec60909bea1f0f68756c25fd19355521e9196baebcd9533190da","archive_size":140538,"archive_url":"https://extensions.blender.org/download/sha256:a65a3b237b0eec60909bea1f0f68756c25fd19355521e9196baebcd9533190da/add-on-blockout-v1.3.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blockout/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing node group from disk"},"tags":["Modeling","3D View","Mesh"]},{"id":"collection_switcher","schema_version":"1.0.0","name":"Collection Switcher","version":"1.4.0","tagline":"Switch visibility between sub-collections in switchers","archive_hash":"sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9","archive_size":1124111,"archive_url":"https://extensions.blender.org/download/sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9/add-on-collection-switcher-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-switcher/","maintainer":"Valentin-Komkov","license":["SPDX:GPL-3.0-or-later"]},{"id":"stb_section_toolbox","schema_version":"1.0.0","name":"Section Toolbox","version":"0.0.2","tagline":"Parametric section box and planar cuts with SVG DXF export","archive_hash":"sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7","archive_size":30173,"archive_url":"https://extensions.blender.org/download/sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7/add-on-stb-section-toolbox-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stb-section-toolbox/","maintainer":"Victor-Calixto","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG and DXF to disk"},"tags":["Modeling","Mesh","Import-Export","Object"]},{"id":"uv_maps_plus","schema_version":"1.0.0","name":"UV Maps+","version":"1.0.4","tagline":"Reorder UV Maps, Copy/Paste UVs, and exceed the 8-map limit","archive_hash":"sha256:e4c39900ee3c74b88c77c685ff8b9dafa00657c405c2d8c1a21d36bf08808638","archive_size":3585,"archive_url":"https://extensions.blender.org/download/sha256:e4c39900ee3c74b88c77c685ff8b9dafa00657c405c2d8c1a21d36bf08808638/add-on-uv-maps-plus-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-maps-plus/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","User Interface"]},{"id":"parallax_node","schema_version":"1.0.0","name":"Parallax Node","version":"1.1.0","tagline":"Adds parallax node for shader nodes","archive_hash":"sha256:94787c90229f5a051d27f9593c461f861829b1fe7e1dbdd5e6a78db67c5b6955","archive_size":10854,"archive_url":"https://extensions.blender.org/download/sha256:94787c90229f5a051d27f9593c461f861829b1fe7e1dbdd5e6a78db67c5b6955/add-on-parallax-node-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/parallax-node/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"easy_driver","schema_version":"1.0.0","name":"Easy Driver","version":"1.5.7","tagline":"Technical rigging made easier","archive_hash":"sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e","archive_size":41557,"archive_url":"https://extensions.blender.org/download/sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e/add-on-easy-driver-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/easy-driver/","maintainer":"NeoEmberArt","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"hifi_builder","schema_version":"1.0.0","name":"HiFi Architecture Builder v3.8","version":"3.8.0","tagline":"One click architecture builder for Blender with feet units","archive_hash":"sha256:c5b202c6a13af487c275bd95d3a15bd953a2973980c627b78580ba43dc573072","archive_size":73845,"archive_url":"https://extensions.blender.org/download/sha256:c5b202c6a13af487c275bd95d3a15bd953a2973980c627b78580ba43dc573072/add-on-hifi-builder-v3.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hifi-builder/","maintainer":"Malik-Nomi","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling"]},{"id":"secondary_language","schema_version":"1.0.0","name":"Secondary Language","version":"1.1.0","tagline":"Quickly switch to secondary language","archive_hash":"sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049","archive_size":3939,"archive_url":"https://extensions.blender.org/download/sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049/add-on-secondary-language-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/secondary-language/","maintainer":"mdlt7z","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"driver_helper","schema_version":"1.0.0","name":"DriverHelper","version":"1.0.1","tagline":"Helps generate driver formulas in the Shape Keys panel","archive_hash":"sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149","archive_size":2152,"archive_url":"https://extensions.blender.org/download/sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149/add-on-driver-helper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/driver-helper/","maintainer":"Zakmen150","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"format_rename","schema_version":"1.0.0","name":"Format Rename","version":"0.0.4","tagline":"Format Rename","archive_hash":"sha256:7b0af672120d5099aa47a3347db16c76fcb1aa73a3ad740a354bc13267aa7206","archive_size":19606,"archive_url":"https://extensions.blender.org/download/sha256:7b0af672120d5099aa47a3347db16c76fcb1aa73a3ad740a354bc13267aa7206/add-on-format-rename-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/format-rename/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Rigging"]},{"id":"layer_comp","schema_version":"1.0.0","name":"LayerComp","version":"1.1.2","tagline":"Layer-based compositing tool, similar to After Effects","archive_hash":"sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6","archive_size":580509,"archive_url":"https://extensions.blender.org/download/sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6/add-on-layer-comp-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/layer-comp/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Blend file from/to disk"},"tags":["Compositing","Node","Render"]},{"id":"select_123","schema_version":"1.0.0","name":"123 Select","version":"1.0.0","tagline":"Switch vertex edge face in Object Mode","archive_hash":"sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69","archive_size":2138,"archive_url":"https://extensions.blender.org/download/sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69/add-on-select-123-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-123/","maintainer":"Fisch_Tu","license":["SPDX:GPL-3.0-or-later"]},{"id":"ramp_generator","schema_version":"1.0.0","name":"Ramp Generator","version":"1.4.3","tagline":"Generate color ramps","archive_hash":"sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c","archive_size":3932,"archive_url":"https://extensions.blender.org/download/sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c/add-on-ramp-generator-v1.4.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ramp-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Compositing"]},{"id":"Timelapse_extension","schema_version":"1.0.0","name":"Timelapse","version":"1.0.1","tagline":"Take timed screenshots inside Blender","archive_hash":"sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1","archive_size":3049,"archive_url":"https://extensions.blender.org/download/sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1/add-on-timelapse-extension-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/timelapse-extension/","maintainer":"Silky-Renders","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export png/jpeg to disk"},"tags":["System"]},{"id":"blender_frutiger_aero_theme","schema_version":"1.0.0","name":"Frutiger Aero","version":"1.1.2","tagline":"This is a Frutiger Aero Theme for Blender","archive_hash":"sha256:17f169421231534f37f4316c336457e16569a1089ca8d13b38fc61a32a48a3b7","archive_size":7022,"archive_url":"https://extensions.blender.org/download/sha256:17f169421231534f37f4316c336457e16569a1089ca8d13b38fc61a32a48a3b7/theme-blender-frutiger-aero-theme-v1.1.2.zip","type":"theme","blender_version_min":"4.2.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/themes/blender-frutiger-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"markcam","schema_version":"1.0.0","name":"MarkCam","version":"2.5.0","tagline":"Quick camera-from-view + timeline marker tools","archive_hash":"sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd","archive_size":6762,"archive_url":"https://extensions.blender.org/download/sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd/add-on-markcam-v2.5.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/markcam/","maintainer":"SomRender","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation"]},{"id":"Work_n_rose","schema_version":"1.0.0","name":"Work_n_rose","version":"1.4.0","tagline":"Dark, High Contrast","archive_hash":"sha256:6b114a012d21ae7b78d93ef3739a27a9a972bb94f93564985f11c0b5d25d0a55","archive_size":6213,"archive_url":"https://extensions.blender.org/download/sha256:6b114a012d21ae7b78d93ef3739a27a9a972bb94f93564985f11c0b5d25d0a55/theme-work-n-rose-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/work-n-rose/","maintainer":"Nois3G4te","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"spa_sequencer","schema_version":"1.0.0","name":"SPArk Sequencer","version":"0.1.5","tagline":"Toolset to improve the sequence workflow in Blender","archive_hash":"sha256:88aa56f648c4ec06cf6b51267dcd4c274b041bdf364442abd5485c946084c85d","archive_size":75534,"archive_url":"https://extensions.blender.org/download/sha256:88aa56f648c4ec06cf6b51267dcd4c274b041bdf364442abd5485c946084c85d/add-on-spa-sequencer-v0.1.5.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/spa-sequencer/","maintainer":"TinyNick","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"compositor_file_output_replacer","schema_version":"1.0.0","name":"Compositor File Output Replacer","version":"1.3.0","tagline":"Find and replace text in File Output node paths","archive_hash":"sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757","archive_size":3158,"archive_url":"https://extensions.blender.org/download/sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757/add-on-compositor-file-output-replacer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/compositor-file-output-replacer/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Node"]},{"id":"miunau_slcamera","schema_version":"1.0.0","name":"Second Life-style camera","version":"1.0.2","tagline":"Second Life-style camera with ALT (option)/CTRL/SHIFT keys","archive_hash":"sha256:ebc33cc835623c83d842b794ae114d9efcfb4f99575672b7f1df948f0acbc1ca","archive_size":18594,"archive_url":"https://extensions.blender.org/download/sha256:ebc33cc835623c83d842b794ae114d9efcfb4f99575672b7f1df948f0acbc1ca/add-on-miunau-slcamera-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/miunau-slcamera/","maintainer":"miunau","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"blue_archive_theme","schema_version":"1.0.0","name":"Blue Archive","version":"1.2.0","tagline":"Theme inspired by Blue Archive game UI","archive_hash":"sha256:f28c6d1561788e7ab82bc2d7f3239179b7da584b28d01a36be7d7d0243bd56b8","archive_size":5156,"archive_url":"https://extensions.blender.org/download/sha256:f28c6d1561788e7ab82bc2d7f3239179b7da584b28d01a36be7d7d0243bd56b8/theme-blue-archive-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blue-archive-theme/","maintainer":"RAZUMNO","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Inspired By"]},{"id":"toolhub","schema_version":"1.0.0","name":"Tool Hub","version":"1.0.2","tagline":"This add-on searches and pins in a pie-menu","archive_hash":"sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2","archive_size":26285,"archive_url":"https://extensions.blender.org/download/sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2/add-on-toolhub-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toolhub/","maintainer":"Mr.Bir","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"use_for_rendering_plus","schema_version":"1.0.0","name":"View Layer Plus","version":"1.2.3","tagline":"Seamlessly extend View Layers management","archive_hash":"sha256:87801322622aa42b4b2bc7401449f5bcdd139cdf5e22ee30497d2bd2defb2a3d","archive_size":63207,"archive_url":"https://extensions.blender.org/download/sha256:87801322622aa42b4b2bc7401449f5bcdd139cdf5e22ee30497d2bd2defb2a3d/add-on-use-for-rendering-plus-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/use-for-rendering-plus/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","User Interface"]},{"id":"essential_brush_saver","schema_version":"1.0.0","name":"Essential Brush Saver","version":"1.1.3","tagline":"Automatically save and load essential brush settings","archive_hash":"sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0","archive_size":6069,"archive_url":"https://extensions.blender.org/download/sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0/add-on-essential-brush-saver-v1.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/essential-brush-saver/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load configuration data JSON file to/from disk"},"tags":["Paint","Sculpt","System"]},{"id":"SHIRAKUMO_rectangle_tools","schema_version":"1.0.0","name":"Rectangle Tools","version":"1.0.2","tagline":"Tools to more easily draw rectangles in edit mode","archive_hash":"sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b","archive_size":7349,"archive_url":"https://extensions.blender.org/download/sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b/add-on-shirakumo-rectangle-tools-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-rectangle-tools/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"tags":["Modeling"]},{"id":"bake_instance_animation","schema_version":"1.0.0","name":"Bake Instance Animation (烘焙几何节点实例动画)","version":"1.0.3","tagline":"Bake geometry nodes instance animation to keyframe animation","archive_hash":"sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4","archive_size":8497,"archive_url":"https://extensions.blender.org/download/sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4/add-on-bake-instance-animation-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-instance-animation/","maintainer":"ChyiZ_","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"Candymouse","schema_version":"1.0.0","name":"Candymouse","version":"1.1.0","tagline":"A neutral grey theme with colorful accents","archive_hash":"sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a","archive_size":5785,"archive_url":"https://extensions.blender.org/download/sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a/theme-candymouse-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/candymouse/","maintainer":"milomouse","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"shiva_img2mat","schema_version":"1.0.0","name":"Image to Mat","version":"1.0.0","tagline":"Generate material from image","archive_hash":"sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8","archive_size":3150,"archive_url":"https://extensions.blender.org/download/sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8/add-on-shiva-img2mat-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shiva-img2mat/","maintainer":"SHIVA","license":["SPDX:GPL-3.0-or-later"]},{"id":"easy_tree","schema_version":"1.0.0","name":"Easy Tree","version":"1.0.1","tagline":"Create one-click procedural trees","archive_hash":"sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff","archive_size":17712727,"archive_url":"https://extensions.blender.org/download/sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff/add-on-easy-tree-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/easy-tree/","maintainer":"Jacob-Johnston","license":["SPDX:GPL-3.0-or-later"]},{"id":"wheel_o_matic","schema_version":"1.0.0","name":"Wheel-O-Matic","version":"1.0.2","tagline":"Automatic wheel rotation in any direction","archive_hash":"sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db","archive_size":20178,"archive_url":"https://extensions.blender.org/download/sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db/add-on-wheel-o-matic-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wheel-o-matic/","maintainer":"TechArtToolBox","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"blender_game_tools","schema_version":"1.0.0","name":"Game Tools","version":"0.3.2","tagline":"Game Tools","archive_hash":"sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e","archive_size":249307,"archive_url":"https://extensions.blender.org/download/sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e/add-on-blender-game-tools-v0.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-game-tools/","maintainer":"Cremuss","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","UV","Mesh","Pipeline"]},{"id":"keyframe_selected","schema_version":"1.0.0","name":"Keyframe selected","version":"1.3.2","tagline":"Insert or delete keyframes on selected items","archive_hash":"sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b","archive_size":5942,"archive_url":"https://extensions.blender.org/download/sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b/add-on-keyframe-selected-v1.3.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/keyframe-selected/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"i32_the_mandelbrot_set","schema_version":"1.0.0","name":"i32 the Mandelbrot Set","version":"1.0.2","tagline":"The Mandelbrot set using only Integer Math and Bit Math Nodes","archive_hash":"sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540","archive_size":43557,"archive_url":"https://extensions.blender.org/download/sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540/add-on-i32-the-mandelbrot-set-v1.0.2.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/i32-the-mandelbrot-set/","maintainer":"Osipenkov+Art","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes"]},{"id":"node_tree_screenshot","schema_version":"1.0.0","name":"Node Tree Screenshot","version":"1.0.0","tagline":"Screenshot utility for large node trees","archive_hash":"sha256:5e606c4f8a5b43dbd2e4c65301d29fe5efbef106afef24e5f5b4cf0aea1093d8","archive_size":18319837,"archive_url":"https://extensions.blender.org/download/sha256:5e606c4f8a5b43dbd2e4c65301d29fe5efbef106afef24e5f5b4cf0aea1093d8/add-on-node-tree-screenshot-v1.0.0-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/node-tree-screenshot/","maintainer":"LukasTönne","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Node"]},{"id":"auto_sync_object_data_names","schema_version":"1.0.0","name":"Auto Sync Object Data Names","version":"1.0.0","tagline":"Automatically sync object and data names","archive_hash":"sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab","archive_size":19044,"archive_url":"https://extensions.blender.org/download/sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab/add-on-auto-sync-object-data-names-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sync-object-data-names/","maintainer":"GeeDoubleU","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Pipeline"]},{"id":"Tracker2Nuke","schema_version":"1.0.0","name":"Tracker to Nuke","version":"1.0.2","tagline":"Instantly export Blender tracking data to a Nuke Tracker node","archive_hash":"sha256:eea87ba74d436c231f6b49c5ef7b0b6d74baa2364543050379951dd44791bc19","archive_size":4555,"archive_url":"https://extensions.blender.org/download/sha256:eea87ba74d436c231f6b49c5ef7b0b6d74baa2364543050379951dd44791bc19/add-on-tracker2nuke-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tracker2nuke/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Import-Export"]},{"id":"polychase","schema_version":"1.0.0","name":"Polychase","version":"0.0.9","tagline":"Mesh Based Motion Tracking in Blender","archive_hash":"sha256:daceb06445e05b473524e7af3df249db7e3143f6f0a321b202312189d5a26a16","archive_size":2689110,"archive_url":"https://extensions.blender.org/download/sha256:daceb06445e05b473524e7af3df249db7e3143f6f0a321b202312189d5a26a16/add-on-polychase-v0.0.9-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polychase/","maintainer":"theartful","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write optical flow database to disk"},"platforms":["windows-x64"],"tags":["Animation","Tracking"]},{"id":"Bone_Aligner","schema_version":"1.0.0","name":"Bone Aligner","version":"1.1.4","tagline":"Quickly align two bones","archive_hash":"sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8","archive_size":2841,"archive_url":"https://extensions.blender.org/download/sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8/add-on-bone-aligner-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-aligner/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"perfectly_normal","schema_version":"1.0.0","name":"Perfectly Normal","version":"0.0.2","tagline":"Manipulate face-corner normals as mesh components","archive_hash":"sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56","archive_size":159727,"archive_url":"https://extensions.blender.org/download/sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56/add-on-perfectly-normal-v0.0.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/perfectly-normal/","maintainer":"Seth-Adam-Trowbridge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset resources from/to disk"},"tags":["Mesh","Modeling","Geometry Nodes"]},{"id":"beantextures","schema_version":"1.0.0","name":"Beantextures","version":"1.1.0","tagline":"Addon to help with 2D texture-based animations","archive_hash":"sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59","archive_size":23669,"archive_url":"https://extensions.blender.org/download/sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59/add-on-beantextures-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/beantextures/","maintainer":"daringcuteseal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import image textures to generated node group"},"tags":["Animation","Node","Rigging"]},{"id":"SmartScene_Toolkit","schema_version":"1.0.0","name":"SmartScene Toolkit","version":"1.4.0","tagline":"Toolkit for smarter parent, hierarchy, mirror operations","archive_hash":"sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60","archive_size":14746,"archive_url":"https://extensions.blender.org/download/sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60/add-on-smartscene-toolkit-v1.4.0.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/smartscene-toolkit/","maintainer":"Marcus997","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Scene"]},{"id":"surfacepsycho","schema_version":"1.0.0","name":"Surface Psycho","version":"0.9.1","tagline":"Precision Surface Design","archive_hash":"sha256:9443a8631572913d36a7dbf65d4f2f45fae8b7a282caf805c909003768d26835","archive_size":56744234,"archive_url":"https://extensions.blender.org/download/sha256:9443a8631572913d36a7dbf65d4f2f45fae8b7a282caf805c909003768d26835/add-on-surfacepsycho-v0.9.1-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/surfacepsycho/","maintainer":"RomainGuimbal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export CAD files"},"platforms":["windows-x64"],"tags":["Modeling","Import-Export","Geometry Nodes","Add Curve"]},{"id":"sync_material_viewport_color","schema_version":"1.0.0","name":"Sync Material Viewport Color","version":"1.0.2","tagline":"Sets diffuse color, metallic and roughness for viewport display","archive_hash":"sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9","archive_size":7318,"archive_url":"https://extensions.blender.org/download/sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9/add-on-sync-material-viewport-color-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-material-viewport-color/","maintainer":"Qiu-Feng","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Material"]},{"id":"Dim_Fog","schema_version":"1.0.0","name":"Dim Fog","version":"2.0.0","tagline":"Moody & Cozy theme","archive_hash":"sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c","archive_size":5195,"archive_url":"https://extensions.blender.org/download/sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c/theme-dim-fog-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dim-fog/","maintainer":"huleeb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"ccnc_animation_objects","schema_version":"1.0.0","name":"CCNCAnimationObjects","version":"1.2.3","tagline":"CNC simulation object editor with camera and spark effects","archive_hash":"sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82","archive_size":85342,"archive_url":"https://extensions.blender.org/download/sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82/add-on-ccnc-animation-objects-v1.2.3.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/ccnc-animation-objects/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export CSV files"},"tags":["Modeling","Animation","Camera"]},{"id":"VCS","schema_version":"1.0.0","name":"Vertex Color Selector","version":"1.0.9","tagline":"VertexColor Select tool","archive_hash":"sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4","archive_size":8745,"archive_url":"https://extensions.blender.org/download/sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4/add-on-vcs-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vcs/","maintainer":"D31","license":["SPDX:GPL-3.0-or-later"]},{"id":"script_manager_pro","schema_version":"1.0.0","name":"Script Manager Pro","version":"0.0.3","tagline":"Manage and run Python scripts with one-click access","archive_hash":"sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff","archive_size":3129,"archive_url":"https://extensions.blender.org/download/sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff/add-on-script-manager-pro-v0.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/script-manager-pro/","maintainer":"CemilBerk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reads and writes script metadata to a JSON file"}},{"id":"anim_auto_offset","schema_version":"1.0.0","name":"Animation Auto Offset","version":"1.1.1","tagline":"Update all keyframes relatively on transform changes","archive_hash":"sha256:bd79f5e2717de579efa6c10576ea05f847b48a16798a80ffb7e89418431a3a73","archive_size":14867,"archive_url":"https://extensions.blender.org/download/sha256:bd79f5e2717de579efa6c10576ea05f847b48a16798a80ffb7e89418431a3a73/add-on-anim-auto-offset-v1.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-auto-offset/","maintainer":"Marek-Zając","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"auto_wrinkle_map","schema_version":"1.0.0","name":"Auto Wrinkle Map","version":"0.0.7","tagline":"Helps you to create wrinkle maps driven from bones in one click","archive_hash":"sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a","archive_size":10763,"archive_url":"https://extensions.blender.org/download/sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a/add-on-auto-wrinkle-map-v0.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/auto-wrinkle-map/","maintainer":"Hattiffnat","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Material","Node","Animation"]},{"id":"node_void_keeper","schema_version":"1.0.0","name":"NodeVoidKeeper","version":"1.0.1","tagline":"Keeps your nodes centered at the origin, so you can't lose them","archive_hash":"sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d","archive_size":15610,"archive_url":"https://extensions.blender.org/download/sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d/add-on-node-void-keeper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-void-keeper/","maintainer":"MagnumVD","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"autocam","schema_version":"1.0.0","name":"AutoCam","version":"2.0.6","tagline":"Intuitive camera tools, built for artists","archive_hash":"sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132","archive_size":67410,"archive_url":"https://extensions.blender.org/download/sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132/add-on-autocam-v2.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autocam/","maintainer":"RenderRides","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation","Rigging","Render","Add Curve"]},{"id":"additional_batch_rename","schema_version":"1.0.0","name":"Additional Batch Rename","version":"1.1.1","tagline":"Additional batch rename operators","archive_hash":"sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11","archive_size":15993,"archive_url":"https://extensions.blender.org/download/sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11/add-on-additional-batch-rename-v1.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/additional-batch-rename/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Object"]},{"id":"proceduraltiles","schema_version":"1.0.0","name":"Procedural Tiles","version":"0.0.4","tagline":"A library of shader nodes. +100 NEW NODES","archive_hash":"sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30","archive_size":4261663,"archive_url":"https://extensions.blender.org/download/sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30/add-on-proceduraltiles-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/proceduraltiles/","maintainer":"Aisun-Tang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Material"]},{"id":"simple_gcode_importer","schema_version":"1.0.0","name":"Simple Gcode Importer","version":"1.1.1","tagline":"Import Gcode to blender as paths","archive_hash":"sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29","archive_size":2397,"archive_url":"https://extensions.blender.org/download/sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29/add-on-simple-gcode-importer-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-gcode-importer/","maintainer":"kmnunley","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"controller_link","schema_version":"1.0.0","name":"Controller Link","version":"1.0.1","tagline":"Use a gamepad as input","archive_hash":"sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f","archive_size":16281033,"archive_url":"https://extensions.blender.org/download/sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f/add-on-controller-link-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/controller-link/","maintainer":"globglob3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"glare_node_controller","schema_version":"1.0.0","name":"Glare Node Controller","version":"2.3.3","tagline":"panel to control Glare","archive_hash":"sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68","archive_size":3563,"archive_url":"https://extensions.blender.org/download/sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68/add-on-glare-node-controller-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/glare-node-controller/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Render"]},{"id":"dragonff","schema_version":"1.0.0","name":"DragonFF","version":"1.1.0","tagline":"Add-on to edit RenderWare Formats (.dff, .txd, .col)","archive_hash":"sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e","archive_size":225580,"archive_url":"https://extensions.blender.org/download/sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e/add-on-dragonff-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragonff/","maintainer":"Parik","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export DFF/TXD/COL/IPL/IDE from/to disk"},"tags":["Import-Export","3D View","Mesh","Material"]},{"id":"maya_pivot","schema_version":"1.0.0","name":"Maya Pivot","version":"1.0.0","tagline":"Implements a Maya-like pivot system in Blender","archive_hash":"sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2","archive_size":16036,"archive_url":"https://extensions.blender.org/download/sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2/add-on-maya-pivot-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maya-pivot/","maintainer":"Zinkenite","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"Blueprint_Paper_Theme","schema_version":"1.0.0","name":"Blueprint_Paper_Theme","version":"2.1.1","tagline":"Technical Drawing","archive_hash":"sha256:1f1e2654df0a4e91e00f8744e34d395000200e227b419b4b49245cbf851633ac","archive_size":5773,"archive_url":"https://extensions.blender.org/download/sha256:1f1e2654df0a4e91e00f8744e34d395000200e227b419b4b49245cbf851633ac/theme-blueprint-paper-theme-v2.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-paper-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"jiggle_physics","schema_version":"1.0.0","name":"Jiggle Physics","version":"4.5.1","tagline":"Add stretchy jiggle physics to your Blender rigs","archive_hash":"sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab","archive_size":33411,"archive_url":"https://extensions.blender.org/download/sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab/add-on-jiggle-physics-v4.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/jiggle-physics/","maintainer":"naelstrof","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paws_bakery","schema_version":"1.0.0","name":"PAWS: Bakery","version":"0.5.1","tagline":"Texture Baking tools for Game-Ready pipeline by Pawsgineer","archive_hash":"sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0","archive_size":165829,"archive_url":"https://extensions.blender.org/download/sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0/add-on-paws-bakery-v0.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paws-bakery/","maintainer":"Steve-Paws","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","Pipeline","Material"]},{"id":"MakePlanarFacesPlus","schema_version":"1.0.0","name":"Make Planar Faces Plus","version":"1.0.6","tagline":"Powerful Make Planar Faces Operator","archive_hash":"sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a","archive_size":257221,"archive_url":"https://extensions.blender.org/download/sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a/add-on-makeplanarfacesplus-v1.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/makeplanarfacesplus/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Mesh"]},{"id":"shape_key_mirror_plus","schema_version":"1.0.0","name":"Shape Key Mirror Plus","version":"1.9.0","tagline":"Mirror shape key deltas across symmetric axes","archive_hash":"sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339","archive_size":17431,"archive_url":"https://extensions.blender.org/download/sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339/add-on-shape-key-mirror-plus-v1.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-mirror-plus/","maintainer":"Ciyorie","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"terrainmixer","schema_version":"1.0.0","name":"Terrain Mixer","version":"3.1.0","tagline":"Easy to use shader-based terrain generator for Cycles","archive_hash":"sha256:320687ea52fad7ee9356014892ddf7df2e0a80bd78276cb5853db15356c74c16","archive_size":52567582,"archive_url":"https://extensions.blender.org/download/sha256:320687ea52fad7ee9356014892ddf7df2e0a80bd78276cb5853db15356c74c16/add-on-terrainmixer-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/terrainmixer/","maintainer":"zets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Easily replace default image files with your own","network":"Documentation and tutorials available online"},"tags":["Add Mesh","Bake","Material"]},{"id":"Viewport_stabilizer","schema_version":"1.0.0","name":"Viewport stabilizer","version":"1.0.2","tagline":"Stabilise 3d point on your screen","archive_hash":"sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1","archive_size":5207,"archive_url":"https://extensions.blender.org/download/sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1/add-on-viewport-stabilizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-stabilizer/","maintainer":"Yaroslav_Yushk","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Tracking"]},{"id":"multiple_camera_render","schema_version":"1.0.0","name":"Multiple Camera Render","version":"4.4.0","tagline":"Sequential rendering from multiple cameras","archive_hash":"sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441","archive_size":135372,"archive_url":"https://extensions.blender.org/download/sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441/add-on-multiple-camera-render-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multiple-camera-render/","maintainer":"ivan-perevala","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Writing execution log files inside extension directory"},"tags":["Render","Animation","Camera","3D View"]},{"id":"modifer_stack_manager","schema_version":"1.0.0","name":"Modifier Stack Manager","version":"1.1.1","tagline":"A UI List implementation for Blender's modifier stack","archive_hash":"sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996","archive_size":4750,"archive_url":"https://extensions.blender.org/download/sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996/add-on-modifer-stack-manager-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifer-stack-manager/","maintainer":"salaivv","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"cloud_midnight_teal","schema_version":"1.0.0","name":"Cloud Guy's Theme","version":"1.0.3","tagline":"Custom theme made by me and a friend","archive_hash":"sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816","archive_size":5920,"archive_url":"https://extensions.blender.org/download/sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816/theme-cloud-midnight-teal-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cloud-midnight-teal/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Cad_measure_extension","schema_version":"1.0.0","name":"Cad_Dimensions","version":"2.0.0","tagline":"Extension for a new measuring system","archive_hash":"sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb","archive_size":251303,"archive_url":"https://extensions.blender.org/download/sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb/add-on-cad-measure-extension-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cad-measure-extension/","maintainer":"Mr.Nobody3d","license":["SPDX:GPL-3.0-or-later"]},{"id":"Bbrush","schema_version":"1.0.0","name":"Bbrush","version":"1.4.7","tagline":"Sculpting using only a pen and keyboard","archive_hash":"sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96","archive_size":543050,"archive_url":"https://extensions.blender.org/download/sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96/add-on-bbrush-v1.4.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bbrush/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Keymap file load, View navigation texture load"},"tags":["Sculpt"]},{"id":"geonode_to_shapekey","schema_version":"1.0.0","name":"Geonode To Shapekey","version":"1.1.0","tagline":"Convert geometry nodes to shapekeys. Useful for glTF export","archive_hash":"sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc","archive_size":5068,"archive_url":"https://extensions.blender.org/download/sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc/add-on-geonode-to-shapekey-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-to-shapekey/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes","Pipeline"]},{"id":"nocturna_theme","schema_version":"1.0.0","name":"Nocturna","version":"1.2.1","tagline":"Nocturna - A Dark Theme for Blender","archive_hash":"sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7","archive_size":5825,"archive_url":"https://extensions.blender.org/download/sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7/theme-nocturna-theme-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/nocturna-theme/","maintainer":"AlejandroSQR","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"capture_thumbnails_from_viewport","schema_version":"1.0.0","name":"Asset Browser: Capture Thumbnail from Viewport","version":"1.0.3","tagline":"Add new thumbnails for you asset based on the current viewport","archive_hash":"sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6","archive_size":1759,"archive_url":"https://extensions.blender.org/download/sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6/add-on-capture-thumbnails-from-viewport-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/capture-thumbnails-from-viewport/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create a .png in temp folder"},"tags":["Pipeline"]},{"id":"skin_weights_copypaster","schema_version":"1.0.0","name":"Skin Weights Copypaster","version":"0.3.3","tagline":"Copies skin weights from one vertex to selection","archive_hash":"sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3","archive_size":16850,"archive_url":"https://extensions.blender.org/download/sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3/add-on-skin-weights-copypaster-v0.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-weights-copypaster/","maintainer":"Ihor-Spasivskyi","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"MAD","schema_version":"1.0.0","name":"MAD (Microphone Audio Driver)","version":"0.1.5","tagline":"Use your Microphone as an Animation Driver in Blender","archive_hash":"sha256:3a6a47654e4a4f80eb242c10772f75d675de863217119c4010a07cb7b39dfd52","archive_size":663866,"archive_url":"https://extensions.blender.org/download/sha256:3a6a47654e4a4f80eb242c10772f75d675de863217119c4010a07cb7b39dfd52/add-on-mad-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mad/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"permissions":{"microphone":"Capture audio input for real-time animation"},"tags":["Rigging","Animation"]},{"id":"iocgpoly_lip_sync","schema_version":"1.0.0","name":"Lip Sync","version":"2.3.2","tagline":"Automatic lip sync for your Blender models","archive_hash":"sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3","archive_size":37476376,"archive_url":"https://extensions.blender.org/download/sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3/add-on-iocgpoly-lip-sync-v2.3.2-windows-x64.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/iocgpoly-lip-sync/","maintainer":"Charley3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Models / Extract libs to disk","network":"Need to download Voices Models to enable lip sync"},"platforms":["windows-x64"],"tags":["Animation","Sequencer"]},{"id":"FakeBones","schema_version":"1.0.0","name":"FakeBones","version":"1.0.7","tagline":"enhance armature visualization","archive_hash":"sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1","archive_size":4158,"archive_url":"https://extensions.blender.org/download/sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1/add-on-fakebones-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fakebones/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Steam","schema_version":"1.0.0","name":"Steam","version":"2.0.0","tagline":"Inspired by the old Steam UI. ","archive_hash":"sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98","archive_size":5570,"archive_url":"https://extensions.blender.org/download/sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98/theme-steam-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/steam/","maintainer":"Novaxine","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"AnimCurveSorter","schema_version":"1.0.0","name":"Anim Curve Sorter","version":"1.0.1","tagline":"Easily organise your animation curves","archive_hash":"sha256:240d33165889039d96828f22720873bddad96c602b0914929cfbd2ddca191b9f","archive_size":4902,"archive_url":"https://extensions.blender.org/download/sha256:240d33165889039d96828f22720873bddad96c602b0914929cfbd2ddca191b9f/add-on-animcurvesorter-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animcurvesorter/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ccustomnodes","schema_version":"1.0.0","name":"Object Utility Nodes","version":"1.0.3","tagline":"Custom nodes in new node editor","archive_hash":"sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec","archive_size":2710932,"archive_url":"https://extensions.blender.org/download/sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec/add-on-ccustomnodes-v1.0.3-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ccustomnodes/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save colorwheel pictures from/to temp folder"},"platforms":["windows-x64"],"tags":["Node"]},{"id":"easymesh_batch_exporter","schema_version":"1.0.0","name":"EasyMesh Batch Exporter","version":"1.5.0","tagline":"Streamlined mesh export for game development workflows","archive_hash":"sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6","archive_size":84118,"archive_url":"https://extensions.blender.org/download/sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6/add-on-easymesh-batch-exporter-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easymesh-batch-exporter/","maintainer":"spec-arte","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export mesh files to the specified directory"},"tags":["Import-Export"]},{"id":"SuperDuperBatchExporter","schema_version":"1.0.0","name":"Super Duper Batch Exporter","version":"2.7.1","tagline":"One click export to multiple files","archive_hash":"sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6","archive_size":27233,"archive_url":"https://extensions.blender.org/download/sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6/add-on-superduperbatchexporter-v2.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/superduperbatchexporter/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk & create subdirectories in output directory"},"tags":["Import-Export"]},{"id":"measure_and_scale","schema_version":"1.0.0","name":"Measure and Scale","version":"1.1.6","tagline":"Measure and Scale object uniformaly","archive_hash":"sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5","archive_size":9679,"archive_url":"https://extensions.blender.org/download/sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5/add-on-measure-and-scale-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/measure-and-scale/","maintainer":"Belaid-ZIANE","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"Enhanced_Top_Bar","schema_version":"1.0.0","name":"Enhanced Top Bar","version":"1.0.4","tagline":"Easy access to your ViewLayers rendering properties","archive_hash":"sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5","archive_size":6863,"archive_url":"https://extensions.blender.org/download/sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5/add-on-enhanced-top-bar-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/enhanced-top-bar/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Individual_Camera_Properties","schema_version":"1.0.0","name":"Individual Camera Properties","version":"0.0.6","tagline":"Resolution, Scene and Render properties for each camera instance","archive_hash":"sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1","archive_size":5858,"archive_url":"https://extensions.blender.org/download/sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1/add-on-individual-camera-properties-v0.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/individual-camera-properties/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"DorchaLiath","schema_version":"1.0.0","name":"Dorcha Liath","version":"5.0.1","tagline":"Dark Grey","archive_hash":"sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d","archive_size":5206,"archive_url":"https://extensions.blender.org/download/sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d/theme-dorchaliath-v5.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dorchaliath/","maintainer":"rory-fly","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"QuickCatalogs","schema_version":"1.0.0","name":"Quick Catalogs ( Asset Browser )","version":"1.0.1","tagline":"Make Asset Catalogs from selected Collections","archive_hash":"sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4","archive_size":2298,"archive_url":"https://extensions.blender.org/download/sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4/add-on-quickcatalogs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickcatalogs/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"import_export_skin_weights","schema_version":"1.0.0","name":"Import Export Skin Weights","version":"1.0.1","tagline":"Import and export skin weights for Blender","archive_hash":"sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412","archive_size":16987,"archive_url":"https://extensions.blender.org/download/sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412/add-on-import-export-skin-weights-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-export-skin-weights/","maintainer":"Nguyen-Phuc-Nguyen","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Import-Export"]},{"id":"menace","schema_version":"1.0.0","name":"Menace","version":"2.0.0","tagline":"The official HugeMenace theme for Blender","archive_hash":"sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d","archive_size":5448,"archive_url":"https://extensions.blender.org/download/sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d/theme-menace-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/menace/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"solid_boot","schema_version":"1.0.0","name":"Solid Boot","version":"1.1.0","tagline":"3D Views loaded in Solid Mode rather Material Preview","archive_hash":"sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa","archive_size":15759,"archive_url":"https://extensions.blender.org/download/sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa/add-on-solid-boot-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/solid-boot/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"neon_nexus","schema_version":"1.0.0","name":"Neon Nexus","version":"1.3.0","tagline":"A futuristic neon theme for Blender","archive_hash":"sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a","archive_size":6154,"archive_url":"https://extensions.blender.org/download/sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a/theme-neon-nexus-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neon-nexus/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"SaveSelection","schema_version":"1.0.0","name":"Save Selection","version":"1.0.5","tagline":"Save selected objects in Blender Format","archive_hash":"sha256:615594aed9531a69fb49db5f928888886812f5ed83a63974a694a21f0e8f769e","archive_size":3694,"archive_url":"https://extensions.blender.org/download/sha256:615594aed9531a69fb49db5f928888886812f5ed83a63974a694a21f0e8f769e/add-on-saveselection-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/saveselection/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"grey_orange","schema_version":"1.0.0","name":"Grey Orange","version":"3.0.1","tagline":"Dark neutral grey theme with orange accents","archive_hash":"sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085","archive_size":6581,"archive_url":"https://extensions.blender.org/download/sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085/theme-grey-orange-v3.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/grey-orange/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neutro_Laranja","schema_version":"1.0.0","name":"Neutro Laranja","version":"2.0.0","tagline":"Light and Orange","archive_hash":"sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7","archive_size":6441,"archive_url":"https://extensions.blender.org/download/sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7/theme-neutro-laranja-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutro-laranja/","maintainer":"Push","license":["SPDX:GPL-3.0-or-later"]},{"id":"quickj","schema_version":"1.0.0","name":"Quick J ( Connect Vertex Path )","version":"1.1.1","tagline":"Quickly connect vertices under the cursor","archive_hash":"sha256:2964d3a20b9e9f7f2fb42b9d67f81f22dccf5644ffb8d1e08eec6c0e8f1c3fff","archive_size":2413,"archive_url":"https://extensions.blender.org/download/sha256:2964d3a20b9e9f7f2fb42b9d67f81f22dccf5644ffb8d1e08eec6c0e8f1c3fff/add-on-quickj-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickj/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"Batch_Material_Helper","schema_version":"1.0.0","name":"Batch Material Helper","version":"1.0.3","tagline":"Helps you quickly modify materials","archive_hash":"sha256:9d8065342b815a4352399273ff20ad918173cb0d56bca1ec4f6a4cfa8268a4af","archive_size":4325,"archive_url":"https://extensions.blender.org/download/sha256:9d8065342b815a4352399273ff20ad918173cb0d56bca1ec4f6a4cfa8268a4af/add-on-batch-material-helper-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-material-helper/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"UV_Flatten_Tool","schema_version":"1.0.0","name":"UV_Flatten_Tool","version":"1.0.7","tagline":"Flatten mesh to active UV coordinates and store as shape key","archive_hash":"sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b","archive_size":2774,"archive_url":"https://extensions.blender.org/download/sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b/add-on-uv-flatten-tool-v1.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/uv-flatten-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"fractal_family","schema_version":"1.0.0","name":"Fractal Family","version":"1.1.2","tagline":"Create fractal curves with ease using complex integer lattices","archive_hash":"sha256:ee63ecf002d45d226f7b279e30ab566b356c955758b9a2650c22605a7d340c30","archive_size":17046,"archive_url":"https://extensions.blender.org/download/sha256:ee63ecf002d45d226f7b279e30ab566b356c955758b9a2650c22605a7d340c30/add-on-fractal-family-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fractal-family/","maintainer":"imare32","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"apply_modifiers_with_shape_keys","schema_version":"1.0.0","name":"Apply modifier with shape keys","version":"1.0.4","tagline":"Applies modifiers on objects even if they have shape keys","archive_hash":"sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab","archive_size":19128,"archive_url":"https://extensions.blender.org/download/sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab/add-on-apply-modifiers-with-shape-keys-v1.0.4.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/apply-modifiers-with-shape-keys/","maintainer":"Orange Turbine","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Modeling","Rigging"]},{"id":"animation_transform_offset","schema_version":"1.0.0","name":"Animation Transform Offset","version":"1.0.0","tagline":"Transform objects and offset their animations in one go","archive_hash":"sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc","archive_size":15793,"archive_url":"https://extensions.blender.org/download/sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc/add-on-animation-transform-offset-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/animation-transform-offset/","maintainer":"softyoda","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"multi_user","schema_version":"1.0.0","name":"Multiuser","version":"0.6.10","tagline":"Enable real-time collaborative workflow inside blender","archive_hash":"sha256:2a8d25c8f6e6c3233c9d4e6e8f742306efeb2829aa8ce0e049f9b1af3b2e93c3","archive_size":2226577,"archive_url":"https://extensions.blender.org/download/sha256:2a8d25c8f6e6c3233c9d4e6e8f742306efeb2829aa8ce0e049f9b1af3b2e93c3/add-on-multi-user-v0.6.10-windows-x64.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/multi-user/","maintainer":"slumber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Need to sync scene data to server"},"platforms":["windows-x64"]},{"id":"references_overlays","schema_version":"1.0.0","name":"References Overlays","version":"2.2.8","tagline":"PureRef for Blender. You can add references in the 3D Viewport","archive_hash":"sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010","archive_size":14729,"archive_url":"https://extensions.blender.org/download/sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010/add-on-references-overlays-v2.2.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/references-overlays/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import BMP/TIFF/PNG/JPG/JPEG/GIF/MP4/WEBM from/to disk","clipboard":"Paste image from the Clipboard"},"tags":["3D View","User Interface"]},{"id":"altview","schema_version":"1.0.0","name":"AltView","version":"1.0.1","tagline":"Switch views + lock/unlock rotation","archive_hash":"sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60","archive_size":4561,"archive_url":"https://extensions.blender.org/download/sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60/add-on-altview-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/altview/","maintainer":"Iurii-Tiuzhin","license":["SPDX:GPL-3.0-or-later"]},{"id":"textures_autosave","schema_version":"1.0.0","name":"Autosave Textures","version":"1.0.1","tagline":"Save all modified image textures on blendfile (auto-)save","archive_hash":"sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938","archive_size":2642,"archive_url":"https://extensions.blender.org/download/sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938/add-on-textures-autosave-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/textures-autosave/","maintainer":"mont29","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write image files to disk"},"tags":["Pipeline","Paint"]},{"id":"remove_static_fcurves","schema_version":"1.0.0","name":"Remove Static FCurves","version":"0.2.1","tagline":"Clean up animation channels that have no data","archive_hash":"sha256:b620306230996b1bd1949e74ec63ee9b05ff9a9f90c6baeb5c4fc23cb343eee4","archive_size":2331,"archive_url":"https://extensions.blender.org/download/sha256:b620306230996b1bd1949e74ec63ee9b05ff9a9f90c6baeb5c4fc23cb343eee4/add-on-remove-static-fcurves-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/remove-static-fcurves/","maintainer":"lokimckay","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paint_system","schema_version":"1.0.0","name":"Paint System","version":"2.1.3","tagline":"Addon for adding painting system to blender","archive_hash":"sha256:b803c07428f1a20551fdc67940dbfb7b9836497b13e4d97421326b745b60c2e9","archive_size":30147999,"archive_url":"https://extensions.blender.org/download/sha256:b803c07428f1a20551fdc67940dbfb7b9836497b13e4d97421326b745b60c2e9/add-on-paint-system-v2.1.3-linux-x64-windows-x64-macos-x64-macos-arm64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-system/","maintainer":"Tawan-Sunflower","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and saving images / detecting image editors","network":"Update donation information"},"platforms":["linux-x64","windows-x64","macos-x64","macos-arm64","windows-arm64"],"tags":["Paint"]},{"id":"pattern_collections","schema_version":"1.0.0","name":"Pattern Collections","version":"1.1.0","tagline":"Sort collections by anything","archive_hash":"sha256:43ab173296098120d7a2c2fd6d192923b920c30091cf161246bfb936cd98e74f","archive_size":32294,"archive_url":"https://extensions.blender.org/download/sha256:43ab173296098120d7a2c2fd6d192923b920c30091cf161246bfb936cd98e74f/add-on-pattern-collections-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pattern-collections/","maintainer":"Martin-Lorentzon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk to provide JSON File I/O"},"tags":["Pipeline","Scene"]},{"id":"PlaceHelper","schema_version":"1.0.0","name":"Place Helper","version":"1.3.8","tagline":"Easily place objects in Blender","archive_hash":"sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16","archive_size":66786,"archive_url":"https://extensions.blender.org/download/sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16/add-on-placehelper-v1.3.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/placehelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Object"]},{"id":"headsup_warnings","schema_version":"1.0.0","name":"HeadsUp Warnings","version":"1.1.0","tagline":"Display UI warnings to avoid and resolve common mistakes","archive_hash":"sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880","archive_size":33611,"archive_url":"https://extensions.blender.org/download/sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880/add-on-headsup-warnings-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/headsup-warnings/","maintainer":"ManuelLuellau","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check filepaths to validate if Textures are missing"},"tags":["3D View","Compositing","Render"]},{"id":"unlooped","schema_version":"1.0.0","name":"Unlooped","version":"1.0.1","tagline":"Prevent Blender from looping scene playback","archive_hash":"sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4","archive_size":14253,"archive_url":"https://extensions.blender.org/download/sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4/add-on-unlooped-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/unlooped/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Blend95","schema_version":"1.0.0","name":"Blend95","version":"0.9.9","tagline":"90s, xp, old","archive_hash":"sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f","archive_size":5908,"archive_url":"https://extensions.blender.org/download/sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f/theme-blend95-v0.9.9.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/blend95/","maintainer":"romanasdf1","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Quick_Studio_Light","schema_version":"1.0.0","name":"Quick Studio Light","version":"1.1.1","tagline":"Simple and fast lighting with improved selection","archive_hash":"sha256:3fe68bd51912319afc821e9e965c051781a45b00f52001c85fe040b783767217","archive_size":71955,"archive_url":"https://extensions.blender.org/download/sha256:3fe68bd51912319afc821e9e965c051781a45b00f52001c85fe040b783767217/add-on-quick-studio-light-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-studio-light/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"hyperfy_tools","schema_version":"1.0.0","name":"Hyperfy Tools","version":"1.5.0","tagline":"Tools for creating Hyperfy assets","archive_hash":"sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e","archive_size":25418,"archive_url":"https://extensions.blender.org/download/sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e/add-on-hyperfy-tools-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hyperfy-tools/","maintainer":"HowieDuhzit","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export GLB files from/to disk"},"tags":["Physics","Import-Export","3D View","Game Engine","Object"]},{"id":"typst_importer","schema_version":"1.0.0","name":"Typst Importer","version":"0.2.4","tagline":"Render mathematical equations and code blocks","archive_hash":"sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081","archive_size":25708353,"archive_url":"https://extensions.blender.org/download/sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081/add-on-typst-importer-v0.2.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/typst-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"node_align","schema_version":"1.0.0","name":"Node Align(节点对齐)","version":"3.2.0","tagline":"Shift+Q|Ctrl+Q Pie menu-Align Nodes in Multiple Ways(多种方式对齐节点)","archive_hash":"sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8","archive_size":24154,"archive_url":"https://extensions.blender.org/download/sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8/add-on-node-align-v3.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-align/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"gp_tween","schema_version":"1.0.0","name":"GP Tween (c)","version":"2.4.0","tagline":"Quick Grease Pencil Tweening","archive_hash":"sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25","archive_size":169988,"archive_url":"https://extensions.blender.org/download/sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25/add-on-gp-tween-v2.4.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-tween/","maintainer":"cosmosmythos","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write GP Tween nodegroup asset from/to disk","clipboard":"Copy and Paste GP Tween nodegroup"},"tags":["Grease Pencil","Animation","Geometry Nodes"]},{"id":"time_tracker","schema_version":"1.0.0","name":"Time Tracker","version":"0.2.4","tagline":"This extension tracks your time spent in blend files","archive_hash":"sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9","archive_size":23923,"archive_url":"https://extensions.blender.org/download/sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9/add-on-time-tracker-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-tracker/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save timing data to disk"},"tags":["System"]},{"id":"simple_audio_visualizer","schema_version":"1.0.0","name":"Simple Audio Visualizer","version":"1.2.0","tagline":"Creates a simple audio visualizer","archive_hash":"sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190","archive_size":6391,"archive_url":"https://extensions.blender.org/download/sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190/add-on-simple-audio-visualizer-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-audio-visualizer/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import audio from disk"},"tags":["Animation"]},{"id":"easy_clouds","schema_version":"1.0.0","name":"Easy Clouds","version":"2.2.0","tagline":"Procedural clouds that are easy to customize","archive_hash":"sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd","archive_size":10614,"archive_url":"https://extensions.blender.org/download/sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd/add-on-easy-clouds-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easy-clouds/","maintainer":"LunarKitten","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Add Mesh","Node"]},{"id":"MustardSimplify","schema_version":"1.0.0","name":"Mustard Simplify","version":"2025.4.1","tagline":"Tool to simplify scenes for improved viewport performance","archive_hash":"sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1","archive_size":42341,"archive_url":"https://extensions.blender.org/download/sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1/add-on-mustardsimplify-v2025.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mustardsimplify/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"QuickTools_v3","schema_version":"1.0.0","name":"Grease Pencil QuickTools_v3","version":"1.1.5","tagline":"Grease Pencil Toobar in N sidebar with auto mode switch","archive_hash":"sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3","archive_size":53225,"archive_url":"https://extensions.blender.org/download/sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3/add-on-quicktools-v3-v1.1.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/quicktools-v3/","maintainer":"PongBuster","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"named_attribute_list","schema_version":"1.0.0","name":"Named Attribute List(命名属性列表)","version":"2.8.2","tagline":"Quickly Add Attribute Node in GN and Shader(几何节点和材质里快速添加属性节点)","archive_hash":"sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772","archive_size":98415,"archive_url":"https://extensions.blender.org/download/sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772/add-on-named-attribute-list-v2.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/named-attribute-list/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"CurveFitting","schema_version":"1.0.0","name":"Curve Fitting","version":"0.3.0","tagline":"Smooth out uneven vertex arrangements keeping original shape","archive_hash":"sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a","archive_size":22449,"archive_url":"https://extensions.blender.org/download/sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a/add-on-curvefitting-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curvefitting/","maintainer":"zuda77","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"bbone_Tools","schema_version":"1.0.0","name":"the bendybones toolkit","version":"1.6.0","tagline":"a simple toolkit for rigging with bendybones","archive_hash":"sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79","archive_size":4337,"archive_url":"https://extensions.blender.org/download/sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79/add-on-bbone-tools-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bbone-tools/","maintainer":"Felipe-G","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"viewtools","schema_version":"1.0.0","name":"ViewTools","version":"1.0.0","tagline":"Essential Viewport tools for industrial workflows","archive_hash":"sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922","archive_size":4857,"archive_url":"https://extensions.blender.org/download/sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922/add-on-viewtools-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/viewtools/","maintainer":"Ishara-Sandeepa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","Mesh","Object"]},{"id":"Coloraide","schema_version":"1.0.0","name":"Coloraide","version":"1.5.1","tagline":"Advanced color picking and color management tools","archive_hash":"sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad","archive_size":75163,"archive_url":"https://extensions.blender.org/download/sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad/add-on-coloraide-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/coloraide/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Grease Pencil","3D View"]},{"id":"persiantype","schema_version":"1.0.0","name":"Persian type","version":"2.0.0","tagline":"Add Persian/Arabic type directly to Blender","archive_hash":"sha256:1e8558da4a7a979d0e19f6979342de787c0a224b9d18db918d59fefe4963f0c8","archive_size":1951698,"archive_url":"https://extensions.blender.org/download/sha256:1e8558da4a7a979d0e19f6979342de787c0a224b9d18db918d59fefe4963f0c8/add-on-persiantype-v2.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/persiantype/","maintainer":"Damyar","license":["SPDX:GPL-3.0-or-later"]},{"id":"group_input_helper","schema_version":"1.0.0","name":"Group input helper(节点组输入助手)","version":"2.9.3","tagline":"Qucik add/split/merge Group Input node/socket(快速添加拆分合并移动组输入节点接口)","archive_hash":"sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb","archive_size":76074,"archive_url":"https://extensions.blender.org/download/sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb/add-on-group-input-helper-v2.9.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/group-input-helper/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"shutdown_after_render","schema_version":"1.0.0","name":"Shutdown after render","version":"0.4.0","tagline":"Automatically shuts down your PC after your render finishes","archive_hash":"sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a","archive_size":4087,"archive_url":"https://extensions.blender.org/download/sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a/add-on-shutdown-after-render-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shutdown-after-render/","maintainer":"David-Bühler","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"has_paint_layers","schema_version":"1.0.0","name":"HAS Paint Layers","version":"0.8.93","tagline":"Layers for texture painting","archive_hash":"sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255","archive_size":68078,"archive_url":"https://extensions.blender.org/download/sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255/add-on-has-paint-layers-v0.8.93.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/has-paint-layers/","maintainer":"Hirourk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store temporary images"},"tags":["Paint","Bake"]},{"id":"shapekey_keeper","schema_version":"1.0.0","name":"SKkeeper","version":"1.8.2","tagline":"Applies modifiers while keeping shapekeys and drivers","archive_hash":"sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678","archive_size":20217,"archive_url":"https://extensions.blender.org/download/sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678/add-on-shapekey-keeper-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapekey-keeper/","maintainer":"Nidus","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"RetroGrey","schema_version":"1.0.0","name":"RetroGrey","version":"1.3.2","tagline":"Theme inspired by the grey color of 90s computer devices","archive_hash":"sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38","archive_size":6800,"archive_url":"https://extensions.blender.org/download/sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38/theme-retrogrey-v1.3.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/retrogrey/","maintainer":"Oskar_Wasiluk","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"datablock_utils","schema_version":"1.0.0","name":"Data-Block Utilities","version":"1.2.3","tagline":"Show users, merge duplicates, find similar, and more","archive_hash":"sha256:93dfcbb622a6d7a03a85db6b263db7915a8c660e25127c771c5ee81e3de3e4de","archive_size":1740234,"archive_url":"https://extensions.blender.org/download/sha256:93dfcbb622a6d7a03a85db6b263db7915a8c660e25127c771c5ee81e3de3e4de/add-on-datablock-utils-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/datablock-utils/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System"]},{"id":"ambientcg_material_importer","schema_version":"1.0.0","name":"AmbientCG Material Importer","version":"1.4.0","tagline":"One-click material creation from AmbientCG","archive_hash":"sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082","archive_size":4167,"archive_url":"https://extensions.blender.org/download/sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082/add-on-ambientcg-material-importer-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ambientcg-material-importer/","maintainer":"Nino-Filiu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and cache textures to disk","network":"Makes calls to AmbientCG"},"tags":["Import-Export","Material"]},{"id":"cursor_plus","schema_version":"1.0.0","name":"3D Cursor Plus","version":"1.0.4","tagline":"Axes, undo and few other tools for your 3D Cursor","archive_hash":"sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47","archive_size":79566,"archive_url":"https://extensions.blender.org/download/sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47/add-on-cursor-plus-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cursor-plus/","maintainer":"chokavr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load gizmo presets and Pie menu configuration"},"tags":["3D View"]},{"id":"two_point_perspective","schema_version":"1.0.0","name":"Two-Point Perspective","version":"0.0.2","tagline":"Replaces the active camera with a two-point perspective one","archive_hash":"sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd","archive_size":17509,"archive_url":"https://extensions.blender.org/download/sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd/add-on-two-point-perspective-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/two-point-perspective/","maintainer":"Athina-Syntychaki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Grid_Dimensions","schema_version":"1.0.0","name":"Grid Dimensions/网格标注","version":"1.0.9","tagline":"Grid Dimensions/网格标注","archive_hash":"sha256:9b4c0245ac3342c926a7b445c7294097a38af7e1128dc88c779923a6b702794d","archive_size":33248,"archive_url":"https://extensions.blender.org/download/sha256:9b4c0245ac3342c926a7b445c7294097a38af7e1128dc88c779923a6b702794d/add-on-grid-dimensions-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-dimensions/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"mpfb","schema_version":"1.0.0","name":"MPFB","version":"2.0.13","tagline":"Human character generator and editor","archive_hash":"sha256:30bf341ae610cd1fd69382c9fadf8eb831c7ac6f4dd40ed326bb7850e1e090f3","archive_size":44897490,"archive_url":"https://extensions.blender.org/download/sha256:30bf341ae610cd1fd69382c9fadf8eb831c7ac6f4dd40ed326bb7850e1e090f3/add-on-mpfb-v2.0.13.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mpfb/","maintainer":"Joel-Palmius","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save data","network":"(optional) Interact with local instance of MakeHuman"},"tags":["Add Mesh","Rigging"]},{"id":"motion_inspector","schema_version":"1.0.0","name":"Motion inspector","version":"0.2.9","tagline":"Inspect F-Curves and animated object movement","archive_hash":"sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53","archive_size":4834,"archive_url":"https://extensions.blender.org/download/sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53/add-on-motion-inspector-v0.2.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motion-inspector/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"modern_primitive","schema_version":"1.0.0","name":"Modern Primitive","version":"0.0.46","tagline":"Modern Primitive for Non-Destructive Modeling","archive_hash":"sha256:ebfbd7f4b87cef51c2ba2de38edfc3ae828e442ec3bfc579763dd4df8981f7ce","archive_size":3276499,"archive_url":"https://extensions.blender.org/download/sha256:ebfbd7f4b87cef51c2ba2de38edfc3ae828e442ec3bfc579763dd4df8981f7ce/add-on-modern-primitive-v0.0.46.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modern-primitive/","maintainer":"Degarashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry-Node from Add-on Directory"},"tags":["Add Mesh","Modeling"]},{"id":"greasepencil_nudge_frames","schema_version":"1.0.0","name":"Grease Pencil Nudge Frames","version":"0.1.1","tagline":"Modify exposure in the dopesheet with D/F","archive_hash":"sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f","archive_size":1738,"archive_url":"https://extensions.blender.org/download/sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f/add-on-greasepencil-nudge-frames-v0.1.1.zip","type":"add-on","blender_version_min":"4.3.1","website":"https://extensions.blender.org/add-ons/greasepencil-nudge-frames/","maintainer":"bergamote","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Grease Pencil"]},{"id":"Non_Destructive_Primitives","schema_version":"1.0.0","name":"ND Primitives","version":"0.2.46","tagline":"Non-Destructive Parametric Primitives in Blender","archive_hash":"sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8","archive_size":290494,"archive_url":"https://extensions.blender.org/download/sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8/add-on-non-destructive-primitives-v0.2.46.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/non-destructive-primitives/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry Nodes Objects from Add-on Folder"},"tags":["Modeling","Add Mesh"]},{"id":"node_pinyin","schema_version":"1.0.0","name":"szm/首字母","version":"1.2.0","tagline":"Enable node and modifier search with PinYin/支持节点和修改器的中文拼音搜索","archive_hash":"sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe","archive_size":40672,"archive_url":"https://extensions.blender.org/download/sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe/add-on-node-pinyin-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-pinyin/","maintainer":"Xinyu-Zhu","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"proto_game_asset_tools","schema_version":"1.0.0","name":"PROTO Game Asset Tools","version":"1.4.0","tagline":"tools for game assets, fixed Unreal FBX exports","archive_hash":"sha256:a36f6ee8aa8adcc471bc5e88a153ab5bd6ac4a0c163de6eddbaad25380967d41","archive_size":33328,"archive_url":"https://extensions.blender.org/download/sha256:a36f6ee8aa8adcc471bc5e88a153ab5bd6ac4a0c163de6eddbaad25380967d41/add-on-proto-game-asset-tools-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/proto-game-asset-tools/","maintainer":"PROTOWLF","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX to disk","clipboard":"Copy and paste data"},"tags":["Import-Export","Game Engine"]},{"id":"b_subeditor","schema_version":"1.0.0","name":"B SubEditor","version":"1.0.0","tagline":"Sync subtitles in Text Editor/VSE","archive_hash":"sha256:cb0428625986c7abc7f7f1b3c487d16d86332279cfe9be2f14e01abe177257b1","archive_size":6370,"archive_url":"https://extensions.blender.org/download/sha256:cb0428625986c7abc7f7f1b3c487d16d86332279cfe9be2f14e01abe177257b1/add-on-b-subeditor-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/b-subeditor/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with subtitle files"},"tags":["Sequencer","Text Editor","Import-Export"]},{"id":"b_Unicode","schema_version":"1.0.0","name":"B Unicode","version":"1.0.2","tagline":"Access Unicode characters","archive_hash":"sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e","archive_size":5304,"archive_url":"https://extensions.blender.org/download/sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e/add-on-b-unicode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/b-unicode/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Sequencer","Text Editor"]},{"id":"sco_edgewise","schema_version":"1.0.0","name":"SCO EdgeWise","version":"2.0.3","tagline":"Measure distances, edge lengths, and angles in Edit Mode","archive_hash":"sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a","archive_size":137778,"archive_url":"https://extensions.blender.org/download/sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a/add-on-sco-edgewise-v2.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-edgewise/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"font_selector","schema_version":"1.0.0","name":"Font Selector","version":"3.1.1","tagline":"Browse available fonts from blender","archive_hash":"sha256:d975f97fd1c36ab24bd0de26fbfb22bdeb8974d1e9dec183ece1b3603260c5c7","archive_size":1183209,"archive_url":"https://extensions.blender.org/download/sha256:d975f97fd1c36ab24bd0de26fbfb22bdeb8974d1e9dec183ece1b3603260c5c7/add-on-font-selector-v3.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/font-selector/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files, Reading font files"},"tags":["Import-Export","System"]},{"id":"vertex_overlap","schema_version":"1.0.0","name":"Vertex Overlap","version":"1.1.0","tagline":"Alerts you to overlapping vertices in real-time","archive_hash":"sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14","archive_size":17220,"archive_url":"https://extensions.blender.org/download/sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14/add-on-vertex-overlap-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-overlap/","maintainer":"Shawn-Shipley","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"quick_resolution_setup","schema_version":"1.0.0","name":"Quick Resolution Setup","version":"1.1.0","tagline":"Quick Resolution Setup","archive_hash":"sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea","archive_size":23899,"archive_url":"https://extensions.blender.org/download/sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea/add-on-quick-resolution-setup-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-resolution-setup/","maintainer":"Hades-Su","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"audio_notifier","schema_version":"1.0.0","name":"Audio Notifier","version":"1.0.5","tagline":"Audio notifications for success, cancel and warning","archive_hash":"sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541","archive_size":36990,"archive_url":"https://extensions.blender.org/download/sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541/add-on-audio-notifier-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/audio-notifier/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"k_tools_mode_highlight","schema_version":"1.0.0","name":"K-Tools Mode Highlight","version":"1.0.5","tagline":"Automatically change the header color based on the current mode","archive_hash":"sha256:e68ac21f381dd8a9e1c70d2296e00ead5840fd2a9a6801ed76fe53f844dd3032","archive_size":3231,"archive_url":"https://extensions.blender.org/download/sha256:e68ac21f381dd8a9e1c70d2296e00ead5840fd2a9a6801ed76fe53f844dd3032/add-on-k-tools-mode-highlight-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-mode-highlight/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"xray_selection_tools","schema_version":"1.0.0","name":"X-Ray Selection Tools","version":"4.9.2","tagline":"Box, lasso and circle selection tools with x-ray","archive_hash":"sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8","archive_size":85983,"archive_url":"https://extensions.blender.org/download/sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8/add-on-xray-selection-tools-v4.9.2.zip","type":"add-on","blender_version_min":"4.5.2","website":"https://extensions.blender.org/add-ons/xray-selection-tools/","maintainer":"MarshmallowCirno","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"autokey_highlight","schema_version":"1.0.0","name":"Autokey Highlight","version":"1.0.7","tagline":"Highlights the viewport when autokey is enabled","archive_hash":"sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8","archive_size":3186,"archive_url":"https://extensions.blender.org/download/sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8/add-on-autokey-highlight-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autokey-highlight/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View","System"]},{"id":"math_formula","schema_version":"1.0.0","name":"Math Formula","version":"2.2.0","tagline":"Quickly add nodes by typing in a formula","archive_hash":"sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27","archive_size":360600,"archive_url":"https://extensions.blender.org/download/sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27/add-on-math-formula-v2.2.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/math-formula/","maintainer":"WannesMalfait","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and writing custom implementations","clipboard":"Pasting formulas from clipboard"},"tags":["Node"]},{"id":"EdgeFlow","schema_version":"1.0.0","name":"EdgeFlow","version":"1.1.2","tagline":"Helps adjusting mesh geometry to curved surfaces","archive_hash":"sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1","archive_size":34350,"archive_url":"https://extensions.blender.org/download/sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1/add-on-edgeflow-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edgeflow/","maintainer":"Benjamin-Sauder","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"LightHepler","schema_version":"1.0.0","name":"Light Helper","version":"0.4.4","tagline":"Light Helper","archive_hash":"sha256:c74858aec1ace62b5eff365c5bdec7372857f86c8c1fff4abced5660dde1942c","archive_size":19702,"archive_url":"https://extensions.blender.org/download/sha256:c74858aec1ace62b5eff365c5bdec7372857f86c8c1fff4abced5660dde1942c/add-on-lighthepler-v0.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lighthepler/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"lattice_helper","schema_version":"1.0.0","name":"Lattice Helper","version":"1.2.5","tagline":"Apply Lattice modifier to object(s) in object/edit mode","archive_hash":"sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4","archive_size":12464,"archive_url":"https://extensions.blender.org/download/sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4/add-on-lattice-helper-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lattice-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"color_randomizer","schema_version":"1.0.0","name":"Color Randomizer","version":"1.3.0","tagline":"Randomly assign colors to objects","archive_hash":"sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944","archive_size":10414,"archive_url":"https://extensions.blender.org/download/sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944/add-on-color-randomizer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-randomizer/","maintainer":"ilumetric","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"lumos","schema_version":"1.0.0","name":"Lumos","version":"3.2.0","tagline":"Bring your lighting to the next level","archive_hash":"sha256:14e0532aca2c63a876d60d735121bda26c63aa4020bbef9e828d7c2ee2ab8469","archive_size":36724,"archive_url":"https://extensions.blender.org/download/sha256:14e0532aca2c63a876d60d735121bda26c63aa4020bbef9e828d7c2ee2ab8469/add-on-lumos-v3.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lumos/","maintainer":"Eqkoss","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"rmKit","schema_version":"1.0.0","name":"rmKit","version":"1.0.12","tagline":"Tools and Utils for Modeling and GameWorkflows","archive_hash":"sha256:ba1a2e9928c093e4325c17e72d1532a711cca9c8c041c3231d194db0b1454592","archive_size":82919,"archive_url":"https://extensions.blender.org/download/sha256:ba1a2e9928c093e4325c17e72d1532a711cca9c8c041c3231d194db0b1454592/add-on-rmkit-v1.0.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rmkit/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Mesh","Object","Material"]},{"id":"Duplication_Tool_addon","schema_version":"1.0.0","name":"Duplication Tool","version":"1.0.2","tagline":"Create copies with incremental names and materials","archive_hash":"sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864","archive_size":3052,"archive_url":"https://extensions.blender.org/download/sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864/add-on-duplication-tool-addon-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/duplication-tool-addon/","maintainer":"Vinay-chikkam","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","System"]},{"id":"sakura_poselib","schema_version":"1.0.0","name":"Sakura Poselib","version":"1.4.4","tagline":"Yet another Pose Library with handful features","archive_hash":"sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e","archive_size":56108,"archive_url":"https://extensions.blender.org/download/sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e/add-on-sakura-poselib-v1.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-poselib/","maintainer":"Kafuji","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load Poselib data as Json or CSV"},"tags":["Animation"]},{"id":"audio_exporter","schema_version":"1.0.0","name":"Audio Exporter","version":"1.1.0","tagline":"Export audio separate or combined files in VSE","archive_hash":"sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be","archive_size":6145,"archive_url":"https://extensions.blender.org/download/sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be/add-on-audio-exporter-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/audio-exporter/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it exports audio files"},"tags":["Sequencer"]},{"id":"Shadingplus","schema_version":"1.0.0","name":"Shading +","version":"1.1.2","tagline":"Shading pie for designers and artists","archive_hash":"sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8","archive_size":50492480,"archive_url":"https://extensions.blender.org/download/sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8/add-on-shadingplus-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shadingplus/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"caustics_baking_addon","schema_version":"1.0.0","name":"Caustics_Baking","version":"3.2.1","tagline":"Caustics Baking with Cycles","archive_hash":"sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e","archive_size":42951,"archive_url":"https://extensions.blender.org/download/sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e/add-on-caustics-baking-addon-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/caustics-baking-addon/","maintainer":"Benary","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"export images to disk"},"tags":["Bake","Lighting"]},{"id":"brushstroke_tools","schema_version":"1.0.0","name":"Brushstroke Tools","version":"1.1.2","tagline":"Brushstroke painting tools by the Blender Studio","archive_hash":"sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d","archive_size":29639997,"archive_url":"https://extensions.blender.org/download/sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d/add-on-brushstroke-tools-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/brushstroke-tools/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write brushstroke asset resources from/to disk"},"tags":["Paint","Geometry Nodes","Material"]},{"id":"node_color_tools","schema_version":"1.0.0","name":"Node Color Tools Pie","version":"1.0.3","tagline":"Quick, organized node colors with pie menu ease","archive_hash":"sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7","archive_size":4752,"archive_url":"https://extensions.blender.org/download/sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7/add-on-node-color-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"gamiflow","schema_version":"1.0.0","name":"GamiFlow","version":"1.9.2","tagline":"Easier game asset creation","archive_hash":"sha256:73674f162de1f2172f17d775d38412cd60568d65ec5a4244b6bd55d5065a7e6b","archive_size":159467,"archive_url":"https://extensions.blender.org/download/sha256:73674f162de1f2172f17d775d38412cd60568d65ec5a4244b6bd55d5065a7e6b/add-on-gamiflow-v1.9.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gamiflow/","maintainer":"Mathieu.Einig","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX files to disk"},"tags":["Import-Export","Object"]},{"id":"Runlevel_Two","schema_version":"1.0.0","name":"Runlevel Two","version":"1.2.0","tagline":"A refined, distraction-free color palette, pleasing to the eye","archive_hash":"sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1","archive_size":5962,"archive_url":"https://extensions.blender.org/download/sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1/theme-runlevel-two-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/runlevel-two/","maintainer":"Rene-Smaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Accessibility","Colorful"]},{"id":"blenderdefender_gizmodalops","schema_version":"1.0.0","name":"Gizmodal Ops","version":"1.0.3","tagline":"An add-on that seamlessly blends Gizmo and Modal operations","archive_hash":"sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb","archive_size":24047,"archive_url":"https://extensions.blender.org/download/sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb/add-on-blenderdefender-gizmodalops-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blenderdefender-gizmodalops/","maintainer":"Beedy","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"render_overscan","schema_version":"1.0.0","name":"Render Overscan","version":"0.1.16","tagline":"Applies and manages overscan in renders","archive_hash":"sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa","archive_size":3933,"archive_url":"https://extensions.blender.org/download/sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa/add-on-render-overscan-v0.1.16.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/render-overscan/","maintainer":"efimpetelin","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"strip_array","schema_version":"1.0.0","name":"Strip Array","version":"1.1.0","tagline":"Array of duplicated strips, Customizable, Strips Display","archive_hash":"sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba","archive_size":4825,"archive_url":"https://extensions.blender.org/download/sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba/add-on-strip-array-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/strip-array/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"latticemagic","schema_version":"1.0.0","name":"Lattice Magic","version":"1.0.1","tagline":"Lattice-based deforming tools","archive_hash":"sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e","archive_size":29840,"archive_url":"https://extensions.blender.org/download/sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e/add-on-latticemagic-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/latticemagic/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"Show_Object_Data_Users_in_Viewport","schema_version":"1.0.0","name":"Show Collection/Object/Data Users in Viewport","version":"1.0.6","tagline":"Show Collection/Object/Data Users in the Viewport","archive_hash":"sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699","archive_size":4288,"archive_url":"https://extensions.blender.org/download/sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699/add-on-show-object-data-users-in-viewport-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/show-object-data-users-in-viewport/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"camera_shakify","schema_version":"1.0.0","name":"Camera Shakify","version":"0.5.0","tagline":"Add captured camera shake/wobble to your cameras","archive_hash":"sha256:d52c7e48c7f7c55e954e0812da1957d356e935ae2d2bab571010a86e6dd634fd","archive_size":77949,"archive_url":"https://extensions.blender.org/download/sha256:d52c7e48c7f7c55e954e0812da1957d356e935ae2d2bab571010a86e6dd634fd/add-on-camera-shakify-v0.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-shakify/","maintainer":"Eat the Future","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Camera"]},{"id":"embroidery_importer","schema_version":"1.0.0","name":"Embroidery Importer","version":"0.9.6","tagline":"Import embroidery files into Blender","archive_hash":"sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7","archive_size":157512,"archive_url":"https://extensions.blender.org/download/sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7/add-on-embroidery-importer-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/embroidery-importer/","maintainer":"javl","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read embroidery files from disk"},"tags":["Import-Export"]},{"id":"mio3_uv","schema_version":"1.0.0","name":"Mio3 UV","version":"2.0.1","tagline":"UV Edit Assistant Tools","archive_hash":"sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc","archive_size":5184961,"archive_url":"https://extensions.blender.org/download/sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc/add-on-mio3-uv-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-uv/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Imports images, nodes, and translations from the bundled files"},"tags":["UV"]},{"id":"S3D_QuickSwitch","schema_version":"1.0.0","name":"Quick Switch","version":"2.1.0","tagline":"Quickly switch between Editor Areas","archive_hash":"sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380","archive_size":6932,"archive_url":"https://extensions.blender.org/download/sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380/add-on-s3d-quickswitch-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/s3d-quickswitch/","maintainer":"Silvie3D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline"]},{"id":"spreadsheet_import","schema_version":"1.0.0","name":"Spreadsheet Import","version":"0.4.0","tagline":"Import data to spreadsheet for use with geometry nodes","archive_hash":"sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba","archive_size":16630,"archive_url":"https://extensions.blender.org/download/sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba/add-on-spreadsheet-import-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spreadsheet-import/","maintainer":"smonbrogg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load CSV and JSON files from disk"},"tags":["Import-Export","Geometry Nodes"]},{"id":"Scene_ViewLayer_Switcher","schema_version":"1.0.0","name":"Scene and ViewLayer Switcher","version":"1.0.5","tagline":"Jump to the next/previous Scene/ViewLayers","archive_hash":"sha256:5d149b675aa806755b27c343bf40b9bf164151bb7dd121d8c669d0188b31e332","archive_size":9142,"archive_url":"https://extensions.blender.org/download/sha256:5d149b675aa806755b27c343bf40b9bf164151bb7dd121d8c669d0188b31e332/add-on-scene-viewlayer-switcher-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-viewlayer-switcher/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"pohlke","schema_version":"1.0.0","name":"Pohlke","version":"1.2.0","tagline":"One-click standard orthographic and oblique projection cameras","archive_hash":"sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e","archive_size":14493,"archive_url":"https://extensions.blender.org/download/sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e/add-on-pohlke-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pohlke/","maintainer":"mononym","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"FishSim","schema_version":"1.0.0","name":"FishSim","version":"4.2.0","tagline":"Fish Swimming Simulation","archive_hash":"sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a","archive_size":16851312,"archive_url":"https://extensions.blender.org/download/sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a/add-on-fishsim-v4.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fishsim/","maintainer":"Nerk","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"sync_render_sets","schema_version":"1.0.0","name":"Sync Render Sets","version":"1.2.1","tagline":"Sync scenes render settings/colorspaces,viewlayers`s passes","archive_hash":"sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362","archive_size":24219,"archive_url":"https://extensions.blender.org/download/sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362/add-on-sync-render-sets-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-render-sets/","maintainer":"CP-Design","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"circular_stacker","schema_version":"1.0.0","name":"Circular Stacker","version":"1.0.0","tagline":"Distribute selected objects in a circular (donut) pattern","archive_hash":"sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451","archive_size":3099,"archive_url":"https://extensions.blender.org/download/sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451/add-on-circular-stacker-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/circular-stacker/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"overscan","schema_version":"1.0.0","name":"Overscan Render","version":"1.2.3","tagline":"Render with an overscan","archive_hash":"sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b","archive_size":3063,"archive_url":"https://extensions.blender.org/download/sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b/add-on-overscan-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Distribute","schema_version":"1.0.0","name":"Distribute","version":"1.1.0","tagline":"Distribute selected objects from first to last on X, Y or Z axis","archive_hash":"sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47","archive_size":1692,"archive_url":"https://extensions.blender.org/download/sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47/add-on-distribute-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/distribute/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"motionpath","schema_version":"1.0.0","name":"Motion Path Creator","version":"2.1.2","tagline":"Create motion paths for bones, vertices, empties and objects","archive_hash":"sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f","archive_size":6955,"archive_url":"https://extensions.blender.org/download/sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f/add-on-motionpath-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motionpath/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"fireray","schema_version":"1.0.0","name":"Fire Ray","version":"2.0.0","tagline":"Reality Capture setup and create an empty on a tracked camera","archive_hash":"sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3","archive_size":2709,"archive_url":"https://extensions.blender.org/download/sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3/add-on-fireray-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fireray/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"HDRIRotator","schema_version":"1.0.0","name":"HDRI Rotator","version":"1.1.1","tagline":"Rotate your HDRI/shadows in the viewport with your mouse","archive_hash":"sha256:e2261fe2151dbb1101f677e521ffdcd778f15d1afe01100bc87f1aa49b3e0eb5","archive_size":18782,"archive_url":"https://extensions.blender.org/download/sha256:e2261fe2151dbb1101f677e521ffdcd778f15d1afe01100bc87f1aa49b3e0eb5/add-on-hdrirotator-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdrirotator/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"auto_active_camera_switcher","schema_version":"1.0.0","name":"Auto Active Camera Switcher","version":"1.0.2","tagline":"Automatically makes the selected camera the active camera","archive_hash":"sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5","archive_size":2653,"archive_url":"https://extensions.blender.org/download/sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5/add-on-auto-active-camera-switcher-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-active-camera-switcher/","maintainer":"Yamato3D-3dnchu.com-","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera"]},{"id":"AddonProfiler","schema_version":"1.0.0","name":"Add-on Profiler","version":"2.1.0","tagline":"Monitor and capture add-on profiling data","archive_hash":"sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c/add-on-addonprofiler-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/addonprofiler/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and process benchmark and profile data"},"tags":["Development"]},{"id":"add_frame_range_presets","schema_version":"1.0.0","name":"Add Frame Range Presets","version":"1.1.3","tagline":"Create preset frame ranges in just a click","archive_hash":"sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed","archive_size":16118,"archive_url":"https://extensions.blender.org/download/sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed/add-on-add-frame-range-presets-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-frame-range-presets/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Light_Rain_Theme","schema_version":"1.0.0","name":"Light_Rain_Theme","version":"2.1.1","tagline":"Transparent Light","archive_hash":"sha256:72ca2577e2e5a7c229d3d49a1bf5bfe95bcc3ac438a4af56143e0c7296a28945","archive_size":5590,"archive_url":"https://extensions.blender.org/download/sha256:72ca2577e2e5a7c229d3d49a1bf5bfe95bcc3ac438a4af56143e0c7296a28945/theme-light-rain-theme-v2.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/light-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"C3DB","schema_version":"1.0.0","name":"3D Cursors Briefcase","version":"0.1.4","tagline":"Store and manage multiple 3D Cursors","archive_hash":"sha256:bc01e94f9f3654114db9254c8ed632112cf6f323780e1a1a8c77315544b6a0b5","archive_size":5671,"archive_url":"https://extensions.blender.org/download/sha256:bc01e94f9f3654114db9254c8ed632112cf6f323780e1a1a8c77315544b6a0b5/add-on-c3db-v0.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/c3db/","maintainer":"dupoxy","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"cameraide_settings","schema_version":"1.0.0","name":"Cameraide","version":"1.0.6","tagline":"Camera specific Resolution, Frame Range, Output Path & Format","archive_hash":"sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe","archive_size":34464,"archive_url":"https://extensions.blender.org/download/sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe/add-on-cameraide-settings-v1.0.6.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/cameraide-settings/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"simple_bounce_curve","schema_version":"1.0.0","name":"Simple Bounce Curve","version":"1.1.0","tagline":"Creates a simple bounce curve between selected objects","archive_hash":"sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b","archive_size":2102,"archive_url":"https://extensions.blender.org/download/sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b/add-on-simple-bounce-curve-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-bounce-curve/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Object"]},{"id":"org_tayou_bone_vertex_group_merge","schema_version":"1.0.0","name":"Bone and Vertex Group Merge","version":"1.2.0","tagline":"merge selected bones into the active bone","archive_hash":"sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf","archive_size":1084528,"archive_url":"https://extensions.blender.org/download/sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf/add-on-org-tayou-bone-vertex-group-merge-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/org-tayou-bone-vertex-group-merge/","maintainer":"Tayou","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"more_colors","schema_version":"1.0.0","name":"More Colors!","version":"1.1.0","tagline":"A set of tools to make vertex painting easier","archive_hash":"sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2","archive_size":31239,"archive_url":"https://extensions.blender.org/download/sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2/add-on-more-colors-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/more-colors/","maintainer":"tojynick","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Mesh","Paint"]},{"id":"thomas_rig_legacy","schema_version":"1.0.0","name":"Thomas Rig Legacy","version":"1.1.9","tagline":"Addon for this rig","archive_hash":"sha256:5ca35a8a08ff0c33069bf9fc948dbd398c8b3d9acaf24f7d33a4b8f823a1fec6","archive_size":20535315,"archive_url":"https://extensions.blender.org/download/sha256:5ca35a8a08ff0c33069bf9fc948dbd398c8b3d9acaf24f7d33a4b8f823a1fec6/add-on-thomas-rig-legacy-v1.1.9-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/thomas-rig-legacy/","maintainer":"BlueEvilGFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the skin to Blender-tmp & read MC textures","network":"To download a skin with the Minecraft/Mojang API"},"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Animation","Rigging"]},{"id":"cortecloud_export","schema_version":"1.0.0","name":"CorteCloud Export","version":"1.0.5","tagline":"Manage and Export wood cut list to CorteCloud csv format","archive_hash":"sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191","archive_size":20274,"archive_url":"https://extensions.blender.org/download/sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191/add-on-cortecloud-export-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cortecloud-export/","maintainer":"Filipe-Rocha-Lopes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export csv files"}},{"id":"auto_reload","schema_version":"1.0.0","name":"Auto Reload","version":"3.1.2","tagline":"Automatic reload for external files","archive_hash":"sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4","archive_size":21511,"archive_url":"https://extensions.blender.org/download/sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4/add-on-auto-reload-v3.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-reload/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Checking/Reloading external files from current blend"},"tags":["Import-Export","Pipeline"]},{"id":"Colorista","schema_version":"1.0.0","name":"Colorista","version":"1.1.8","tagline":"A convenient color grading add-on designed for colorists","archive_hash":"sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2","archive_size":950327,"archive_url":"https://extensions.blender.org/download/sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2/add-on-colorista-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/colorista/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read Node"},"tags":["Modeling","Node","Render","Compositing"]},{"id":"popoti_align_helper","schema_version":"1.0.0","name":"POPOTI Align Helper","version":"1.2.7","tagline":"More friendly alignment based on observation perspective","archive_hash":"sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f","archive_size":95518,"archive_url":"https://extensions.blender.org/download/sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f/add-on-popoti-align-helper-v1.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/popoti-align-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"UV_Snapper","schema_version":"1.0.0","name":"UV Snapper","version":"1.1.1","tagline":"Snap selected UVs to a custom atlas","archive_hash":"sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb","archive_size":236058,"archive_url":"https://extensions.blender.org/download/sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb/add-on-uv-snapper-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-snapper/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"theme_moss","schema_version":"1.0.0","name":"Moss","version":"1.0.5","tagline":"Mossy castle dark theme","archive_hash":"sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078","archive_size":5609,"archive_url":"https://extensions.blender.org/download/sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078/theme-theme-moss-v1.0.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-moss/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"mesh_repair_tools","schema_version":"1.0.0","name":"Mesh Repair Tools","version":"4.0.2","tagline":"An integrated toolbox for mesh repair","archive_hash":"sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7","archive_size":13836,"archive_url":"https://extensions.blender.org/download/sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7/add-on-mesh-repair-tools-v4.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-repair-tools/","maintainer":"SineWave","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","User Interface"]},{"id":"profiling_buddy","schema_version":"1.0.0","name":"Profiling Buddy","version":"1.0.0","tagline":"Adds modifier panel to profile execution times","archive_hash":"sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0","archive_size":1756,"archive_url":"https://extensions.blender.org/download/sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0/add-on-profiling-buddy-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/profiling-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Rigging","Geometry Nodes","User Interface"]},{"id":"Proton","schema_version":"1.0.0","name":"Proton","version":"1.1.0","tagline":"A modern dark theme for Blender with purple accents","archive_hash":"sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99","archive_size":5141,"archive_url":"https://extensions.blender.org/download/sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99/theme-proton-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/proton/","maintainer":"VISaberToothIV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neo_Grey_Theme","schema_version":"1.0.0","name":"Neo_Grey_Theme","version":"2.3.1","tagline":"Cloudy Day","archive_hash":"sha256:b2dfd73bfdc55abb9724eefd8c9982dc1a5e4e5d101dcfb1e92ff94c4fe31b90","archive_size":5577,"archive_url":"https://extensions.blender.org/download/sha256:b2dfd73bfdc55abb9724eefd8c9982dc1a5e4e5d101dcfb1e92ff94c4fe31b90/theme-neo-grey-theme-v2.3.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neo-grey-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"SMEAR","schema_version":"1.0.0","name":"SMEAR","version":"1.1.8","tagline":"Create smear frames for 3D animations","archive_hash":"sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5","archive_size":3313751,"archive_url":"https://extensions.blender.org/download/sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5/add-on-smear-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smear/","maintainer":"Jean-Basset","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"simple_deform_helper","schema_version":"1.0.0","name":"Simple Deform Helper","version":"0.2.7","tagline":"Simple Deform visualization adjustment tool","archive_hash":"sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb","archive_size":173571,"archive_url":"https://extensions.blender.org/download/sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb/add-on-simple-deform-helper-v0.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-deform-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Mesh"]},{"id":"uv_toolkit","schema_version":"1.0.0","name":"UVToolkit","version":"2.1.4","tagline":"A collection of UV editing tools for Blender","archive_hash":"sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859","archive_size":2611931,"archive_url":"https://extensions.blender.org/download/sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859/add-on-uv-toolkit-v2.1.4.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/uv-toolkit/","maintainer":"razed","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","Material"]},{"id":"image_packer","schema_version":"1.0.0","name":"Image Packer","version":"1.0.6","tagline":"Packs images into a single image","archive_hash":"sha256:9ac461b0feb8692f86d933e86fc9f3bc2071a0cb839f442545206b2450171290","archive_size":24513,"archive_url":"https://extensions.blender.org/download/sha256:9ac461b0feb8692f86d933e86fc9f3bc2071a0cb839f442545206b2450171290/add-on-image-packer-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/image-packer/","maintainer":"Quint-Vrolijk","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"Modal_lattice_resolution","schema_version":"1.0.0","name":"Modal Lattice Resolution","version":"0.3.4","tagline":"Create Lattice or Tweak Resolution from 3D viewport, 'L' keymap","archive_hash":"sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b","archive_size":7314,"archive_url":"https://extensions.blender.org/download/sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b/add-on-modal-lattice-resolution-v0.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modal-lattice-resolution/","maintainer":"Tyo79","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"you_are_autosave","schema_version":"1.0.0","name":"You Are Autosave","version":"1.5.0","tagline":"Show a warning when you haven't saved in a while","archive_hash":"sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b","archive_size":17503,"archive_url":"https://extensions.blender.org/download/sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b/add-on-you-are-autosave-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/you-are-autosave/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"univ","schema_version":"1.0.0","name":"UniV","version":"3.9.8","tagline":"UV Toolkit","archive_hash":"sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c","archive_size":538491,"archive_url":"https://extensions.blender.org/download/sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c/add-on-univ-v3.9.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/univ/","maintainer":"Oxicid","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and updates icon files in the add-on directory"},"tags":["UV"]},{"id":"gesture_helper","schema_version":"1.0.0","name":"Gesture Helper","version":"2.2.6","tagline":"Quickly use gestures to run the operator or change properties","archive_hash":"sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5","archive_size":1125093,"archive_url":"https://extensions.blender.org/download/sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5/add-on-gesture-helper-v2.2.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gesture-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Gesture preset"},"tags":["3D View","User Interface"]},{"id":"bone_eyedropper","schema_version":"1.0.0","name":"Bone Eyedropper","version":"1.1.8","tagline":"Eyedrop a bone from active or target and assign it to a property","archive_hash":"sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd","archive_size":139882,"archive_url":"https://extensions.blender.org/download/sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd/add-on-bone-eyedropper-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-eyedropper/","maintainer":"Nifs","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .blend from disk","clipboard":"Copy property paths to clipboard"},"tags":["3D View","User Interface"]},{"id":"quick_export_extension","schema_version":"1.0.0","name":"Quick Export","version":"1.1.0","tagline":"Exports the active object's collection if it has exporters","archive_hash":"sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76","archive_size":2422,"archive_url":"https://extensions.blender.org/download/sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76/add-on-quick-export-extension-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-export-extension/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"Real_Time_Paths","schema_version":"1.0.0","name":"Real Time Paths","version":"2.2.0","tagline":"Update motion path in real time","archive_hash":"sha256:135bdd30358390bd43beb075b49e476d33def2cb9946825a97658511382527f9","archive_size":5858,"archive_url":"https://extensions.blender.org/download/sha256:135bdd30358390bd43beb075b49e476d33def2cb9946825a97658511382527f9/add-on-real-time-paths-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/real-time-paths/","maintainer":"Hamdi-Amer","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"theme_GreenKM","schema_version":"1.0.0","name":"Green Kode Mono","version":"1.1.3","tagline":"Kinda retro green theme","archive_hash":"sha256:29eae04880f78741ece4928b6e1bb49d9236228134a908634a37160116f359ea","archive_size":6094,"archive_url":"https://extensions.blender.org/download/sha256:29eae04880f78741ece4928b6e1bb49d9236228134a908634a37160116f359ea/theme-theme-greenkm-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-greenkm/","maintainer":"DannySi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Quellenform_theme","schema_version":"1.0.0","name":"Quellenform's Theme","version":"0.1.0","tagline":"A dark grey theme with a gentle touch of blue and green colors","archive_hash":"sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d","archive_size":5899,"archive_url":"https://extensions.blender.org/download/sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d/theme-quellenform-theme-v0.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quellenform-theme/","maintainer":"quellenform","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"act_game_asset_creation_toolset","schema_version":"1.0.0","name":"ACT: Game Asset Creation Toolset","version":"2025.2.1","tagline":"Tools for easy create and export low-poly game assets","archive_hash":"sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284","archive_size":49479,"archive_url":"https://extensions.blender.org/download/sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284/add-on-act-game-asset-creation-toolset-v2025.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/act-game-asset-creation-toolset/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX/OBJ/GLTF to disk"},"tags":["3D View","Object","UV","Mesh","Import-Export","Modeling"]},{"id":"node_to_python","schema_version":"1.0.0","name":"Node To Python","version":"4.0.1","tagline":"Turn node groups into Python code","archive_hash":"sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec","archive_size":81184,"archive_url":"https://extensions.blender.org/download/sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec/add-on-node-to-python-v4.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-to-python/","maintainer":"Brendan-Parmer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and writes to files in a user-specified directory"},"tags":["Development","Compositing","Geometry Nodes","Material","Node"]},{"id":"Eclipse","schema_version":"1.0.0","name":"Eclipse","version":"1.2.2","tagline":"Where Darkness Meets Elegance","archive_hash":"sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7","archive_size":5863,"archive_url":"https://extensions.blender.org/download/sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7/theme-eclipse-v1.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/eclipse/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"custom_templates","schema_version":"1.0.0","name":"Custom Templates","version":"1.6.0","tagline":"Use your own .blend files as template options for new projects","archive_hash":"sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e","archive_size":10674,"archive_url":"https://extensions.blender.org/download/sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e/add-on-custom-templates-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/custom-templates/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export, + from folder, Ensure absolute paths in resources"},"tags":["System","User Interface"]},{"id":"world_apply","schema_version":"1.0.0","name":"World Apply","version":"1.0.1","tagline":"Sync viewport world settings with scene world settings","archive_hash":"sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663","archive_size":2866,"archive_url":"https://extensions.blender.org/download/sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663/add-on-world-apply-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/world-apply/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read HDRI files stored in Blender's directories"},"tags":["Lighting"]},{"id":"timeline_buttons","schema_version":"1.0.0","name":"Timeline Buttons","version":"1.0.0","tagline":"Put the buttons in timeline to other animation related editors","archive_hash":"sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815","archive_size":15158,"archive_url":"https://extensions.blender.org/download/sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815/add-on-timeline-buttons-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/timeline-buttons/","maintainer":"tinkerboi","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ddslideshow","schema_version":"1.0.0","name":"DDSlideshow","version":"0.0.5","tagline":"Create a Ken Burns Effect slideshow","archive_hash":"sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b/add-on-ddslideshow-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ddslideshow/","maintainer":"Michael-Lamertz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to load images for the slideshow"},"tags":["Sequencer"]},{"id":"bonsai","schema_version":"1.0.0","name":"Bonsai","version":"0.8.4","tagline":"A native Building Information Model authoring platform using IFC","archive_hash":"sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65","archive_size":119643469,"archive_url":"https://extensions.blender.org/download/sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65/add-on-bonsai-v0.8.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bonsai/","maintainer":"IfcOpenShell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save IFCs, IDS, BCF, etc from disk","network":"Augin / Cove.Tool integration for VR and environmental analysis","clipboard":"Copy and paste error logs"},"platforms":["windows-x64"],"tags":["3D View","Add Mesh","Animation","Camera","Development","Import-Export","Lighting","Material","Modeling","Mesh","Node","Object","Pipeline","Render","Scene","System","User Interface","UV"]},{"id":"Clean_Blue","schema_version":"1.0.0","name":"Clean Blue","version":"1.4.0","tagline":"This is a pleasant light-colored theme","archive_hash":"sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d/theme-clean-blue-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/clean-blue/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"redsquare","schema_version":"1.0.0","name":"RedSquare V2","version":"1.2.1","tagline":"A theme with basic red tones and a more square-ish type of look","archive_hash":"sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e/theme-redsquare-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redsquare/","maintainer":"luccadanielp","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"mengges_dark_theme","schema_version":"1.0.0","name":"MengGe's Dark Theme","version":"1.2.0","tagline":"Dark Theme Pro Max Ultra Plus Lift","archive_hash":"sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc","archive_size":5629,"archive_url":"https://extensions.blender.org/download/sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc/theme-mengges-dark-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mengges-dark-theme/","maintainer":"MengGe_KKD","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"armature_pie","schema_version":"1.0.0","name":"Armature Pie","version":"1.1.2","tagline":"Pick Armatures Comfortably & Solo Collection By Pie Menu","archive_hash":"sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da","archive_size":13793,"archive_url":"https://extensions.blender.org/download/sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da/add-on-armature-pie-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-pie/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"Elegant_Light_Theme","schema_version":"1.0.0","name":"Elegant_Light_Theme","version":"2.1.1","tagline":"Bright Light","archive_hash":"sha256:38894c02f632eac43055e511d99d6527f959eb49b32ac66434e2a5529d219a4d","archive_size":5608,"archive_url":"https://extensions.blender.org/download/sha256:38894c02f632eac43055e511d99d6527f959eb49b32ac66434e2a5529d219a4d/theme-elegant-light-theme-v2.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/elegant-light-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"livery_helper","schema_version":"1.0.0","name":"LiveryHelper","version":"1.0.3","tagline":"Makes creating, editing and customizing car liveries much easier","archive_hash":"sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab","archive_size":5198,"archive_url":"https://extensions.blender.org/download/sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab/add-on-livery-helper-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/livery-helper/","maintainer":"Mast26","license":["SPDX:MIT"],"permissions":{"files":"Loading source livery images"},"tags":["Material"]},{"id":"optiploy","schema_version":"1.0.0","name":"OptiPloy: Rig Spawner","version":"1.8.2","tagline":"Improve your workflow with smarter linking tools","archive_hash":"sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956","archive_size":41364,"archive_url":"https://extensions.blender.org/download/sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956/add-on-optiploy-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/optiploy/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and save .blend and folder entries"},"tags":["Pipeline","Animation","Rigging","Import-Export"]},{"id":"io_scene_mvr","schema_version":"1.0.0","name":"Scene MVR (.mvr) and GDTF (.gdtf)","version":"1.5.0","tagline":"My Virtual Rig and General Device Type Format","archive_hash":"sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9","archive_size":296414,"archive_url":"https://extensions.blender.org/download/sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9/add-on-io-scene-mvr-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-mvr/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"General Device Type Format and My Virtual Rig files"},"tags":["Import-Export","Scene","Lighting","Tracking","Rigging"]},{"id":"CV_Filter_Channels","schema_version":"1.0.0","name":"Filter_Channels","version":"1.0.8","tagline":"Filter channels in Graph Editor for animation","archive_hash":"sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2","archive_size":15830,"archive_url":"https://extensions.blender.org/download/sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2/add-on-cv-filter-channels-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cv-filter-channels/","maintainer":"Carles-V","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"right_mouse_navigation","schema_version":"1.0.0","name":"Right Mouse Navigation","version":"2.6.0","tagline":"Game Engine Movement and Menus","archive_hash":"sha256:010e56750aae37d1b180511c13a42a92bf53ff3863ac738013b50d965066a998","archive_size":2197956,"archive_url":"https://extensions.blender.org/download/sha256:010e56750aae37d1b180511c13a42a92bf53ff3863ac738013b50d965066a998/add-on-right-mouse-navigation-v2.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/right-mouse-navigation/","maintainer":"SpectralVectors","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Node","User Interface"]},{"id":"texel_density_checker","schema_version":"1.0.0","name":"Texel Density Checker","version":"2025.1.2","tagline":"Toolset for working with Texel Density","archive_hash":"sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35","archive_size":48357,"archive_url":"https://extensions.blender.org/download/sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35/add-on-texel-density-checker-v2025.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texel-density-checker/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","UV"]},{"id":"simple_renaming_panel","schema_version":"1.0.0","name":"Simple Renaming","version":"2.1.4","tagline":"Effortlessly rename multiple objects with this simple addon","archive_hash":"sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5","archive_size":46786,"archive_url":"https://extensions.blender.org/download/sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5/add-on-simple-renaming-panel-v2.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-renaming-panel/","maintainer":"MatthiasPatscheider","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Scene","User Interface"]},{"id":"auto_switch_theme","schema_version":"1.0.0","name":"Auto Switch Theme","version":"1.0.1","tagline":"Set light and dark themes based on your system appearance","archive_hash":"sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1","archive_size":11020,"archive_url":"https://extensions.blender.org/download/sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1/add-on-auto-switch-theme-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-switch-theme/","maintainer":"pablovazquez","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"ik_fk_snapping_tool","schema_version":"1.0.0","name":"IK-FK Snapping Tool","version":"3.0.3","tagline":"Tools to perform IK to FK and FK to IK snapping","archive_hash":"sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd","archive_size":19058,"archive_url":"https://extensions.blender.org/download/sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd/add-on-ik-fk-snapping-tool-v3.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ik-fk-snapping-tool/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"macos_dark_theme","schema_version":"1.0.0","name":"MacOS Dark Theme","version":"2.0.0","tagline":"The MacOS interface style in Blender","archive_hash":"sha256:4baaca190e00747b2483170608cb65f336468af1da265a165e1bf0ab6d7d9190","archive_size":17982,"archive_url":"https://extensions.blender.org/download/sha256:4baaca190e00747b2483170608cb65f336468af1da265a165e1bf0ab6d7d9190/theme-macos-dark-theme-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/macos-dark-theme/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"openvat","schema_version":"1.0.0","name":"OpenVAT","version":"1.1.0","tagline":"Encode and preview vertex animation textures","archive_hash":"sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1","archive_size":277888,"archive_url":"https://extensions.blender.org/download/sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1/add-on-openvat-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/openvat/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"]},{"id":"align2custom","schema_version":"1.0.0","name":"Align 2 Custom","version":"2.1.2","tagline":"Align 3D View to custom orientation or 3D cursor","archive_hash":"sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856","archive_size":17939,"archive_url":"https://extensions.blender.org/download/sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856/add-on-align2custom-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align2custom/","maintainer":"fdaubine","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View"]},{"id":"import_mixamo_root_motion","schema_version":"1.0.0","name":"Import Mixamo - Root Motion","version":"1.0.4","tagline":"Batch Import Fbx (Mixamo) And Apply Root Motion","archive_hash":"sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898","archive_size":23759,"archive_url":"https://extensions.blender.org/download/sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898/add-on-import-mixamo-root-motion-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/import-mixamo-root-motion/","maintainer":"DevilMayCry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import FBX from disk"},"tags":["Import-Export"]},{"id":"Quick_Rigid","schema_version":"1.0.0","name":"Quick Rigid","version":"1.2.1","tagline":"Easy access to the most used rigid body settings","archive_hash":"sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb","archive_size":1229239,"archive_url":"https://extensions.blender.org/download/sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb/add-on-quick-rigid-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-rigid/","maintainer":"nova3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Physics","Object"]},{"id":"geonode_shapekeys","schema_version":"1.0.0","name":"GeoNode Shape Keys","version":"1.0.0","tagline":"Sculpt on linked animated characters","archive_hash":"sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c","archive_size":220787,"archive_url":"https://extensions.blender.org/download/sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c/add-on-geonode-shapekeys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-shapekeys/","maintainer":"Mets","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"To load the necessary GeoNodes from its .blend file"},"tags":["Rigging"]},{"id":"mesh_mesh_align_plus","schema_version":"1.0.0","name":"Mesh Align Plus","version":"1.1.0-rc.1","tagline":"Move/align mesh parts+objects based on scene geometry/metrics","archive_hash":"sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719","archive_size":90285,"archive_url":"https://extensions.blender.org/download/sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719/add-on-mesh-mesh-align-plus-v1.1.0-rc.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-mesh-align-plus/","maintainer":"BitByte","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Mesh","Modeling","Object","User Interface"]},{"id":"theme_Houdini","schema_version":"1.0.0","name":"Houdini","version":"1.3.0","tagline":"Theme Inspired By SideFX Houdini","archive_hash":"sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9","archive_size":5502,"archive_url":"https://extensions.blender.org/download/sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9/theme-theme-houdini-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-houdini/","maintainer":"rmantdtg","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"mio3_copy_weight","schema_version":"1.0.0","name":"Mio3 Copy Weight","version":"1.1.0","tagline":"Copies weights of selected vertices across objects","archive_hash":"sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e","archive_size":15521,"archive_url":"https://extensions.blender.org/download/sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e/add-on-mio3-copy-weight-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-copy-weight/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"whispering_ripples","schema_version":"1.0.0","name":"Whispering Ripples","version":"1.3.0","tagline":"In the whisper of the night, ripples of creativity flow freely","archive_hash":"sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1","archive_size":6168,"archive_url":"https://extensions.blender.org/download/sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1/theme-whispering-ripples-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/whispering-ripples/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"sequenced_bake","schema_version":"1.0.0","name":"Sequenced Bake","version":"1.0.16","tagline":"Tools for baking material sequences and generating sprite sheets","archive_hash":"sha256:ce19820700393e87a4d8ad0598001b5a9ea93923eaf11fc2cfdec848c7d3dffe","archive_size":26704,"archive_url":"https://extensions.blender.org/download/sha256:ce19820700393e87a4d8ad0598001b5a9ea93923eaf11fc2cfdec848c7d3dffe/add-on-sequenced-bake-v1.0.16.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sequenced-bake/","maintainer":"Anthony-OConnell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Saving and opening image files"},"tags":["Material","Bake","Node"]},{"id":"quick_menu","schema_version":"1.0.0","name":"QuickMenu","version":"2.0.0","tagline":"Quick-Add/Mod & Quick-Cam","archive_hash":"sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2","archive_size":17449,"archive_url":"https://extensions.blender.org/download/sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2/add-on-quick-menu-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-menu/","maintainer":"QiuMu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"auto_track","schema_version":"1.0.0","name":"Auto-tracking","version":"1.0.0","tagline":"VFX motion tracking automation","archive_hash":"sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d","archive_size":3589,"archive_url":"https://extensions.blender.org/download/sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d/add-on-auto-track-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track/","maintainer":"mcd1992","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"snap_bisect","schema_version":"1.0.0","name":"Snap Bisect","version":"1.0.6","tagline":"Bisect operator with snapping to vertices or edge midpoints","archive_hash":"sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a","archive_size":3851,"archive_url":"https://extensions.blender.org/download/sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a/add-on-snap-bisect-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-bisect/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"shape_key_swapper_extension","schema_version":"1.0.0","name":"ShapeKeySwapper","version":"1.0.3","tagline":"Swap vertex positions between 0 and 1 of the active shape key","archive_hash":"sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0","archive_size":1941,"archive_url":"https://extensions.blender.org/download/sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0/add-on-shape-key-swapper-extension-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-swapper-extension/","maintainer":"Maro3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"passpartout_slider","schema_version":"1.0.0","name":"Passpartout Slider","version":"1.0.0","tagline":"Let's you control active camera Passpartout by pressing P","archive_hash":"sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21","archive_size":1819,"archive_url":"https://extensions.blender.org/download/sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21/add-on-passpartout-slider-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/passpartout-slider/","maintainer":"Costa","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Professional_theme","schema_version":"1.0.0","name":"Professional","version":"1.0.1","tagline":"Refined dark theme for professional use","archive_hash":"sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9","archive_size":36987,"archive_url":"https://extensions.blender.org/download/sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9/theme-professional-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/professional-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Piano_White_theme","schema_version":"1.0.0","name":"Piano_White","version":"1.0.2","tagline":"Elegant piano-inspired light theme","archive_hash":"sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d","archive_size":36289,"archive_url":"https://extensions.blender.org/download/sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d/theme-piano-white-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/piano-white-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Pastel_Pink_theme","schema_version":"1.0.0","name":"Pastel_Pink","version":"1.0.0","tagline":"Bright and poppy pastel pink Blender theme","archive_hash":"sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae","archive_size":36506,"archive_url":"https://extensions.blender.org/download/sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae/theme-pastel-pink-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/pastel-pink-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Midnight_theme","schema_version":"1.0.0","name":"Midnight","version":"1.0.1","tagline":"Midnight blue dark theme","archive_hash":"sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c","archive_size":36944,"archive_url":"https://extensions.blender.org/download/sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c/theme-midnight-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/midnight-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Metaseq_theme","schema_version":"1.0.0","name":"Metaseq","version":"1.0.1","tagline":"Light Metasequoia-style Blender theme","archive_hash":"sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c","archive_size":36310,"archive_url":"https://extensions.blender.org/download/sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c/theme-metaseq-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Maya2024_theme","schema_version":"1.0.0","name":"Maya2024","version":"1.0.1","tagline":"Maya-inspired Blender theme","archive_hash":"sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5","archive_size":36471,"archive_url":"https://extensions.blender.org/download/sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5/theme-maya2024-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/maya2024-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Graphite_theme","schema_version":"1.0.0","name":"Graphite","version":"1.0.2","tagline":"Dark cool blue-tinted graphite theme","archive_hash":"sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40","archive_size":36964,"archive_url":"https://extensions.blender.org/download/sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40/theme-graphite-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/graphite-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Emerald_theme","schema_version":"1.0.0","name":"Emerald","version":"1.0.1","tagline":"Cyber-style green theme","archive_hash":"sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d","archive_size":36939,"archive_url":"https://extensions.blender.org/download/sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d/theme-emerald-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/emerald-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Choco_Mint_theme","schema_version":"1.0.0","name":"Choco_Mint","version":"1.0.1","tagline":"Sweet and cool choco mint ice cream theme","archive_hash":"sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a","archive_size":36494,"archive_url":"https://extensions.blender.org/download/sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a/theme-choco-mint-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/choco-mint-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"keyframe_tools_extension","schema_version":"1.0.0","name":"Keyframe Tools","version":"1.0.7","tagline":"A set of tools for inserting, deleting, and moving keyframes","archive_hash":"sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e","archive_size":11009,"archive_url":"https://extensions.blender.org/download/sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e/add-on-keyframe-tools-extension-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-tools-extension/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"omUlete","schema_version":"1.0.0","name":"omUlete","version":"0.97.3","tagline":"A stand-alone exporter for the Panda3D .egg format","archive_hash":"sha256:9e56075efe33c6d36351c98076b311aa69186202981bbb44369e7e14ca0f1507","archive_size":12471,"archive_url":"https://extensions.blender.org/download/sha256:9e56075efe33c6d36351c98076b311aa69186202981bbb44369e7e14ca0f1507/add-on-omulete-v0.97.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omulete/","maintainer":"Jackson-Sutherland","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"save exported egg files"},"tags":["Import-Export","Game Engine"]},{"id":"custom_output_path","schema_version":"1.0.0","name":"Custom Output Path","version":"1.1.7","tagline":"Customize file output paths with placeholders","archive_hash":"sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc","archive_size":23227,"archive_url":"https://extensions.blender.org/download/sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc/add-on-custom-output-path-v1.1.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/custom-output-path/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Render"]},{"id":"render_preset","schema_version":"1.0.0","name":"Render Preset","version":"1.3.4","tagline":"Create and use render presets","archive_hash":"sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3","archive_size":74565,"archive_url":"https://extensions.blender.org/download/sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3/add-on-render-preset-v1.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-preset/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files in a user-defined location"},"tags":["Render","Pipeline"]},{"id":"mesh_maze","schema_version":"1.0.0","name":"Maze any Mesh","version":"1.2.2","tagline":"Convert any mesh to a maze pattern","archive_hash":"sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2","archive_size":18705,"archive_url":"https://extensions.blender.org/download/sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2/add-on-mesh-maze-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-maze/","maintainer":"elfnorcat","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Amethyst_theme","schema_version":"1.0.0","name":"Amethyst","version":"1.0.2","tagline":"Cyberpunk-inspired purple theme","archive_hash":"sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f","archive_size":36951,"archive_url":"https://extensions.blender.org/download/sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f/theme-amethyst-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/amethyst-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"NodePie","schema_version":"1.0.0","name":"Node Pie","version":"1.2.51","tagline":"Add nodes faster with a pie menu","archive_hash":"sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36","archive_size":414208,"archive_url":"https://extensions.blender.org/download/sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36/add-on-nodepie-v1.2.51.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nodepie/","maintainer":"Strike_Digital","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing config files"},"tags":["User Interface","Node"]},{"id":"drag_and_drop_support","schema_version":"1.0.0","name":"Drag and Drop Support","version":"1.2.0","tagline":"Support and improve drag and drop imports in Blender","archive_hash":"sha256:5fe4a5c876e4bcb30367b616e9bb6e790650f8066be12c17bed492c3d6735216","archive_size":28448,"archive_url":"https://extensions.blender.org/download/sha256:5fe4a5c876e4bcb30367b616e9bb6e790650f8066be12c17bed492c3d6735216/add-on-drag-and-drop-support-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/drag-and-drop-support/","maintainer":"Natsune-Mochizuki","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import models from the disk"},"tags":["3D View","Import-Export"]},{"id":"deep_gray_something","schema_version":"1.0.0","name":"Deep Gray Something","version":"1.0.1","tagline":"Blender 5 dark theme with blue and green selection highlights","archive_hash":"sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1","archive_size":6009,"archive_url":"https://extensions.blender.org/download/sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1/theme-deep-gray-something-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-gray-something/","maintainer":"blanchsb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast","Accessibility"]},{"id":"matbatchtools","schema_version":"1.0.0","name":"Material Batch Tools","version":"2.3.1","tagline":"Quick batch automation of common material tasks","archive_hash":"sha256:a8ba349a80d2d244416bc1b43f9b6f5445b689e926823b3bf9ce8835a6ccadb0","archive_size":35485,"archive_url":"https://extensions.blender.org/download/sha256:a8ba349a80d2d244416bc1b43f9b6f5445b689e926823b3bf9ce8835a6ccadb0/add-on-matbatchtools-v2.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matbatchtools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"sourceenginecollisiontools","schema_version":"1.0.0","name":"Source Engine Collision Tools","version":"3.0.0","tagline":"Generate & optimize collision models for use in Source Engine","archive_hash":"sha256:d8fcfb72759cc314f2e2b82b0a05b200082cdd5a4393c4fbf7a4b5bb90a7eead","archive_size":67984,"archive_url":"https://extensions.blender.org/download/sha256:d8fcfb72759cc314f2e2b82b0a05b200082cdd5a4393c4fbf7a4b5bb90a7eead/add-on-sourceenginecollisiontools-v3.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sourceenginecollisiontools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export collision-related QC and VMF files"},"tags":["Mesh","Object","Game Engine"]},{"id":"Key_Ops_Toolkit","schema_version":"1.0.0","name":"Key Ops: Toolkit","version":"0.2.1985","tagline":"Industri Standard Tools & Shortcuts to Speed Up Blender Workflow","archive_hash":"sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40","archive_size":201205,"archive_url":"https://extensions.blender.org/download/sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40/add-on-key-ops-toolkit-v0.2.1985.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/key-ops-toolkit/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export/Import .obj files and use of temp folder"},"tags":["Modeling","Mesh","Object","UV","3D View"]},{"id":"hot_node","schema_version":"1.0.0","name":"Hot Node","version":"1.2.1","tagline":"Add nodes like adding node","archive_hash":"sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4","archive_size":113483,"archive_url":"https://extensions.blender.org/download/sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4/add-on-hot-node-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hot-node/","maintainer":"Trantor","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access file system for storing custom nodes"},"tags":["Node","Geometry Nodes","Material"]},{"id":"ZenUVChecker","schema_version":"1.0.0","name":"Zen UV Checker","version":"1.4.12","tagline":"Check the state of UVs on the model easily with Checker Textures","archive_hash":"sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672","archive_size":2989286,"archive_url":"https://extensions.blender.org/download/sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672/add-on-zenuvchecker-v1.4.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/zenuvchecker/","maintainer":"Sergey_Tyapkin","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to folders for importing Checker Textures"},"tags":["UV"]},{"id":"improved_node_search","schema_version":"1.0.0","name":"Improved Node Search","version":"1.0.5","tagline":"Navigate your node tree faster via more node search options","archive_hash":"sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4","archive_size":11647,"archive_url":"https://extensions.blender.org/download/sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4/add-on-improved-node-search-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/improved-node-search/","maintainer":"Griperis","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"noise_nodes","schema_version":"1.0.0","name":"Noise Nodes","version":"0.7.0","tagline":"Advance Noise Nodes For blender","archive_hash":"sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc","archive_size":1482042,"archive_url":"https://extensions.blender.org/download/sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc/add-on-noise-nodes-v0.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/noise-nodes/","maintainer":"Haseeb-Ahmed-3","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"Modifier_List_Fork","schema_version":"1.0.0","name":"Modifier List","version":"1.9.88","tagline":"Enhanced Modifier UI/Features, now with Edit Mesh Modifier","archive_hash":"sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55","archive_size":164500,"archive_url":"https://extensions.blender.org/download/sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55/add-on-modifier-list-fork-v1.9.88.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifier-list-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save Add-on Prefrences"},"tags":["Modeling","User Interface"]},{"id":"PolyQuilt_Fork","schema_version":"1.0.0","name":"PolyQuilt Retopology Tool","version":"1.45.9","tagline":"Retopology Tool for Blender","archive_hash":"sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5","archive_size":179729,"archive_url":"https://extensions.blender.org/download/sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5/add-on-polyquilt-fork-v1.45.9.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/polyquilt-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"clear_filepaths","schema_version":"1.0.0","name":"Clear Filepaths","version":"1.1.2","tagline":"Removes personal filepaths from your .blend file","archive_hash":"sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9","archive_size":4114,"archive_url":"https://extensions.blender.org/download/sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9/add-on-clear-filepaths-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clear-filepaths/","maintainer":"FlailingFog","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Saves a copy of a .blend file without filepaths"},"platforms":["windows-x64"],"tags":["System"]},{"id":"onyx","schema_version":"1.0.0","name":"Onyx","version":"1.1.0","tagline":"A minimalistic dark theme","archive_hash":"sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6","archive_size":5177,"archive_url":"https://extensions.blender.org/download/sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6/theme-onyx-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/onyx/","maintainer":"Aeraglyx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"tiny_backup","schema_version":"1.0.0","name":"Tiny Backup","version":"1.0.2","tagline":"A minimalistic backup solution","archive_hash":"sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc","archive_size":13763,"archive_url":"https://extensions.blender.org/download/sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc/add-on-tiny-backup-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tiny-backup/","maintainer":"Thane5","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Save backups on disk"},"tags":["System"]},{"id":"Randomize_Bones_Pose","schema_version":"1.0.0","name":"Randomize_Bones_Pose","version":"2.0.0","tagline":"Randomize_Bones_Pose","archive_hash":"sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4","archive_size":16685,"archive_url":"https://extensions.blender.org/download/sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4/add-on-randomize-bones-pose-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-bones-pose/","maintainer":"IZ.MdVerz","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"omniscient","schema_version":"1.0.0","name":"Omniscient Importer","version":"2.3.5","tagline":"Automated scene setup for shots recorded with Omniscient iOS app","archive_hash":"sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e","archive_size":119480,"archive_url":"https://extensions.blender.org/download/sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e/add-on-omniscient-v2.3.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omniscient/","maintainer":"Omniscient","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .omni file from disk"},"tags":["Tracking","Import-Export","Camera","Compositing","Animation","Mesh","Scene"]},{"id":"pose_shape_keys","schema_version":"1.0.0","name":"Pose Shape Keys","version":"1.0.0","tagline":"Preserve your shape keys through weight changes, and much more","archive_hash":"sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6","archive_size":35835,"archive_url":"https://extensions.blender.org/download/sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6/add-on-pose-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pose-shape-keys/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"select_panel_xdanic","schema_version":"1.0.0","name":"Select panel","version":"0.1.5","tagline":"All selections and more under a panel","archive_hash":"sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793","archive_size":4058,"archive_url":"https://extensions.blender.org/download/sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793/add-on-select-panel-xdanic-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-panel-xdanic/","maintainer":"xdanic","license":["SPDX:GPL-2.0"],"tags":["User Interface"]},{"id":"theme_XP_AliVe","schema_version":"1.0.0","name":"XP_AliVe","version":"1.0.3","tagline":"Blender theme inspired by 2000s","archive_hash":"sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a","archive_size":5978,"archive_url":"https://extensions.blender.org/download/sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a/theme-theme-xp-alive-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xp-alive/","maintainer":"AliVe","license":["SPDX:GPL-2.0-or-later"],"tags":["Colorful","High Contrast","Inspired By","Accessibility"]},{"id":"MustardUI","schema_version":"1.0.0","name":"MustardUI","version":"2025.8.5","tagline":"Easy-to-use UI for human characters","archive_hash":"sha256:fc82dd612b09a3f1d24798466d86804ceaeacdfa2799533a54db14b9b79d9deb","archive_size":424942,"archive_url":"https://extensions.blender.org/download/sha256:fc82dd612b09a3f1d24798466d86804ceaeacdfa2799533a54db14b9b79d9deb/add-on-mustardui-v2025.8.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mustardui/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export templates from/to disk"},"tags":["User Interface"]},{"id":"Half_Knife","schema_version":"1.0.0","name":"Half Knife","version":"1.3.85","tagline":"Optimized for fast workflow knife tool for Blender","archive_hash":"sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83","archive_size":15498,"archive_url":"https://extensions.blender.org/download/sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83/add-on-half-knife-v1.3.85.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/half-knife/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"node_quick_maths","schema_version":"1.0.0","name":"Node Quick Maths","version":"1.2.2","tagline":"A fast way to make long math chains in node editors","archive_hash":"sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac","archive_size":22432,"archive_url":"https://extensions.blender.org/download/sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac/add-on-node-quick-maths-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-quick-maths/","maintainer":"Zeptofine","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"easyweight","schema_version":"1.0.0","name":"EasyWeight","version":"1.0.9","tagline":"Weight Painting Workflow Boosters","archive_hash":"sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0","archive_size":42626,"archive_url":"https://extensions.blender.org/download/sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0/add-on-easyweight-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easyweight/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"set_smooth_group","schema_version":"1.0.0","name":"Set Smooth Group","version":"1.1.0","tagline":"Simplify setting smooth groups with sharp edges","archive_hash":"sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b","archive_size":17228,"archive_url":"https://extensions.blender.org/download/sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b/add-on-set-smooth-group-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-smooth-group/","maintainer":"VIktor-Kom","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"toggle_socket_visibility","schema_version":"1.0.0","name":"Toggle Socket Visibility","version":"1.0.0","tagline":"Control which node sockets are visible or not via panel/pop-up","archive_hash":"sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f","archive_size":7638,"archive_url":"https://extensions.blender.org/download/sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f/add-on-toggle-socket-visibility-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-socket-visibility/","maintainer":"quackarooni","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"strange_attractors","schema_version":"1.0.0","name":"Strange Attractors","version":"2.1.0","tagline":"Add Strange Attractor curves","archive_hash":"sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06/add-on-strange-attractors-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/strange-attractors/","maintainer":"7bitretro","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"k_tools_view_sync","schema_version":"1.0.0","name":"Sync | Lock Viewport","version":"2.7.0","tagline":"Sync or Lock multiple viewports at once in real-time","archive_hash":"sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf","archive_size":46836,"archive_url":"https://extensions.blender.org/download/sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf/add-on-k-tools-view-sync-v2.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-view-sync/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"universal_multi_importer","schema_version":"1.0.0","name":"Universal Multi Importer","version":"2.3.3","tagline":"Batch Import many file formats at once, Batch process them","archive_hash":"sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599","archive_size":118110,"archive_url":"https://extensions.blender.org/download/sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599/add-on-universal-multi-importer-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/universal-multi-importer/","maintainer":"Tilapiatsu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Files from disk, save presets to disk"},"tags":["Import-Export","Pipeline"]},{"id":"BAM","schema_version":"1.0.0","name":"[BAM] AutoMat","version":"1.2.1","tagline":"Batch creation of materials from textures folder","archive_hash":"sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649","archive_size":563501,"archive_url":"https://extensions.blender.org/download/sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649/add-on-bam-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bam/","maintainer":"AlexeyHRDesign","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Import-Export"]},{"id":"action_to_scene_range","schema_version":"1.0.0","name":"Action to Scene Range","version":"1.7.0","tagline":"When switching Actions, automatically set the Scene Frame Range","archive_hash":"sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf","archive_size":2520,"archive_url":"https://extensions.blender.org/download/sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf/add-on-action-to-scene-range-v1.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/action-to-scene-range/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"face_set_operators","schema_version":"1.0.0","name":"Face Set Operators","version":"1.0.0","tagline":"Convert sculpt mode attributes into anything you need","archive_hash":"sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6","archive_size":4650,"archive_url":"https://extensions.blender.org/download/sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6/add-on-face-set-operators-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-set-operators/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt","Mesh"]},{"id":"my_best_pie_menu_ever","schema_version":"1.0.0","name":"My Best Pie Menu Ever","version":"2.9.1","tagline":"Quick access to the functions you need","archive_hash":"sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c","archive_size":84510,"archive_url":"https://extensions.blender.org/download/sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c/add-on-my-best-pie-menu-ever-v2.9.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/my-best-pie-menu-ever/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["3D View","User Interface"]},{"id":"mmd_tools","schema_version":"1.0.0","name":"MMD Tools","version":"4.5.5","tagline":"Utility tools for MMD model editing","archive_hash":"sha256:b68abf8a0e0cff02129c587c5f00b05427a9b49adc13796f8162e1c89130f33a","archive_size":745015,"archive_url":"https://extensions.blender.org/download/sha256:b68abf8a0e0cff02129c587c5f00b05427a9b49adc13796f8162e1c89130f33a/add-on-mmd-tools-v4.5.5.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/mmd-tools/","maintainer":"MMD","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PMX/PMD/VMD/VPD from/to disk"},"tags":["3D View","Camera","Import-Export","Material","Mesh","Object","Physics"]},{"id":"bioxelnodes","schema_version":"1.0.0","name":"Bioxel Nodes","version":"1.0.9","tagline":"For scientific volumetric data visualization in Blender","archive_hash":"sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620","archive_size":28047296,"archive_url":"https://extensions.blender.org/download/sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620/add-on-bioxelnodes-v1.0.9-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bioxelnodes/","maintainer":"icrdr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export volume data from/to disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Render","Import-Export"]},{"id":"molecularnodes","schema_version":"1.0.0","name":"Molecular Nodes","version":"4.5.9","tagline":"A toolbox for molecular import and animation in Blender","archive_hash":"sha256:715443e78827f8d691322e2fd3a9c026c65517a7df500e5c22ed42a7ea42924a","archive_size":130834860,"archive_url":"https://extensions.blender.org/download/sha256:715443e78827f8d691322e2fd3a9c026c65517a7df500e5c22ed42a7ea42924a/add-on-molecularnodes-v4.5.9-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/molecularnodes/","maintainer":"bradyajohnston","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk and caching downloads","network":"Downloading structural data from the PDB and AFPDB"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"io_scene_psk_psa","schema_version":"1.0.0","name":"Unreal PSK/PSA (.psk/.psa)","version":"9.0.2","tagline":"Import and export PSK and PSA files used in Unreal Engine","archive_hash":"sha256:b702c28f1eeb117eb29c2e3383d645522e298235973995c113dbda20a777f32f","archive_size":71367,"archive_url":"https://extensions.blender.org/download/sha256:b702c28f1eeb117eb29c2e3383d645522e298235973995c113dbda20a777f32f/add-on-io-scene-psk-psa-v9.0.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-scene-psk-psa/","maintainer":"cmbasnett","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write PSK and PSA files from and to disk"},"tags":["Game Engine","Import-Export"]},{"id":"theme_Plasticity","schema_version":"1.0.0","name":"Plasticity","version":"2.0.0","tagline":"Theme Inspired By Plasticity app","archive_hash":"sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351","archive_size":6395,"archive_url":"https://extensions.blender.org/download/sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351/theme-theme-plasticity-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-plasticity/","maintainer":"SHEK","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast","Inspired By","Accessibility"]},{"id":"open_stage_blender_dmx","schema_version":"1.0.0","name":"DMX","version":"2.1.3","tagline":"Visualization & programming with GDTF&MVR, OSC, PSN, Networking","archive_hash":"sha256:55aecf28a10ca7630a8087f89370d9203ad64df0850e50aa6707c02ea336682e","archive_size":2083339,"archive_url":"https://extensions.blender.org/download/sha256:55aecf28a10ca7630a8087f89370d9203ad64df0850e50aa6707c02ea336682e/add-on-open-stage-blender-dmx-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-stage-blender-dmx/","maintainer":"Sunova","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import GDTF devices. Import/Export MVR scenes and project data","network":"For GDTF Share, sACN, Art-Net, OSC, PSN, MVR-xchange"},"tags":["Lighting","Animation","Scene","Import-Export","Rigging","Tracking","Sequencer","3D View","Camera"]},{"id":"maze_generator","schema_version":"1.0.0","name":"Maze Generator","version":"0.2.5","tagline":"A Maze generator extension for Blender","archive_hash":"sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030","archive_size":22231,"archive_url":"https://extensions.blender.org/download/sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030/add-on-maze-generator-v0.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maze-generator/","maintainer":"Leeroy-Majors","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"node_group_presets","schema_version":"1.0.0","name":"Node Group Presets","version":"0.7.1","tagline":"Save Node Group values as presets","archive_hash":"sha256:188e60ae6d31863003585b11d3af7af0d4fa04d03093f996889fd66460b8d644","archive_size":27682,"archive_url":"https://extensions.blender.org/download/sha256:188e60ae6d31863003585b11d3af7af0d4fa04d03093f996889fd66460b8d644/add-on-node-group-presets-v0.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-presets/","maintainer":"juaum","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy/paste presets between nodedroups and across files"},"tags":["Geometry Nodes","Material","Node"]},{"id":"booltron","schema_version":"1.0.0","name":"Booltron","version":"3.2.3","tagline":"Super add-on for superfast booleans","archive_hash":"sha256:3cd4c074c9340fe2fbbeef09adc95969a4c3f2852a01d688cb9e4a6020ce2535","archive_size":163165,"archive_url":"https://extensions.blender.org/download/sha256:3cd4c074c9340fe2fbbeef09adc95969a4c3f2852a01d688cb9e4a6020ce2535/add-on-booltron-v3.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/booltron/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"Dark_Pro","schema_version":"1.0.0","name":"Dark Pro","version":"2.0.2","tagline":"Just a little darker","archive_hash":"sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b","archive_size":5431,"archive_url":"https://extensions.blender.org/download/sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b/theme-dark-pro-v2.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/dark-pro/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"quick_groups","schema_version":"1.0.0","name":"Quick Groups (Instances)","version":"1.0.3","tagline":"Group objects with Ctrl+G using instances","archive_hash":"sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c","archive_size":6862,"archive_url":"https://extensions.blender.org/download/sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c/add-on-quick-groups-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-groups/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling"]},{"id":"t3d_gn_presets","schema_version":"1.0.0","name":"T3D GN Presets","version":"1.6.0","tagline":"A versatile collection of useful node groups for Geometry Nodes","archive_hash":"sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd","archive_size":835788,"archive_url":"https://extensions.blender.org/download/sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd/add-on-t3d-gn-presets-v1.6.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/t3d-gn-presets/","maintainer":"Tams_3d","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Append node-groups from source file"},"tags":["Geometry Nodes"]},{"id":"per_camera_resolution","schema_version":"1.0.0","name":"Per-Camera Resolution","version":"2.3.0","tagline":"Every camera should have its resolution","archive_hash":"sha256:d24ba104ec8a5ea6eab369c441a6aba0e50f58ff1a079171cd67883177688421","archive_size":11164,"archive_url":"https://extensions.blender.org/download/sha256:d24ba104ec8a5ea6eab369c441a6aba0e50f58ff1a079171cd67883177688421/add-on-per-camera-resolution-v2.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/per-camera-resolution/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","Camera"]},{"id":"synchronize_workspaces","schema_version":"1.0.0","name":"Synchronize Workspaces","version":"1.14.0","tagline":"Synchronize 3D views between workspaces","archive_hash":"sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5","archive_size":3974,"archive_url":"https://extensions.blender.org/download/sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5/add-on-synchronize-workspaces-v1.14.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/synchronize-workspaces/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"grease_pencil_tool_wheel","schema_version":"1.0.0","name":"GP Tool Wheel","version":"1.0.11","tagline":"Extended pie menu for selecting Grease Pencil tools quickly","archive_hash":"sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6","archive_size":206402,"archive_url":"https://extensions.blender.org/download/sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6/add-on-grease-pencil-tool-wheel-v1.0.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tool-wheel/","maintainer":"SietseB","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Grease Pencil"]},{"id":"commotion","schema_version":"1.0.0","name":"Commotion","version":"2.5.0","tagline":"Animation offset tools for motion graphics","archive_hash":"sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb","archive_size":27868,"archive_url":"https://extensions.blender.org/download/sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb/add-on-commotion-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/commotion/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"find_bad_tracks","schema_version":"1.0.0","name":"Find Bad Tracks","version":"1.0.2","tagline":"Highlight motion tracks that move in suspicious directions","archive_hash":"sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8","archive_size":25067,"archive_url":"https://extensions.blender.org/download/sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8/add-on-find-bad-tracks-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/find-bad-tracks/","maintainer":"Walles","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"cloudrig","schema_version":"1.0.0","name":"CloudRig","version":"2.2.4","tagline":"Rig Generation & Rigging Workflow Tools","archive_hash":"sha256:2b7a74ea1f4e6c69fcf735509b164beb0e181008e44055735c4e7f4acffea90b","archive_size":3373231,"archive_url":"https://extensions.blender.org/download/sha256:2b7a74ea1f4e6c69fcf735509b164beb0e181008e44055735c4e7f4acffea90b/add-on-cloudrig-v2.2.4.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/cloudrig/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load widgets/metarigs/preferences from disk","clipboard":"Copy/paste Bone Collections between armatures"},"tags":["Rigging"]},{"id":"theme_drcl","schema_version":"1.0.0","name":"drcl","version":"1.0.3","tagline":"A variation of Dracula dark theme","archive_hash":"sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040","archive_size":4955,"archive_url":"https://extensions.blender.org/download/sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040/theme-theme-drcl-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-drcl/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"YB_Animator_Tool","schema_version":"1.0.0","name":"YB Animator Tool","version":"1.1.3","tagline":"export grease pencil layers as keyframes and CSV","archive_hash":"sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b","archive_size":5541,"archive_url":"https://extensions.blender.org/download/sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b/add-on-yb-animator-tool-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/yb-animator-tool/","maintainer":"YB_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Output CSV and sequence diagram"},"tags":["Grease Pencil","Animation","User Interface"]},{"id":"keymesh","schema_version":"1.0.0","name":"Keymesh","version":"2.3.2","tagline":"Create stop-motion animations by sculpting frame-by-frame","archive_hash":"sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a","archive_size":42763,"archive_url":"https://extensions.blender.org/download/sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a/add-on-keymesh-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keymesh/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store generated pose preview images and/or load them from disk"},"tags":["Animation","Sculpt","Mesh"]},{"id":"node_annotator","schema_version":"1.0.0","name":"Node Annotator","version":"0.4.2","tagline":"Easily create good documentation of your node trees","archive_hash":"sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef","archive_size":28721,"archive_url":"https://extensions.blender.org/download/sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef/add-on-node-annotator-v0.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-annotator/","maintainer":"FrankFirsching","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"toggle_language","schema_version":"1.0.0","name":"Toggle Language","version":"1.6.2","tagline":"One click to toggle UI between two languages","archive_hash":"sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe","archive_size":31213,"archive_url":"https://extensions.blender.org/download/sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe/add-on-toggle-language-v1.6.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-language/","maintainer":"del1a8dc50179276c0","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_lighting_environment","schema_version":"1.0.0","name":"QLE (Quick Lighting Environment)","version":"1.8.0","tagline":"Adds a Basic Lighting Setup to Your Blender Scene","archive_hash":"sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883","archive_size":105787,"archive_url":"https://extensions.blender.org/download/sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883/add-on-quick-lighting-environment-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-lighting-environment/","maintainer":"don1138","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"SB_path_actions","schema_version":"1.0.0","name":"Path Actions","version":"2.3.2","tagline":"Open blend folder in OS explorer, and more","archive_hash":"sha256:1d7682d2823d6a5a5bfe7c6487950d977c55029d04fb0a02beaf064f296adeb2","archive_size":32198,"archive_url":"https://extensions.blender.org/download/sha256:1d7682d2823d6a5a5bfe7c6487950d977c55029d04fb0a02beaf064f296adeb2/add-on-sb-path-actions-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sb-path-actions/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open folders, List Blend files","clipboard":"Copy path to files"},"tags":["System","Development"]},{"id":"print3d_toolbox","schema_version":"1.0.0","name":"3D Print Toolbox","version":"1.3.0","tagline":"Utilities for 3D printing","archive_hash":"sha256:089f2d801824e94f4589cdc80d1ea19666e36b9dca1822208387131198b9c8e2","archive_size":142658,"archive_url":"https://extensions.blender.org/download/sha256:089f2d801824e94f4589cdc80d1ea19666e36b9dca1822208387131198b9c8e2/add-on-print3d-toolbox-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/print3d-toolbox/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export STL, PLY, OBJ files"},"tags":["Mesh"]},{"id":"fls_blcn","schema_version":"1.0.0","name":"Fast Language Switch","version":"0.0.5","tagline":"Fast change the language of the interface","archive_hash":"sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9","archive_size":2475,"archive_url":"https://extensions.blender.org/download/sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9/add-on-fls-blcn-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fls-blcn/","maintainer":"Kk","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"theme_xsi","schema_version":"1.0.0","name":"Softimage XSI","version":"5.0.0","tagline":"Community-made theme inspired by Softimage XSI","archive_hash":"sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443","archive_size":6273,"archive_url":"https://extensions.blender.org/download/sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443/theme-theme-xsi-v5.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xsi/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By"]},{"id":"theme_white","schema_version":"1.0.0","name":"White","version":"1.0.1","tagline":"Community-made theme","archive_hash":"sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0","archive_size":6242,"archive_url":"https://extensions.blender.org/download/sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0/theme-theme-white-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-white/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_print_friendly","schema_version":"1.0.0","name":"Print Friendly","version":"2.0.0","tagline":"Community-made theme optimized for printing","archive_hash":"sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24","archive_size":5585,"archive_url":"https://extensions.blender.org/download/sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24/theme-theme-print-friendly-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-print-friendly/","maintainer":"JasonvanGumster","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_minimal_dark","schema_version":"1.0.0","name":"Minimal Dark","version":"3.1.2","tagline":"A flat dark theme for Blender","archive_hash":"sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a","archive_size":7358,"archive_url":"https://extensions.blender.org/download/sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a/theme-theme-minimal-dark-v3.1.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-minimal-dark/","maintainer":"jlampel","license":["SPDX:GPL-2.0-or-later"]},{"id":"theme_maya","schema_version":"1.0.0","name":"Maya","version":"2.0.0","tagline":"Community-made theme inspired by Maya","archive_hash":"sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a","archive_size":5859,"archive_url":"https://extensions.blender.org/download/sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a/theme-theme-maya-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-maya/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"theme_deep_grey","schema_version":"1.0.0","name":"Deep Grey","version":"2.0.3","tagline":"A comfortable medium dark theme for Blender","archive_hash":"sha256:86ec45b09abcbaf00bf2f28ff6d056784810a1a0b5b86b9a72f95c18ce8eb471","archive_size":5550,"archive_url":"https://extensions.blender.org/download/sha256:86ec45b09abcbaf00bf2f28ff6d056784810a1a0b5b86b9a72f95c18ce8eb471/theme-theme-deep-grey-v2.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-deep-grey/","maintainer":"TheRedWaxPolice","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"skinify_rig","schema_version":"1.0.0","name":"Skinify Rig","version":"0.11.2","tagline":"Creates a mesh object from selected bones","archive_hash":"sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61","archive_size":6450,"archive_url":"https://extensions.blender.org/download/sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61/add-on-skinify-rig-v0.11.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skinify-rig/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"f2","schema_version":"1.0.0","name":"F2","version":"1.8.5","tagline":"Extends the 'Make Edge/Face' functionality","archive_hash":"sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c","archive_size":5505,"archive_url":"https://extensions.blender.org/download/sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c/add-on-f2-v1.8.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/f2/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"navigation","schema_version":"1.0.0","name":"3D Navigation","version":"1.3.0","tagline":"Navigate the 3D Viewport from the Sidebar","archive_hash":"sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed","archive_size":3238,"archive_url":"https://extensions.blender.org/download/sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed/add-on-navigation-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"amaranth","schema_version":"1.0.0","name":"Amaranth","version":"1.0.29","tagline":"A collection of tools to improve productivity","archive_hash":"sha256:05976c27d5779ad056921a08037cf0dd7506ded1d2059b4d08c0514f889197e3","archive_size":49317,"archive_url":"https://extensions.blender.org/download/sha256:05976c27d5779ad056921a08037cf0dd7506ded1d2059b4d08c0514f889197e3/add-on-amaranth-v1.0.29.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/amaranth/","maintainer":"pablovazquez","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render","Compositing","User Interface","Scene","Lighting"]},{"id":"math_vis_console","schema_version":"1.0.0","name":"Math Vis (Console)","version":"0.2.2","tagline":"Display console defined mathutils variables in the 3D view","archive_hash":"sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a","archive_size":6507,"archive_url":"https://extensions.blender.org/download/sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a/add-on-math-vis-console-v0.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/math-vis-console/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"auto_mirror","schema_version":"1.0.0","name":"Auto Mirror","version":"2.5.4","tagline":"Super fast cutting and mirroring for mesh","archive_hash":"sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7","archive_size":3571,"archive_url":"https://extensions.blender.org/download/sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7/add-on-auto-mirror-v2.5.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-mirror/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"snap_utilities_line","schema_version":"1.0.0","name":"Snap Line Tool","version":"6.8.1","tagline":"Extends Blender Snap controls","archive_hash":"sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc","archive_size":32147,"archive_url":"https://extensions.blender.org/download/sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc/add-on-snap-utilities-line-v6.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-utilities-line/","maintainer":"mano-wii","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"looptools","schema_version":"1.0.0","name":"LoopTools","version":"4.7.7","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108","archive_size":30534,"archive_url":"https://extensions.blender.org/download/sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108/add-on-looptools-v4.7.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/looptools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"node_arrange","schema_version":"1.0.0","name":"Node Arrange","version":"1.10.0","tagline":"Arrange node trees with one click","archive_hash":"sha256:d43bc5168e99e6d7fe12dc590cc383d9a85bd9b1eb94bbc85e0b54c31a29f915","archive_size":1756037,"archive_url":"https://extensions.blender.org/download/sha256:d43bc5168e99e6d7fe12dc590cc383d9a85bd9b1eb94bbc85e0b54c31a29f915/add-on-node-arrange-v1.10.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-arrange/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"antlandscape","schema_version":"1.0.0","name":"A.N.T.Landscape","version":"0.2.0","tagline":"Another Noise Tool: Landscape and Displace","archive_hash":"sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0","archive_size":60899,"archive_url":"https://extensions.blender.org/download/sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0/add-on-antlandscape-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/antlandscape/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"dynamic_context_menu","schema_version":"1.0.0","name":"Dynamic Context Menu","version":"1.9.4","tagline":"Object Mode Context Sensitive Spacebar Menu","archive_hash":"sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5","archive_size":15679,"archive_url":"https://extensions.blender.org/download/sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5/add-on-dynamic-context-menu-v1.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-context-menu/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"material_library","schema_version":"1.0.0","name":"Material Library","version":"0.6.0","tagline":"Material Library VX","archive_hash":"sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019","archive_size":594898,"archive_url":"https://extensions.blender.org/download/sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019/add-on-material-library-v0.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-library/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Material"]},{"id":"copy_attributes_menu","schema_version":"1.0.0","name":"Copy Attributes Menu","version":"0.6.3","tagline":"Copy Attributes Menu","archive_hash":"sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478","archive_size":8270,"archive_url":"https://extensions.blender.org/download/sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478/add-on-copy-attributes-menu-v0.6.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-attributes-menu/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"material_utilities","schema_version":"1.0.0","name":"Material Utilities","version":"2.2.3","tagline":"Menu of material tools (assign, select..) in the 3D View","archive_hash":"sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739","archive_size":16895,"archive_url":"https://extensions.blender.org/download/sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739/add-on-material-utilities-v2.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-utilities/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"edit_linked_library","schema_version":"1.0.0","name":"Edit Linked Library","version":"0.9.2","tagline":"Allows editing of objects, collections, and node groups lin . . ","archive_hash":"sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234","archive_size":3575,"archive_url":"https://extensions.blender.org/download/sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234/add-on-edit-linked-library-v0.9.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-linked-library/","maintainer":"JasonvanGumster","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"simplify_curves_plus","schema_version":"1.0.0","name":"Simplify Curves+","version":"1.1.3","tagline":"Simplify Curves: 3dview, Dopesheet, Graph","archive_hash":"sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851","archive_size":5943,"archive_url":"https://extensions.blender.org/download/sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851/add-on-simplify-curves-plus-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simplify-curves-plus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"modifier_tools","schema_version":"1.0.0","name":"Modifier Tools","version":"0.2.7","tagline":"Modifiers Specials Show/Hide/Apply Selected","archive_hash":"sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a","archive_size":2718,"archive_url":"https://extensions.blender.org/download/sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a/add-on-modifier-tools-v0.2.7.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modifier-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"extra_mesh_objects","schema_version":"1.0.0","name":"Extra Mesh Objects","version":"0.4.0","tagline":"Add extra mesh object types","archive_hash":"sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61","archive_size":130665,"archive_url":"https://extensions.blender.org/download/sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61/add-on-extra-mesh-objects-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-mesh-objects/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"export_paper_model","schema_version":"1.0.0","name":"Export Paper Model","version":"1.4.2","tagline":"Export printable net of a Mesh object","archive_hash":"sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba","archive_size":35606,"archive_url":"https://extensions.blender.org/download/sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba/add-on-export-paper-model-v1.4.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-paper-model/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk"},"tags":["Import-Export"]},{"id":"precision_drawing_tools_pdt","schema_version":"1.0.0","name":"Precision Drawing Tools (PDT)","version":"1.5.3","tagline":"Precision Drawing Tools for Accurate Modelling","archive_hash":"sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266","archive_size":49495,"archive_url":"https://extensions.blender.org/download/sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266/add-on-precision-drawing-tools-pdt-v1.5.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/precision-drawing-tools-pdt/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"extra_curve_objectes","schema_version":"1.0.0","name":"Extra Curve Objects","version":"0.2.0","tagline":"Add extra curve object types","archive_hash":"sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909","archive_size":52956,"archive_url":"https://extensions.blender.org/download/sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909/add-on-extra-curve-objectes-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-curve-objectes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"tinycad_mesh_tools","schema_version":"1.0.0","name":"tinyCAD Mesh tools","version":"1.3.3","tagline":"tinyCAD Mesh tools Add-on","archive_hash":"sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6","archive_size":37134,"archive_url":"https://extensions.blender.org/download/sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6/add-on-tinycad-mesh-tools-v1.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tinycad-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"collection_manager","schema_version":"1.0.0","name":"Collection Manager","version":"2.24.11","tagline":"Manage collections and their objects","archive_hash":"sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5","archive_size":42496,"archive_url":"https://extensions.blender.org/download/sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5/add-on-collection-manager-v2.24.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-manager/","maintainer":"Imaginer","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"import_palettes","schema_version":"1.0.0","name":"Import Palettes","version":"1.0.5","tagline":"Import Palettes","archive_hash":"sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd","archive_size":4151,"archive_url":"https://extensions.blender.org/download/sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd/add-on-import-palettes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-palettes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"autodesk_3ds_format","schema_version":"1.0.0","name":"Autodesk 3D Studio (.3ds)","version":"3.0.1","tagline":"Import-Export 3DS scenes, objects, cameras, lights & animations","archive_hash":"sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9","archive_size":208325,"archive_url":"https://extensions.blender.org/download/sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9/add-on-autodesk-3ds-format-v3.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autodesk-3ds-format/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import-Export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"storypencil_storyboard_tools","schema_version":"1.0.0","name":"Storypencil - Storyboard Tools","version":"1.2.0","tagline":"Storyboard tools","archive_hash":"sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6","archive_size":20608,"archive_url":"https://extensions.blender.org/download/sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6/add-on-storypencil-storyboard-tools-v1.2.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/storypencil-storyboard-tools/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"object_color_rules","schema_version":"1.0.0","name":"Object Color Rules","version":"0.0.2","tagline":"Rules for assigning object color (for object & wireframe co . . ","archive_hash":"sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5","archive_size":4057,"archive_url":"https://extensions.blender.org/download/sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5/add-on-object-color-rules-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/object-color-rules/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"stored_views","schema_version":"1.0.0","name":"Stored Views","version":"0.4.0","tagline":"Save and restore views, pov, layers & display configs","archive_hash":"sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0","archive_size":24199,"archive_url":"https://extensions.blender.org/download/sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0/add-on-stored-views-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stored-views/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it stores/reads view presets"},"tags":["3D View"]},{"id":"cell_fracture","schema_version":"1.0.0","name":"Cell Fracture","version":"0.2.1","tagline":"Fractured Object Creation","archive_hash":"sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2","archive_size":9722,"archive_url":"https://extensions.blender.org/download/sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2/add-on-cell-fracture-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cell-fracture/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"import_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Import AutoCAD DXF Format (.dxf)","version":"0.9.10","tagline":"Import files in the Autocad DXF format (.dxf)","archive_hash":"sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3","archive_size":57092,"archive_url":"https://extensions.blender.org/download/sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3/add-on-import-autocad-dxf-format-dxf-v0.9.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with .dxf files"},"tags":["Import-Export"]},{"id":"bool_tool","schema_version":"1.0.0","name":"Bool Tool","version":"2.0.0","tagline":"Quick boolean operators and tools for hard surface modeling","archive_hash":"sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d","archive_size":167487,"archive_url":"https://extensions.blender.org/download/sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d/add-on-bool-tool-v2.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bool-tool/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"vdm_brush_baker","schema_version":"1.0.0","name":"VDM Brush Baker","version":"1.0.6","tagline":"Bake vector displacement brushes easily from a plane","archive_hash":"sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419","archive_size":5781,"archive_url":"https://extensions.blender.org/download/sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419/add-on-vdm-brush-baker-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vdm-brush-baker/","maintainer":"robin.hohni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on saves textures to disk"},"tags":["Bake","Sculpt"]},{"id":"add_camera_rigs","schema_version":"1.0.0","name":"Add Camera Rigs","version":"1.8.1","tagline":"Adds a Camera Rig with UI","archive_hash":"sha256:53fe57263b25e7f72710eb1b29d295279cca1d8d235a9b95ee22e380a6dcad8d","archive_size":13546,"archive_url":"https://extensions.blender.org/download/sha256:53fe57263b25e7f72710eb1b29d295279cca1d8d235a9b95ee22e380a6dcad8d/add-on-add-camera-rigs-v1.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-camera-rigs/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"ivygen","schema_version":"1.0.0","name":"IvyGen","version":"0.1.5","tagline":"Adds generated ivy to a mesh object starting at the 3D cursor","archive_hash":"sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98","archive_size":7172,"archive_url":"https://extensions.blender.org/download/sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98/add-on-ivygen-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ivygen/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"measureit","schema_version":"1.0.0","name":"MeasureIt","version":"1.8.4","tagline":"Tools for measuring objects","archive_hash":"sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042","archive_size":28891,"archive_url":"https://extensions.blender.org/download/sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042/add-on-measureit-v1.8.4.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/measureit/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"tri_lighting","schema_version":"1.0.0","name":"Tri-lighting","version":"0.2.1","tagline":"Add 3 Point Lighting to Selected / Active Object","archive_hash":"sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b","archive_size":3531,"archive_url":"https://extensions.blender.org/download/sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b/add-on-tri-lighting-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tri-lighting/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"grease_pencil_tools","schema_version":"1.0.0","name":"Grease Pencil Tools","version":"2.2.3","tagline":"Extra tools for Grease Pencil","archive_hash":"sha256:1205ac83efe3cc6b051cd936bc8b9723e37fb0c000626f61fc27ee4009e21fa9","archive_size":51806,"archive_url":"https://extensions.blender.org/download/sha256:1205ac83efe3cc6b051cd936bc8b9723e37fb0c000626f61fc27ee4009e21fa9/add-on-grease-pencil-tools-v2.2.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tools/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Object"]},{"id":"tissue","schema_version":"1.0.0","name":"Tissue","version":"0.3.71","tagline":"Tools for Computational Design","archive_hash":"sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad","archive_size":113361,"archive_url":"https://extensions.blender.org/download/sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad/add-on-tissue-v0.3.71.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tissue/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"icon_viewer","schema_version":"1.0.0","name":"Icon Viewer","version":"1.4.2","tagline":"Click an icon to copy its name to the clipboard","archive_hash":"sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc","archive_size":3814,"archive_url":"https://extensions.blender.org/download/sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc/add-on-icon-viewer-v1.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/icon-viewer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"magic_uv","schema_version":"1.0.0","name":"Magic UV","version":"6.7.1","tagline":"UV Toolset. See Add-ons Preferences for details","archive_hash":"sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571","archive_size":104347,"archive_url":"https://extensions.blender.org/download/sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571/add-on-magic-uv-v6.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/magic-uv/","maintainer":"nutti","license":["SPDX:GPL-2.0-or-later"],"tags":["UV"]},{"id":"export_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Export Autocad DXF Format (.dxf)","version":"2.2.4","tagline":"The script exports Blender geometry to DXF format r12 version","archive_hash":"sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7","archive_size":33206,"archive_url":"https://extensions.blender.org/download/sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7/add-on-export-autocad-dxf-format-dxf-v2.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports DXF file"},"tags":["Import-Export"]},{"id":"discombobulator","schema_version":"1.0.0","name":"Discombobulator","version":"0.1.0","tagline":"Add Discombobulator","archive_hash":"sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d","archive_size":7864,"archive_url":"https://extensions.blender.org/download/sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d/add-on-discombobulator-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/discombobulator/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"animall","schema_version":"1.0.0","name":"AnimAll","version":"0.13.0","tagline":"Animate mesh, lattice, curve and surface data","archive_hash":"sha256:5ae768d061ee6fdbae19c78e13320fbf48905a7cb84165a431e9a5d167528a4a","archive_size":8578,"archive_url":"https://extensions.blender.org/download/sha256:5ae768d061ee6fdbae19c78e13320fbf48905a7cb84165a431e9a5d167528a4a/add-on-animall-v0.13.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/animall/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blender_id_authentication","schema_version":"1.0.0","name":"Blender ID authentication","version":"2.1.3","tagline":"Stores your Blender ID credentials for usage with other add-ons","archive_hash":"sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5/add-on-blender-id-authentication-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-id-authentication/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Requires access to id.blender.org to sync preferences"},"tags":["System"]},{"id":"edit_mesh_tools","schema_version":"1.0.0","name":"Edit Mesh Tools","version":"0.3.6","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0","archive_size":74410,"archive_url":"https://extensions.blender.org/download/sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0/add-on-edit-mesh-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"viewport_pie_menus","schema_version":"1.0.0","name":"3D Viewport Pie Menus","version":"1.7.3","tagline":"Various pie menus to speed up your workflow","archive_hash":"sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100","archive_size":110402,"archive_url":"https://extensions.blender.org/download/sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100/add-on-viewport-pie-menus-v1.7.3.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/viewport-pie-menus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To load brush icons from disk"},"tags":["User Interface"]},{"id":"sapling_tree_gen","schema_version":"1.0.0","name":"Sapling Tree Gen","version":"0.3.7","tagline":"Adds a parametric tree","archive_hash":"sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f","archive_size":36296,"archive_url":"https://extensions.blender.org/download/sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f/add-on-sapling-tree-gen-v0.3.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/sapling-tree-gen/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"bsurfaces_gpl_edition","schema_version":"1.0.0","name":"Bsurfaces GPL Edition","version":"1.8.4","tagline":"Modeling and retopology tool","archive_hash":"sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e","archive_size":31781,"archive_url":"https://extensions.blender.org/download/sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e/add-on-bsurfaces-gpl-edition-v1.8.4.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bsurfaces-gpl-edition/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"curve_tools","schema_version":"1.0.0","name":"Curve Tools","version":"0.4.6","tagline":"Adds some functionality for bezier/nurbs curve/surface modeling","archive_hash":"sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f","archive_size":55633,"archive_url":"https://extensions.blender.org/download/sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f/add-on-curve-tools-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"power_sequencer","schema_version":"1.0.0","name":"Power Sequencer","version":"2.0.4","tagline":"Video editing tools for content creators","archive_hash":"sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a","archive_size":97495,"archive_url":"https://extensions.blender.org/download/sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a/add-on-power-sequencer-v2.0.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/power-sequencer/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"dynamic_sky","schema_version":"1.0.0","name":"Dynamic Sky","version":"1.0.6","tagline":"Creates Dynamic Sky for Cycles","archive_hash":"sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f","archive_size":4358,"archive_url":"https://extensions.blender.org/download/sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f/add-on-dynamic-sky-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-sky/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Lighting"]},{"id":"vrm","schema_version":"1.0.0","name":"VRM format","version":"3.17.9","tagline":"VRM import, export and editing capabilities","archive_hash":"sha256:5dd13fc8ee1df1aeafdbc3e3da4a154b038e17c86fd978d1805fea64f8ea8b68","archive_size":1538109,"archive_url":"https://extensions.blender.org/download/sha256:5dd13fc8ee1df1aeafdbc3e3da4a154b038e17c86fd978d1805fea64f8ea8b68/add-on-vrm-v3.17.9.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/vrm/","maintainer":"saturday06","license":["SPDX:MIT","SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export VRM from/to disk"},"tags":["Import-Export","Animation","Modeling","Material","Physics"]},{"id":"io_scene_max","schema_version":"1.0.0","name":"Import Autodesk MAX (.max)","version":"1.7.5","tagline":"Import 3DSMAX meshes & materials","archive_hash":"sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7","archive_size":83827,"archive_url":"https://extensions.blender.org/download/sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7/add-on-io-scene-max-v1.7.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-max/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Autodesk MAX files"},"tags":["Import-Export","Mesh","Material"]},{"id":"sun_position","schema_version":"1.0.0","name":"Sun Position","version":"4.4.0","tagline":"Show the position of the Sun with objects or an environment","archive_hash":"sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856","archive_size":26592,"archive_url":"https://extensions.blender.org/download/sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856/add-on-sun-position-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sun-position/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"gruvbox_light","schema_version":"1.0.0","name":"Gruvbox Light","version":"1.6.0","tagline":"Gruvbox light theme","archive_hash":"sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae","archive_size":5392,"archive_url":"https://extensions.blender.org/download/sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae/theme-gruvbox-light-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-light/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"gruvbox_dark","schema_version":"1.0.0","name":"Gruvbox Dark","version":"1.6.0","tagline":"Gruvbox dark theme","archive_hash":"sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa","archive_size":5192,"archive_url":"https://extensions.blender.org/download/sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa/theme-gruvbox-dark-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-dark/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"phoenixart_fusion_theme","schema_version":"1.0.0","name":"PhoenixArt Fusion Theme","version":"4.0.3","tagline":"Based on Blackmagic Fusion Theme","archive_hash":"sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066","archive_size":6404,"archive_url":"https://extensions.blender.org/download/sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066/theme-phoenixart-fusion-theme-v4.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/phoenixart-fusion-theme/","maintainer":"phoenixart","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"alien_pink_theme","schema_version":"1.0.0","name":"Alien Pink","version":"6.0.0","tagline":"Stylish and vibrant theme designed specially for you","archive_hash":"sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641","archive_size":6709,"archive_url":"https://extensions.blender.org/download/sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641/theme-alien-pink-theme-v6.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/alien-pink-theme/","maintainer":"Alumx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"copy_object_name_to_data","schema_version":"1.0.0","name":"Copy Object Name to Data","version":"1.1.1","tagline":"A simple operator to copy object names to object data","archive_hash":"sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03","archive_size":14363,"archive_url":"https://extensions.blender.org/download/sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03/add-on-copy-object-name-to-data-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-object-name-to-data/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"nd","schema_version":"1.0.0","name":"ND","version":"2.1.0","tagline":"Non-Destructive Modeling Toolkit","archive_hash":"sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5","archive_size":1546886,"archive_url":"https://extensions.blender.org/download/sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5/add-on-nd-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nd/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import built-in and custom assets"},"tags":["3D View","Lighting","Material","Modeling","Mesh","Object","Scene","UV"]},{"id":"io_export_after_effects","schema_version":"1.0.0","name":"Export: Adobe After Effects (.jsx)","version":"0.2.1","tagline":"Export cameras, images and empties to Adobe After Effects","archive_hash":"sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4","archive_size":16102,"archive_url":"https://extensions.blender.org/download/sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4/add-on-io-export-after-effects-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-export-after-effects/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Export JSX file to disk"},"tags":["Import-Export"]},{"id":"textify","schema_version":"1.0.0","name":"Textify","version":"1.8.0","tagline":"Streamline and Enhance Blender’s Text Editor","archive_hash":"sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4","archive_size":1851559,"archive_url":"https://extensions.blender.org/download/sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4/add-on-textify-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/textify/","maintainer":"Jishnu-kv","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write settings, and manage scripts on disk","clipboard":"Copy class bl_idname and identifiers to clipboard"},"tags":["Text Editor","Development"]},{"id":"Bagapie","schema_version":"1.0.0","name":"Bagapie","version":"11.0.8","tagline":"50+ tools : Scattering, Ivy Gen, Random Array, Architecture","archive_hash":"sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad","archive_size":10833664,"archive_url":"https://extensions.blender.org/download/sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad/add-on-bagapie-v11.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bagapie/","maintainer":"Antoine_Bagattini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create, setup and add assets libraries","network":"Open web browser for documentation and tutorials"},"tags":["Modeling","Node"]},{"id":"y_projectionnode_form_camera_f1","schema_version":"1.0.0","name":"ProjectionNode from Camera","version":"1.3.0","tagline":"Creates a material specified in the Background Image of Camera","archive_hash":"sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75","archive_size":9289,"archive_url":"https://extensions.blender.org/download/sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75/add-on-y-projectionnode-form-camera-f1-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/y-projectionnode-form-camera-f1/","maintainer":"Yukimituki","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"Shadow","schema_version":"1.0.0","name":"Shadow","version":"5.0.1","tagline":"Dark theme","archive_hash":"sha256:47b3d5dce6d00d25202737adb7bf31c867361d30adc3ead15e104b6a91aeee53","archive_size":5745,"archive_url":"https://extensions.blender.org/download/sha256:47b3d5dce6d00d25202737adb7bf31c867361d30adc3ead15e104b6a91aeee53/theme-shadow-v5.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/shadow/","maintainer":"--Shadow--","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"ucupaint","schema_version":"1.0.0","name":"Ucupaint","version":"2.4.2","tagline":"Layer based painting for Eevee and Cycles","archive_hash":"sha256:ff5121edce73d5c41e132054b50acf883f63c7528287fab8a249cc721bb254a7","archive_size":2059270,"archive_url":"https://extensions.blender.org/download/sha256:ff5121edce73d5c41e132054b50acf883f63c7528287fab8a249cc721bb254a7/add-on-ucupaint-v2.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ucupaint/","maintainer":"ucupumar","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to filesystem for loading and saving images","network":"Access to the network to update contributors and sponsors list"},"tags":["Node","Material","Paint","Bake"]},{"id":"Industrial_AOV_Connector","schema_version":"1.0.0","name":"Industrial AOV Connector","version":"5.0.1","tagline":"Auto generate outputs for advanced compositing","archive_hash":"sha256:cdd4c86fa5a254dc79679c9d1d87fc6ddbf8dff4735a3b7e9b74e93949d9284b","archive_size":217234,"archive_url":"https://extensions.blender.org/download/sha256:cdd4c86fa5a254dc79679c9d1d87fc6ddbf8dff4735a3b7e9b74e93949d9284b/add-on-industrial-aov-connector-v5.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-aov-connector/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Delete Useless Default Renders button need this"},"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"hdr_rotation","schema_version":"1.0.0","name":"Hdr Rotation","version":"1.0.7","tagline":"Rotation HDR by Shift+Right Drag in 3D View","archive_hash":"sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68","archive_size":6585,"archive_url":"https://extensions.blender.org/download/sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68/add-on-hdr-rotation-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdr-rotation/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Render"]},{"id":"Dark_Purple_Green","schema_version":"1.0.0","name":"DarkPurpleGreen","version":"1.0.1","tagline":"Dark minimal neon theme","archive_hash":"sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4","archive_size":5871,"archive_url":"https://extensions.blender.org/download/sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4/theme-dark-purple-green-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-purple-green/","maintainer":"MSBH","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"node_editor_switcher","schema_version":"1.0.0","name":"Node Editor Switcher","version":"1.1.0","tagline":"Pie menu, shortcuts and buttons to switch between node editors","archive_hash":"sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3","archive_size":2134,"archive_url":"https://extensions.blender.org/download/sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3/add-on-node-editor-switcher-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-switcher/","maintainer":"Victor-09","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"Adapta_Nokto","schema_version":"1.0.0","name":"Adapta Nokto","version":"1.1.3","tagline":"Adapta Nokto theme","archive_hash":"sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4","archive_size":5612,"archive_url":"https://extensions.blender.org/download/sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4/theme-adapta-nokto-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/adapta-nokto/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"browser_scroll_resize","schema_version":"1.0.0","name":"Browser Scroll Resize","version":"1.0.1","tagline":"Resize File Size Thumbnail on Browsers with Mouse Wheel","archive_hash":"sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da","archive_size":2729,"archive_url":"https://extensions.blender.org/download/sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da/add-on-browser-scroll-resize-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/browser-scroll-resize/","maintainer":"Barrunterio","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"secret_paint","schema_version":"1.0.0","name":"Secret Paint","version":"1.7.31","tagline":"Select an object, select a surface, paint","archive_hash":"sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6","archive_size":1950644,"archive_url":"https://extensions.blender.org/download/sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6/add-on-secret-paint-v1.7.31.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/secret-paint/","maintainer":"orencloud","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export objects and biomes to external blend files","network":"Update from GitHub if installed as addon rather than extension"},"tags":["Modeling","Add Curve"]},{"id":"delete_line_shortcut","schema_version":"1.0.0","name":"Delete Line Shortcut","version":"1.2.2","tagline":"Shortcut to delete a line and copy its content","archive_hash":"sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab","archive_size":15764,"archive_url":"https://extensions.blender.org/download/sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab/add-on-delete-line-shortcut-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/delete-line-shortcut/","maintainer":"matej.zeman02","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Add-on can read and write to the system clipboard."},"tags":["User Interface","Text Editor"]},{"id":"keyframe_visibility","schema_version":"1.0.0","name":"Keyframe Visibility","version":"1.0.2","tagline":"Batch keyframe visibility for objects","archive_hash":"sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84","archive_size":4295,"archive_url":"https://extensions.blender.org/download/sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84/add-on-keyframe-visibility-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-visibility/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"midnight_blue_theme","schema_version":"1.0.0","name":"Midnight Blue","version":"1.0.1","tagline":"Blender blues after midnight","archive_hash":"sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928","archive_size":5982,"archive_url":"https://extensions.blender.org/download/sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928/theme-midnight-blue-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/midnight-blue-theme/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"bulk_asset_tools","schema_version":"1.0.0","name":"Bulk Asset Tools","version":"1.7.3","tagline":"Manage your asset libraries with ease","archive_hash":"sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d","archive_size":10636,"archive_url":"https://extensions.blender.org/download/sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d/add-on-bulk-asset-tools-v1.7.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bulk-asset-tools/","maintainer":"guitargeek","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"blender_path_maker","schema_version":"1.0.0","name":"Path Maker","version":"1.4.3","tagline":"Replaces custom tags in the Output Path","archive_hash":"sha256:fb8e4e516b905042e18e089a5a18854e58e7fae9e6e691c1012082c2d8568a5b","archive_size":4790,"archive_url":"https://extensions.blender.org/download/sha256:fb8e4e516b905042e18e089a5a18854e58e7fae9e6e691c1012082c2d8568a5b/add-on-blender-path-maker-v1.4.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-path-maker/","maintainer":"thornydre","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"SelectsAllIslandsUDIM","schema_version":"1.0.0","name":"Selects all UV islands on one UDIM","version":"1.2.0","tagline":"Highlighting UV-islands and faces of the corresponding UDIM","archive_hash":"sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f","archive_size":3781,"archive_url":"https://extensions.blender.org/download/sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f/add-on-selectsallislandsudim-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selectsallislandsudim/","maintainer":"Ailex","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"lightpainter","schema_version":"1.0.0","name":"Light Painter","version":"1.5.6","tagline":"Do not place your lights, paint them","archive_hash":"sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a","archive_size":112051,"archive_url":"https://extensions.blender.org/download/sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a/add-on-lightpainter-v1.5.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lightpainter/","maintainer":"SMagnusson","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting","Object"]},{"id":"ContextPie","schema_version":"1.0.0","name":"Context Pie","version":"0.9.21","tagline":"Context sensitive pie menu for a simple, fast workflow","archive_hash":"sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66","archive_size":126927,"archive_url":"https://extensions.blender.org/download/sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66/add-on-contextpie-v0.9.21.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/contextpie/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View","UV"]},{"id":"orient_and_origin_to_selected","schema_version":"1.0.0","name":"Orient and Origin to Selected","version":"1.2.0","tagline":"Quickly manipulate the object origin","archive_hash":"sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521","archive_size":42615,"archive_url":"https://extensions.blender.org/download/sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521/add-on-orient-and-origin-to-selected-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orient-and-origin-to-selected/","maintainer":"Orange Turbine","license":["SPDX:GPL-2.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"screencast_keys","schema_version":"1.0.0","name":"Screencast Keys","version":"4.2.1","tagline":"Display keys pressed in Blender","archive_hash":"sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb","archive_size":38532,"archive_url":"https://extensions.blender.org/download/sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb/add-on-screencast-keys-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/screencast-keys/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"tags":["System","User Interface"]},{"id":"Gold_Pro_Theme","schema_version":"1.0.0","name":"Gold Pro","version":"1.1.4","tagline":"Professional blender theme with Gold :)","archive_hash":"sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d","archive_size":5514,"archive_url":"https://extensions.blender.org/download/sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d/theme-gold-pro-theme-v1.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gold-pro-theme/","maintainer":"EmanuelFerro","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"lfs_camera_plane","schema_version":"1.0.0","name":"Camera Plane","version":"3.0.0","tagline":"Import images and stick them to the camera","archive_hash":"sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4","archive_size":17262,"archive_url":"https://extensions.blender.org/download/sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4/add-on-lfs-camera-plane-v3.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/lfs-camera-plane/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["3D View","Import-Export","Object","Camera"]},{"id":"Wireframe_Color_Tools","schema_version":"1.0.0","name":"Wireframe Color Tools","version":"1.0.0","tagline":"Change Object Colors based on different kinds of methods","archive_hash":"sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9","archive_size":3122,"archive_url":"https://extensions.blender.org/download/sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9/add-on-wireframe-color-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wireframe-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Material","Object"]},{"id":"neutral_grey","schema_version":"1.0.0","name":"Neutral Grey","version":"2.0.3","tagline":"A neutral grey theme for Blender","archive_hash":"sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454","archive_size":5558,"archive_url":"https://extensions.blender.org/download/sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454/theme-neutral-grey-v2.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutral-grey/","maintainer":"scopelma","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Accessibility"]},{"id":"deep_dark_sea","schema_version":"1.0.0","name":"Deep Dark Sea","version":"3.0.0","tagline":"Darker than the default dark","archive_hash":"sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298","archive_size":6219,"archive_url":"https://extensions.blender.org/download/sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298/theme-deep-dark-sea-v3.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-dark-sea/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"border_buddy","schema_version":"1.0.0","name":"Border Buddy","version":"0.1.1","tagline":"Your buddy that helps to preserve borders","archive_hash":"sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4","archive_size":2579,"archive_url":"https://extensions.blender.org/download/sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4/add-on-border-buddy-v0.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/border-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"bake_shape_keys","schema_version":"1.0.0","name":"Bake Shape Keys","version":"1.4.0","tagline":"Feature-set for shape keys and shape key animations","archive_hash":"sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd","archive_size":14241,"archive_url":"https://extensions.blender.org/download/sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd/add-on-bake-shape-keys-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-shape-keys/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Mesh"]},{"id":"matalogue","schema_version":"1.0.0","name":"Matalogue","version":"1.5.0","tagline":"All your node trees in one list","archive_hash":"sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2","archive_size":13081,"archive_url":"https://extensions.blender.org/download/sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2/add-on-matalogue-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matalogue/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"b_guides","schema_version":"1.0.0","name":"B Guides","version":"1.0.1","tagline":"composition with guides and rulers for the VSE and 3D Viewport","archive_hash":"sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57","archive_size":24706,"archive_url":"https://extensions.blender.org/download/sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57/add-on-b-guides-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-guides/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Sequencer"]},{"id":"preset_startup_manager","schema_version":"1.0.0","name":"Startup Preset Manager","version":"2.6.0","tagline":"Custom startup file creation / hot reloading","archive_hash":"sha256:22551601f818a2263c3b391dc9468f53daa6e3a6799b92f49b7d73bc7a556f60","archive_size":4330,"archive_url":"https://extensions.blender.org/download/sha256:22551601f818a2263c3b391dc9468f53daa6e3a6799b92f49b7d73bc7a556f60/add-on-preset-startup-manager-v2.6.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/preset-startup-manager/","maintainer":"Gruff-Wright","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline","Scene","System"]},{"id":"time_theme_switcher","schema_version":"1.0.0","name":"Time Theme Switcher","version":"1.0.0","tagline":"Switches between light and dark UI themes at scheduled times","archive_hash":"sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010","archive_size":18346,"archive_url":"https://extensions.blender.org/download/sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010/add-on-time-theme-switcher-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-theme-switcher/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"k_tools_render_preset_manager","schema_version":"1.0.0","name":"K-Tools: Render Preset Manager","version":"1.2.1","tagline":"Save and Load Blender's Settings","archive_hash":"sha256:5ded792d8e7075d55defe9c5481510e00b96242eb9f4b17b81d60e717ead3dbb","archive_size":73123,"archive_url":"https://extensions.blender.org/download/sha256:5ded792d8e7075d55defe9c5481510e00b96242eb9f4b17b81d60e717ead3dbb/add-on-k-tools-render-preset-manager-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-render-preset-manager/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .JSON text files from/to disk"},"tags":["Render"]},{"id":"VAT","schema_version":"1.0.0","name":"Vertex Animation Texture Addon (VAT)","version":"1.0.1","tagline":"Tools for vertex animation textures in Blender","archive_hash":"sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065","archive_size":8592,"archive_url":"https://extensions.blender.org/download/sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065/add-on-vat-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vat/","maintainer":"Flement","license":["SPDX:GPL-3.0-or-later"]},{"id":"extrude_along_path","schema_version":"1.0.0","name":"Extrude Along Path","version":"2.2.0","tagline":"Extrude or Rake profile geometry Along a defined Path","archive_hash":"sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283","archive_size":15621,"archive_url":"https://extensions.blender.org/download/sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283/add-on-extrude-along-path-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extrude-along-path/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"dimensions_and_lines","schema_version":"1.0.0","name":"Dimensions and Lines","version":"1.1.0","tagline":"create technical drawings, dimensions and lines","archive_hash":"sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30","archive_size":75526,"archive_url":"https://extensions.blender.org/download/sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30/add-on-dimensions-and-lines-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dimensions-and-lines/","maintainer":"jan.holinka","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"Utilities_Gadget","schema_version":"1.0.0","name":"Utilities Gadget","version":"1.1.5","tagline":"Batch rendering and model conversio","archive_hash":"sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc","archive_size":6095,"archive_url":"https://extensions.blender.org/download/sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc/add-on-utilities-gadget-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/utilities-gadget/","maintainer":"HurcaGuari","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"csv_importer","schema_version":"1.0.0","name":"CSV Importer","version":"0.1.9","tagline":"import csv data to meshes in Blender","archive_hash":"sha256:9eab59aa4aacae4e30031b02ba622a6555d2812a9a4502c837dd6c4937561b1b","archive_size":35011003,"archive_url":"https://extensions.blender.org/download/sha256:9eab59aa4aacae4e30031b02ba622a6555d2812a9a4502c837dd6c4937561b1b/add-on-csv-importer-v0.1.9-windows-x64.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/csv-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"NLATools","schema_version":"1.0.0","name":"Merge NLA Strips","version":"1.0.0","tagline":"Combine selected NLA strips into one","archive_hash":"sha256:aa67a4a1405ae1cf25f072471b851320e5ac3e6be61b2f28a0774625cf8d6c06","archive_size":2255,"archive_url":"https://extensions.blender.org/download/sha256:aa67a4a1405ae1cf25f072471b851320e5ac3e6be61b2f28a0774625cf8d6c06/add-on-nlatools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nlatools/","maintainer":"Likkez","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake"]},{"id":"Frigus_Nox","schema_version":"1.0.0","name":"Frigus Nox","version":"1.0.7","tagline":"Frigus Nox theme","archive_hash":"sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06","archive_size":5535,"archive_url":"https://extensions.blender.org/download/sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06/theme-frigus-nox-v1.0.7.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/frigus-nox/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Auto_Sort_Collections","schema_version":"1.0.0","name":"Auto Sort Collections","version":"1.0.2","tagline":"Automatic organisation of collections","archive_hash":"sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079","archive_size":9665,"archive_url":"https://extensions.blender.org/download/sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079/add-on-auto-sort-collections-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sort-collections/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"Custom_Grid_Scales","schema_version":"1.0.0","name":"Custom Grid Scales","version":"1.1.0","tagline":"Adds the ability to quickly change between custom grid scales","archive_hash":"sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01","archive_size":2631,"archive_url":"https://extensions.blender.org/download/sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01/add-on-custom-grid-scales-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.1","website":"https://extensions.blender.org/add-ons/custom-grid-scales/","maintainer":"Jacob-Beatty","license":["SPDX:GPL-3.0-or-later"]},{"id":"Cake_Particles","schema_version":"1.0.0","name":"Cake_Particles","version":"5.0.0","tagline":"Bake particles simulation into keyframed animations","archive_hash":"sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f","archive_size":9459,"archive_url":"https://extensions.blender.org/download/sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f/add-on-cake-particles-v5.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cake-particles/","maintainer":"scaryplasmon","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake","Physics","Object"]},{"id":"Quick_Character_Selector","schema_version":"1.0.0","name":"Quick Character Selector","version":"1.1.0","tagline":"Seleccion rapida de armatures","archive_hash":"sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad/add-on-quick-character-selector-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-character-selector/","maintainer":"MatiasMartin","license":["SPDX:GPL-2.0-or-later"],"tags":["Object","Animation"]},{"id":"k_tools_visibility_check","schema_version":"1.0.0","name":"Visibility Check","version":"2.5.2","tagline":"Check for mismatched objects in viewport and render view","archive_hash":"sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913","archive_size":6511,"archive_url":"https://extensions.blender.org/download/sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913/add-on-k-tools-visibility-check-v2.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-visibility-check/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render"]},{"id":"boltfactory","schema_version":"1.0.0","name":"BoltFactory","version":"0.7.1","tagline":"Add a bolt or nut","archive_hash":"sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3","archive_size":35319,"archive_url":"https://extensions.blender.org/download/sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3/add-on-boltfactory-v0.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/boltfactory/","maintainer":"Bolt Factory","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"open_linked","schema_version":"1.0.0","name":"Open Linked","version":"1.0.1","tagline":"Open linked blends from the Outliner","archive_hash":"sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3","archive_size":40897,"archive_url":"https://extensions.blender.org/download/sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3/add-on-open-linked-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-linked/","maintainer":"polygoniq","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"Three_d_Cursor_Snap","schema_version":"1.0.0","name":"Three d Cursor Snap","version":"1.2.0","tagline":"Move 3d cursor like gizmo to snap vertex, edge and face","archive_hash":"sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55","archive_size":3579,"archive_url":"https://extensions.blender.org/download/sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55/add-on-three-d-cursor-snap-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/three-d-cursor-snap/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"gzm_mod","schema_version":"1.0.0","name":"GZM 3D model format","version":"1.0.2","tagline":"Import-export 3D models for the GZM game","archive_hash":"sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2","archive_size":288070,"archive_url":"https://extensions.blender.org/download/sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2/add-on-gzm-mod-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gzm-mod/","maintainer":"777-tanks","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"blur_hdri","schema_version":"1.0.0","name":"Blur HDRI","version":"0.0.6","tagline":"Blur HDRI Images by creating a new node with a Gaussian Blur","archive_hash":"sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7","archive_size":23644138,"archive_url":"https://extensions.blender.org/download/sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7/add-on-blur-hdri-v0.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blur-hdri/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Material","Lighting"]},{"id":"data_scale","schema_version":"1.0.0","name":"ID Tools","version":"1.2.0","tagline":"Assortment of tools for the manipulation of data-blocks","archive_hash":"sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646","archive_size":22974,"archive_url":"https://extensions.blender.org/download/sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646/add-on-data-scale-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/data-scale/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Temporarily create .blend files to weigh them"},"tags":["Import-Export"]},{"id":"dynamic_render_border","schema_version":"1.0.0","name":"Dynamic Render Border","version":"1.0.1","tagline":"Addon to create dynamic render borders for animations","archive_hash":"sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986","archive_size":7352,"archive_url":"https://extensions.blender.org/download/sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986/add-on-dynamic-render-border-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-render-border/","maintainer":"tobiaskummer","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Animation"]},{"id":"set_vertex_distance","schema_version":"1.0.0","name":"Set Vertex Distance","version":"1.0.0","tagline":"Set distance between two vertices along a specific axis","archive_hash":"sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f","archive_size":2537,"archive_url":"https://extensions.blender.org/download/sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f/add-on-set-vertex-distance-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-vertex-distance/","maintainer":"alicoskun","license":["SPDX:GPL-3.0-or-later"]},{"id":"vectart_import","schema_version":"1.0.0","name":"Vectart Import","version":"1.0.4","tagline":"Import and preview vector files with layer management","archive_hash":"sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1","archive_size":19068,"archive_url":"https://extensions.blender.org/download/sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1/add-on-vectart-import-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-import/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to read and import SVG files from the disk"},"tags":["Modeling","Object"]},{"id":"shapeFitter","schema_version":"1.0.0","name":"Shape Fitter","version":"1.3.0","tagline":"Fit primitive shapes to verticies","archive_hash":"sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee","archive_size":10012,"archive_url":"https://extensions.blender.org/download/sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee/add-on-shapefitter-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapefitter/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"trimmer","schema_version":"1.0.0","name":"Trimmer","version":"0.3.0","tagline":"Simplified texturing workflow for trim-sheets","archive_hash":"sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5","archive_size":12275,"archive_url":"https://extensions.blender.org/download/sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5/add-on-trimmer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trimmer/","maintainer":"LaXHeXLuX","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"camera_viewer","schema_version":"1.0.0","name":"Camera Viewer","version":"1.1.4","tagline":"You can preview the camera view directly in the 3D viewport","archive_hash":"sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79","archive_size":11337,"archive_url":"https://extensions.blender.org/download/sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79/add-on-camera-viewer-v1.1.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-viewer/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"polyzamboni","schema_version":"1.0.0","name":"PolyZamboni","version":"1.2.1","tagline":"Papercraft in Blender","archive_hash":"sha256:605c1083603191fa138a10b793f212c04ac2647e54abb3e6a2e14f6b12acfc46","archive_size":14290191,"archive_url":"https://extensions.blender.org/download/sha256:605c1083603191fa138a10b793f212c04ac2647e54abb3e6a2e14f6b12acfc46/add-on-polyzamboni-v1.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polyzamboni/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export PDF/SVG to disk"},"platforms":["windows-x64"],"tags":["3D View","Import-Export"]},{"id":"meshstats","schema_version":"1.0.0","name":"Meshstats","version":"1.3.2","tagline":"Mesh statistics","archive_hash":"sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421","archive_size":55105,"archive_url":"https://extensions.blender.org/download/sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421/add-on-meshstats-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.2","website":"https://extensions.blender.org/add-ons/meshstats/","maintainer":"muhuk","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"requin_blue_theme","schema_version":"1.0.0","name":"Requin Blue","version":"1.2.0","tagline":"This is a Blender theme with a major blue color","archive_hash":"sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42","archive_size":6733,"archive_url":"https://extensions.blender.org/download/sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42/theme-requin-blue-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/themes/requin-blue-theme/","maintainer":"MozzarellaARC","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"auto_dark_mode","schema_version":"1.0.0","name":"Auto Dark Mode","version":"3.0.0","tagline":"Automatically follow the system light/dark mode","archive_hash":"sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b","archive_size":11993,"archive_url":"https://extensions.blender.org/download/sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b/add-on-auto-dark-mode-v3.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-dark-mode/","maintainer":"dprice","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read installed themes"},"tags":["System","User Interface"]},{"id":"ikea_browser","schema_version":"1.0.0","name":"IKEA Browser","version":"0.4.0","tagline":"Search and import models from ikea.com","archive_hash":"sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2","archive_size":7016,"archive_url":"https://extensions.blender.org/download/sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2/add-on-ikea-browser-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ikea-browser/","maintainer":"Shish","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store downloaded models","network":"Download from ikea.com"},"tags":["Import-Export"]},{"id":"convert_rotation_mode","schema_version":"1.0.0","name":"Convert Rotation Mode","version":"1.5.1","tagline":"Change rotation mode whilst preserving animation","archive_hash":"sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec","archive_size":23134,"archive_url":"https://extensions.blender.org/download/sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec/add-on-convert-rotation-mode-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/convert-rotation-mode/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste bone transforms"},"tags":["Animation","3D View","Bake"]},{"id":"momo","schema_version":"1.0.0","name":"Momo Light","version":"5.0.4","tagline":"Momo Light - theme inspired by Modo","archive_hash":"sha256:24e982d4ff4c4541b3867664e3cb3821268232e8f01089dd9c177b12677ebca1","archive_size":6491,"archive_url":"https://extensions.blender.org/download/sha256:24e982d4ff4c4541b3867664e3cb3821268232e8f01089dd9c177b12677ebca1/theme-momo-v5.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"save_with_versioning","schema_version":"1.0.0","name":"Save with Versioning","version":"2.1.0","tagline":"Save incremental and use published files for asset linking","archive_hash":"sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff","archive_size":20710,"archive_url":"https://extensions.blender.org/download/sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff/add-on-save-with-versioning-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/save-with-versioning/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save .blend files"},"tags":["Pipeline"]},{"id":"incremental_auto_save","schema_version":"1.0.0","name":"Incremental Auto-Save","version":"1.1.0","tagline":"Improvements to Blender's Autosave","archive_hash":"sha256:0ca3d0bf9958dd860864e2faf4ebc14ad3271eb1eb8b68d1361e934d4e5432d1","archive_size":73140,"archive_url":"https://extensions.blender.org/download/sha256:0ca3d0bf9958dd860864e2faf4ebc14ad3271eb1eb8b68d1361e934d4e5432d1/add-on-incremental-auto-save-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/incremental-auto-save/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save preferences & .blends in chosen directories"},"tags":["System"]},{"id":"is_key_free","schema_version":"1.0.0","name":"Is key Free","version":"1.1.3","tagline":"Find free shortcuts, inform about used and print a key list","archive_hash":"sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a/add-on-is-key-free-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/is-key-free/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"node_presets","schema_version":"1.0.0","name":"Node Presets","version":"1.1.0","tagline":"Add node groups directly to the node editors","archive_hash":"sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04","archive_size":2398,"archive_url":"https://extensions.blender.org/download/sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04/add-on-node-presets-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-presets/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Node"]},{"id":"archimesh","schema_version":"1.0.0","name":"Archimesh","version":"1.2.5","tagline":"Generate rooms, doors, windows, and other architecture objects","archive_hash":"sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87","archive_size":323488,"archive_url":"https://extensions.blender.org/download/sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87/add-on-archimesh-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/archimesh/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"scatter_objects","schema_version":"1.0.0","name":"Scatter Objects","version":"0.2.0","tagline":"Distribute object instances on another object","archive_hash":"sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b","archive_size":6876,"archive_url":"https://extensions.blender.org/download/sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b/add-on-scatter-objects-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scatter-objects/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"node_group_utilities","schema_version":"1.0.0","name":"Node Group Utilities","version":"2.1.1","tagline":"Extra options and functions for node groups","archive_hash":"sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5","archive_size":67952,"archive_url":"https://extensions.blender.org/download/sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5/add-on-node-group-utilities-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-utilities/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"flatterer","schema_version":"1.0.0","name":"Flatterer","version":"1.6.0","tagline":"Flat mesh to SVG exporter for laser cutters","archive_hash":"sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559","archive_size":383844,"archive_url":"https://extensions.blender.org/download/sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559/add-on-flatterer-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/flatterer/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG files to disk"},"tags":["Import-Export"]},{"id":"bombsquad_tools","schema_version":"1.0.0","name":"BombSquad Tools","version":"3.0.12","tagline":"Tools for creating BombSquad game assets","archive_hash":"sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00","archive_size":39147,"archive_url":"https://extensions.blender.org/download/sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00/add-on-bombsquad-tools-v3.0.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bombsquad-tools/","maintainer":"aryan02420","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .bob, .cob, and .json files"},"tags":["Import-Export","Scene"]},{"id":"vertex_group_assistant","schema_version":"1.0.0","name":"Vertex Group Assistant","version":"1.0.2","tagline":"Simplifies clothing rigging for avatars","archive_hash":"sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c","archive_size":3846,"archive_url":"https://extensions.blender.org/download/sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c/add-on-vertex-group-assistant-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-assistant/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"blender_Run_Scripts_From_Folder","schema_version":"1.0.0","name":"Run Scripts From Folder","version":"0.0.7","tagline":"Execute script from Script Directiories","archive_hash":"sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47","archive_size":2464,"archive_url":"https://extensions.blender.org/download/sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47/add-on-blender-run-scripts-from-folder-v0.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-run-scripts-from-folder/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read .py files from disk"},"tags":["System"]},{"id":"bdvd_SharpBlade","schema_version":"1.0.0","name":"Sharp Blade","version":"5.2.0","tagline":"Easy on the eyes, deep in the blue. Create freely","archive_hash":"sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24","archive_size":5892,"archive_url":"https://extensions.blender.org/download/sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24/theme-bdvd-sharpblade-v5.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/bdvd-sharpblade/","maintainer":"bdvd","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"dynamic_brush_menus","schema_version":"1.0.0","name":"Dynamic Brush Menus","version":"1.1.10","tagline":"Fast access to brushes & tools in Sculpt and Paint Modes","archive_hash":"sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400","archive_size":15222,"archive_url":"https://extensions.blender.org/download/sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400/add-on-dynamic-brush-menus-v1.1.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-brush-menus/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"image_sequence_to_mp4_video_converter","schema_version":"1.0.0","name":"Image Sequence to MP4 Video Converter","version":"1.0.3","tagline":"Convert image sequences to MP4 with custom resolution","archive_hash":"sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d","archive_size":8152,"archive_url":"https://extensions.blender.org/download/sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d/add-on-image-sequence-to-mp4-video-converter-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/image-sequence-to-mp4-video-converter/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"vertex_group_hierarchy_sorter","schema_version":"1.0.0","name":"Vertex Group Hierarchy Sorter","version":"1.0.2","tagline":"List vertex groups in armature hierarchy order","archive_hash":"sha256:bdd4f10275db44b1ee61f24c5d94581c6e49524d23e7dfcc9a8d3d1e44231c72","archive_size":3434,"archive_url":"https://extensions.blender.org/download/sha256:bdd4f10275db44b1ee61f24c5d94581c6e49524d23e7dfcc9a8d3d1e44231c72/add-on-vertex-group-hierarchy-sorter-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-hierarchy-sorter/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"batch_camera_render","schema_version":"1.0.0","name":"Batch Render Cameras","version":"1.8.1","tagline":"Render animations from multiple selected cameras","archive_hash":"sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036","archive_size":3228,"archive_url":"https://extensions.blender.org/download/sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036/add-on-batch-camera-render-v1.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-camera-render/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create output folders for rendered frames"},"tags":["Render","Camera"]},{"id":"expLODe","schema_version":"1.0.0","name":"expLODe","version":"1.0.2","tagline":"LOD automation script using Python and Blender","archive_hash":"sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74","archive_size":22275,"archive_url":"https://extensions.blender.org/download/sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74/add-on-explode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/explode/","maintainer":"Rainma22","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["Import-Export"]},{"id":"anim_offset_pro","schema_version":"1.0.0","name":"Anim Offset Pro","version":"1.3.0","tagline":"Offset poses across animation keyframes","archive_hash":"sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd","archive_size":5091,"archive_url":"https://extensions.blender.org/download/sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd/add-on-anim-offset-pro-v1.3.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-offset-pro/","maintainer":"Drika111.","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"VSE_SRT_Subtitle_Importer_4_2_extension","schema_version":"1.0.0","name":"SRT Subtitle Importer/Exporter","version":"2.0.0","tagline":"Import/Export SRT subtitle files to/from VSE strips","archive_hash":"sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64","archive_size":7448,"archive_url":"https://extensions.blender.org/download/sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64/add-on-vse-srt-subtitle-importer-4-2-extension-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/vse-srt-subtitle-importer-4-2-extension/","maintainer":"PoYakong","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"armature_deform_with_linked_groups","schema_version":"1.0.0","name":"Armature Deform with Linked Groups","version":"1.0.0","tagline":"Create an armature deformation using linked vertices","archive_hash":"sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2","archive_size":4824,"archive_url":"https://extensions.blender.org/download/sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2/add-on-armature-deform-with-linked-groups-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-deform-with-linked-groups/","maintainer":"Suchaaver","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Mesh"]},{"id":"eevee_projectors","schema_version":"1.0.0","name":"Eevee Projectors","version":"1.1.1","tagline":"Fake Projector lights in Eeve","archive_hash":"sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e","archive_size":285870,"archive_url":"https://extensions.blender.org/download/sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e/add-on-eevee-projectors-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/eevee-projectors/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","Object"]},{"id":"Arma3ObjectBuilder","schema_version":"1.0.0","name":"Arma 3 Object Builder","version":"2.5.1","tagline":"Comprehensive add-on for modding Arma 3","archive_hash":"sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009","archive_size":270830,"archive_url":"https://extensions.blender.org/download/sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009/add-on-arma3objectbuilder-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/arma3objectbuilder/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export operations on supported file formats"},"tags":["Import-Export","Game Engine","Object"]},{"id":"align_tools","schema_version":"1.0.0","name":"Align Tools","version":"0.3.6","tagline":"Align Selected Objects to Active Object","archive_hash":"sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de","archive_size":6743,"archive_url":"https://extensions.blender.org/download/sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de/add-on-align-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"gp_to_curves","schema_version":"1.0.0","name":"Grease Pencil to Curves","version":"0.4.5","tagline":"Quickly convert Grease Pencil strokes to simple curves and hair","archive_hash":"sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5","archive_size":6977,"archive_url":"https://extensions.blender.org/download/sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5/add-on-gp-to-curves-v0.4.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-to-curves/","maintainer":"DadsCastle","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Add Curve","Modeling"]},{"id":"RigFlex","schema_version":"1.0.0","name":"RigFlex Simple Soft Body Simulation for Armatures","version":"4.2.1","tagline":"Simple Soft Body Simulation for Armatures","archive_hash":"sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064","archive_size":8750,"archive_url":"https://extensions.blender.org/download/sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064/add-on-rigflex-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigflex/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation","Physics","Rigging"]},{"id":"visibility_handler","schema_version":"1.0.0","name":"Visibility handler","version":"1.1.3","tagline":"Copy visibility from viewport to render settings or vice versa","archive_hash":"sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c","archive_size":8680,"archive_url":"https://extensions.blender.org/download/sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c/add-on-visibility-handler-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/visibility-handler/","maintainer":"DanielBystedt","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"FavoriteObjects","schema_version":"1.0.0","name":"Favorite Objects","version":"1.0.5","tagline":"Mark your favorite objects and select them from the Viewport","archive_hash":"sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6","archive_size":5933,"archive_url":"https://extensions.blender.org/download/sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6/add-on-favoriteobjects-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/favoriteobjects/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"property_chart","schema_version":"1.0.0","name":"Property Chart","version":"0.1.2","tagline":"Edit properties simultaneously for selected objects/sequencer","archive_hash":"sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed","archive_size":2959,"archive_url":"https://extensions.blender.org/download/sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed/add-on-property-chart-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/property-chart/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"Connecter","schema_version":"1.0.0","name":"Connecter","version":"0.6.20","tagline":"Streamlined Asset Management: Import & Export with Connecter DAM","archive_hash":"sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310","archive_size":392369,"archive_url":"https://extensions.blender.org/download/sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310/add-on-connecter-v0.6.20-windows-x64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/connecter/","maintainer":"DesignConnected","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export blend files from/to disk"},"platforms":["windows-x64","windows-arm64"],"tags":["Import-Export"]},{"id":"render_multiple_instances","schema_version":"1.0.0","name":"Render Multiple Instances","version":"3.2.1","tagline":"Render animations and Flipbooks faster with multiple instances","archive_hash":"sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc","archive_size":8380,"archive_url":"https://extensions.blender.org/download/sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc/add-on-render-multiple-instances-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-multiple-instances/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and read exports images"},"tags":["Render","Pipeline"]},{"id":"turnaround_camera","schema_version":"1.0.0","name":"Turnaround Camera","version":"0.3.0","tagline":"Add a camera rotation around selected object","archive_hash":"sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa","archive_size":3237,"archive_url":"https://extensions.blender.org/download/sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa/add-on-turnaround-camera-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turnaround-camera/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"carver","schema_version":"1.0.0","name":"Carver","version":"1.2.3","tagline":"Multiple tools to carve or to create objects","archive_hash":"sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b","archive_size":29032,"archive_url":"https://extensions.blender.org/download/sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b/add-on-carver-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/carver/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"ghostview","schema_version":"1.0.0","name":"GhostView","version":"1.0.2","tagline":"Adjust Window Opacity","archive_hash":"sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2","archive_size":1997,"archive_url":"https://extensions.blender.org/download/sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2/add-on-ghostview-v1.0.2-windows-x64-windows-arm64-macos-x64-macos-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ghostview/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","windows-arm64","macos-x64","macos-arm64"],"tags":["User Interface","System"]},{"id":"texops","schema_version":"1.0.0","name":"TexOps","version":"1.0.0","tagline":"Texture Conversion, Generation, and Manipulation Operations","archive_hash":"sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9","archive_size":94059,"archive_url":"https://extensions.blender.org/download/sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9/add-on-texops-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texops/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Bake","Import-Export","User Interface"]},{"id":"gamepadcontrol","schema_version":"1.0.0","name":"Gamepad Control","version":"0.1.2","tagline":"Use gamepads as input device to control Blender","archive_hash":"sha256:91cd1c62ff1c6f009b15f2058627ca927f91ccc237ad1cfd5b59af71bd04cc62","archive_size":4828055,"archive_url":"https://extensions.blender.org/download/sha256:91cd1c62ff1c6f009b15f2058627ca927f91ccc237ad1cfd5b59af71bd04cc62/add-on-gamepadcontrol-v0.1.2-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/gamepadcontrol/","maintainer":"Frank-Moelendoerp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export settings and controller modes"},"platforms":["windows-x64"],"tags":["System","User Interface"]},{"id":"LightNCreamy","schema_version":"1.0.0","name":"Light N Creamy","version":"1.0.0","tagline":"Modern light and creamy theme","archive_hash":"sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7","archive_size":3828,"archive_url":"https://extensions.blender.org/download/sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7/theme-lightncreamy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/lightncreamy/","maintainer":"nova3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"theme_elsyiun_like","schema_version":"1.0.0","name":"elsyiun like","version":"1.1.0","tagline":"A flat dark theme that is easy on the eyes","archive_hash":"sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1","archive_size":5639,"archive_url":"https://extensions.blender.org/download/sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1/theme-theme-elsyiun-like-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-elsyiun-like/","maintainer":"modekichi","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"only_blends_mixer","schema_version":"1.0.0","name":"OnlyBlends.Mixer","version":"0.1.2","tagline":"An extension to turn Blender into a Mixer... of Sounds","archive_hash":"sha256:9fe6a5ae856a4b0bf2058782f1575a2755ce5adcafd3cf0cf6e922fd397431fd","archive_size":53903,"archive_url":"https://extensions.blender.org/download/sha256:9fe6a5ae856a4b0bf2058782f1575a2755ce5adcafd3cf0cf6e922fd397431fd/add-on-only-blends-mixer-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-mixer/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline"]},{"id":"viewport_navigation_display","schema_version":"1.0.0","name":"Viewport Navigation Display","version":"1.0.0","tagline":"Visualize and control other viewports from TOP view","archive_hash":"sha256:71b16955b7f8e02771266087a8d6742b7fcebb02b54c3a7c9cd1f14e5bef6eee","archive_size":45449,"archive_url":"https://extensions.blender.org/download/sha256:71b16955b7f8e02771266087a8d6742b7fcebb02b54c3a7c9cd1f14e5bef6eee/add-on-viewport-navigation-display-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-navigation-display/","maintainer":"Cristiano-Tosoni","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","User Interface"]},{"id":"viewport_fps","schema_version":"1.0.0","name":"Viewport FPS","version":"1.0.2","tagline":"Displays frames per second in current 3D viewport","archive_hash":"sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f","archive_size":3040,"archive_url":"https://extensions.blender.org/download/sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f/add-on-viewport-fps-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-fps/","maintainer":"Pazelock","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","System"]},{"id":"asset_shelf_shortcut_display","schema_version":"1.0.0","name":"Asset Shelf Shortcut Display","version":"1.0.0","tagline":"Adds a line with hotkey/shortcut of the asset in the shelf","archive_hash":"sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad","archive_size":2816,"archive_url":"https://extensions.blender.org/download/sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad/add-on-asset-shelf-shortcut-display-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/asset-shelf-shortcut-display/","maintainer":"The-Loose-Spirit","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"dy_pack_master","schema_version":"1.0.0","name":"dy Pack Master","version":"1.0.1","tagline":"Make Blender projects portable for render farms","archive_hash":"sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f","archive_size":34845,"archive_url":"https://extensions.blender.org/download/sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f/add-on-dy-pack-master-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dy-pack-master/","maintainer":"cdordelly","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Copies and localizes external assets to project directory"},"tags":["Pipeline","Import-Export","System"]},{"id":"cycles_bake_info","schema_version":"1.0.0","name":"Bake Info","version":"1.0.2","tagline":"fast bake checkup","archive_hash":"sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5/add-on-cycles-bake-info-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cycles-bake-info/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"Areas_by_Materials","schema_version":"1.0.0","name":"Areas by Materials","version":"1.6.0","tagline":"Displays information about areas of materials in selection","archive_hash":"sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9","archive_size":3609,"archive_url":"https://extensions.blender.org/download/sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9/add-on-areas-by-materials-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/areas-by-materials/","maintainer":"Justinas-Dudenas","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","User Interface"]},{"id":"smart_box_select","schema_version":"1.0.0","name":"Smart Box Select","version":"1.0.2","tagline":"Box/Lasso select with object activation","archive_hash":"sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa","archive_size":3800,"archive_url":"https://extensions.blender.org/download/sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa/add-on-smart-box-select-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-box-select/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"quill","schema_version":"1.0.0","name":"Quill Import/Export","version":"1.3.1","tagline":"Import and export Quill VR illustrations and animations","archive_hash":"sha256:b89f7f48dc9b2117dc1205c83022379e0a989f886e7d05e81539c2f0d4b66a2c","archive_size":42471,"archive_url":"https://extensions.blender.org/download/sha256:b89f7f48dc9b2117dc1205c83022379e0a989f886e7d05e81539c2f0d4b66a2c/add-on-quill-v1.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quill/","maintainer":"Joan-Charmant","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export Quill projects from/to disk"},"tags":["Import-Export"]},{"id":"global_copy_nodes","schema_version":"1.0.0","name":"Global Copy Nodes","version":"1.0.5","tagline":"Copy nodes across .blend projects","archive_hash":"sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e","archive_size":21986,"archive_url":"https://extensions.blender.org/download/sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e/add-on-global-copy-nodes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/global-copy-nodes/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires reading & writing node copy buffer to disk"},"tags":["System","Node"]},{"id":"splats","schema_version":"1.0.0","name":"Splats","version":"1.0.1","tagline":"Generate multi-view training data for Gaussian Splatting","archive_hash":"sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2","archive_size":15856,"archive_url":"https://extensions.blender.org/download/sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2/add-on-splats-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/splats/","maintainer":"Dev.Patel","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PLY point clouds and render output files"},"tags":["Render","Camera"]},{"id":"overscan_addon","schema_version":"1.0.0","name":"Overscan Addon","version":"1.0.1","tagline":"Adds Overscan to your renders","archive_hash":"sha256:d119348424c5cccb648d12526be487f257377db9e329a4e509043dcc59cae0fc","archive_size":6306,"archive_url":"https://extensions.blender.org/download/sha256:d119348424c5cccb648d12526be487f257377db9e329a4e509043dcc59cae0fc/add-on-overscan-addon-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan-addon/","maintainer":"eknath-kambagiri","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"gizmo_resizer","schema_version":"1.0.0","name":"Gizmo Resizer","version":"2.3.0","tagline":"Resize viewport Gizmo with Numpad keys","archive_hash":"sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe","archive_size":15888,"archive_url":"https://extensions.blender.org/download/sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe/add-on-gizmo-resizer-v2.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gizmo-resizer/","maintainer":"corentin","license":["SPDX:GPL-3.0-or-later"]},{"id":"Mask_To_Vertex_Color_Pro","schema_version":"1.0.0","name":"MaskToVertexColorPro","version":"2.0.4","tagline":"Mask To VertexColor Pro Tools","archive_hash":"sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a","archive_size":30127,"archive_url":"https://extensions.blender.org/download/sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a/add-on-mask-to-vertex-color-pro-v2.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mask-to-vertex-color-pro/","maintainer":"MoLei_VFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images are required as masks"},"tags":["Paint","Material"]},{"id":"export_curve_as_svg","schema_version":"1.0.0","name":"Export Curve as SVG","version":"1.0.0","tagline":"Export selected Bezier and Poly curves as SVG files","archive_hash":"sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990","archive_size":16937,"archive_url":"https://extensions.blender.org/download/sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990/add-on-export-curve-as-svg-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-curve-as-svg/","maintainer":"Gilberto.R","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"asset_library_tools","schema_version":"1.0.0","name":"Asset Library Tools","version":"1.0.0","tagline":"Filter assets by tags and catalogue backups for asset libraries","archive_hash":"sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37","archive_size":15607,"archive_url":"https://extensions.blender.org/download/sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37/add-on-asset-library-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-library-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write tag indexes and catalogue backup files"},"tags":["System","User Interface","Pipeline"]},{"id":"redlix_theme","schema_version":"1.0.0","name":"Redlix Theme","version":"1.0.0","tagline":"Cooperative brutalist framework - retro-futuristic design system","archive_hash":"sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8","archive_size":4968,"archive_url":"https://extensions.blender.org/download/sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8/theme-redlix-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redlix-theme/","maintainer":"redlix","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"ftw_flattening_toolset","schema_version":"1.0.0","name":"FTW Flattening Toolset","version":"2.0.0","tagline":"UV workflow: flattening, curve alignment, scaling, UV transfer","archive_hash":"sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a","archive_size":1176759,"archive_url":"https://extensions.blender.org/download/sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a/add-on-ftw-flattening-toolset-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw-flattening-toolset/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"]},{"id":"folded_paper_engine","schema_version":"1.0.0","name":"Folded Paper Engine","version":"1.0.6","tagline":"Define gameplay in Blender and play in Godot with a few clicks","archive_hash":"sha256:036c41c8dc4cd88fde3f2259d17e8d2d84b5a396b869bc48ce0fa95a70d324b0","archive_size":13799,"archive_url":"https://extensions.blender.org/download/sha256:036c41c8dc4cd88fde3f2259d17e8d2d84b5a396b869bc48ce0fa95a70d324b0/add-on-folded-paper-engine-v1.0.6.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/folded-paper-engine/","maintainer":"Papercraft-Games","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"tags":["Import-Export","Game Engine","Pipeline"]},{"id":"gather_resources","schema_version":"1.0.0","name":"Gather Resources","version":"0.5.2","tagline":"Collect project media into a local folder","archive_hash":"sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3","archive_size":10373,"archive_url":"https://extensions.blender.org/download/sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3/add-on-gather-resources-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gather-resources/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read project media files and copy them into a local directory"},"tags":["System","Pipeline"]},{"id":"rendercue","schema_version":"1.0.0","name":"RenderCue","version":"1.1.3","tagline":"Sequence. Queue. Render","archive_hash":"sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b","archive_size":52378,"archive_url":"https://extensions.blender.org/download/sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b/add-on-rendercue-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rendercue/","maintainer":"UsamaSQ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save renders to user-defined directories","network":"Send render notifications via Webhooks"},"tags":["Render","Pipeline"]},{"id":"character_pipeline_tracker","schema_version":"1.0.0","name":"Character Pipeline Tracker","version":"1.0.0","tagline":"Track and automate character creation pipeline stages","archive_hash":"sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010","archive_size":27555,"archive_url":"https://extensions.blender.org/download/sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010/add-on-character-pipeline-tracker-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/character-pipeline-tracker/","maintainer":"Evgeny-Lisichik","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"spine_io","schema_version":"1.0.0","name":"Spine IO","version":"0.0.3","tagline":"Export bone-driven Spine 4.3 JSON files","archive_hash":"sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e","archive_size":29815,"archive_url":"https://extensions.blender.org/download/sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e/add-on-spine-io-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spine-io/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read textures and write Spine JSON"},"tags":["Import-Export","Rigging","Animation"]},{"id":"cam_tools","schema_version":"1.0.0","name":"Cam Tools","version":"1.0.1","tagline":"Streamlined camera workflow toolkit","archive_hash":"sha256:6e616bb918b72a956f58fdcd1c75b073de375200f0d55f596423b09771ecadc4","archive_size":11445,"archive_url":"https://extensions.blender.org/download/sha256:6e616bb918b72a956f58fdcd1c75b073de375200f0d55f596423b09771ecadc4/add-on-cam-tools-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cam-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"io_scene_owm","schema_version":"1.0.0","name":"OWM Import","version":"3.3.0","tagline":"Import files from the Overwatch extraction tools (DataTool)","archive_hash":"sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44","archive_size":279606,"archive_url":"https://extensions.blender.org/download/sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44/add-on-io-scene-owm-v3.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-owm/","maintainer":"overtools","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing files from disk"},"tags":["Import-Export"]},{"id":"camfree","schema_version":"1.0.0","name":"CamFree","version":"1.0.5","tagline":"Fly/Walk Navigation on Cameras with Constraints","archive_hash":"sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344","archive_size":2409,"archive_url":"https://extensions.blender.org/download/sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344/add-on-camfree-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camfree/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"windows_xp_theme","schema_version":"1.0.0","name":"Windows XP","version":"1.0.0","tagline":"A light theme directly inspired by Windows XP","archive_hash":"sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a","archive_size":6634,"archive_url":"https://extensions.blender.org/download/sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a/theme-windows-xp-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/windows-xp-theme/","maintainer":"Alkalide","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"mintLavender","schema_version":"1.0.0","name":"Mint Lavender Chill","version":"1.0.3","tagline":"A Mint lavender theme for Blender with Lo-fi aesthetics","archive_hash":"sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5","archive_size":5321,"archive_url":"https://extensions.blender.org/download/sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5/theme-mintlavender-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mintlavender/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"multirow","schema_version":"1.0.0","name":"Multirow","version":"1.0.1","tagline":"Text strips with line break","archive_hash":"sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1","archive_size":4445,"archive_url":"https://extensions.blender.org/download/sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1/add-on-multirow-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/multirow/","maintainer":"flakmoppen","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","Text Editor","User Interface"]},{"id":"sort_viewlayers_rmb","schema_version":"1.0.0","name":"RMB Sort View Layers Alphabetically in Outliner-Scenes","version":"0.0.2","tagline":"RMB Sort View Layers Alphabetically in Outliner-Scenes","archive_hash":"sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0","archive_size":2908,"archive_url":"https://extensions.blender.org/download/sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0/add-on-sort-viewlayers-rmb-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sort-viewlayers-rmb/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"voda_theme_cinnamon","schema_version":"1.0.0","name":"Cinnamon","version":"1.0.0","tagline":"Cinnamon-Orange themed Blender with a gradiented kick","archive_hash":"sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d","archive_size":6549,"archive_url":"https://extensions.blender.org/download/sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d/theme-voda-theme-cinnamon-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/voda-theme-cinnamon/","maintainer":"VaVo","license":["SPDX:CC0-1.0"]},{"id":"Studio_Dark","schema_version":"1.0.0","name":"Studio Dark","version":"1.1.8","tagline":"Comfortable contrast, blue accent, white select, green active","archive_hash":"sha256:ca85d2611a14530a8df4bf019e72841ab79df6624b381a79656d3496933875b7","archive_size":5340,"archive_url":"https://extensions.blender.org/download/sha256:ca85d2611a14530a8df4bf019e72841ab79df6624b381a79656d3496933875b7/theme-studio-dark-v1.1.8.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/studio-dark/","maintainer":"Brunoosti","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"khellstr_light","schema_version":"1.0.0","name":"khellstr light theme","version":"1.0.0","tagline":"Balanced Light Theme for Blender","archive_hash":"sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d","archive_size":6493,"archive_url":"https://extensions.blender.org/download/sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d/theme-khellstr-light-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/khellstr-light/","maintainer":"Kimmo-Hellström","license":["SPDX:GPL-3.0-or-later"]},{"id":"Black","schema_version":"1.0.0","name":"Black","version":"5.0.3","tagline":"A black theme, probably the blackest one","archive_hash":"sha256:4ed8f78c3d5d43be8aa1e76c236553719f5ca69d915983140fdbf522b8880292","archive_size":5127,"archive_url":"https://extensions.blender.org/download/sha256:4ed8f78c3d5d43be8aa1e76c236553719f5ca69d915983140fdbf522b8880292/theme-black-v5.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/black/","maintainer":"Gurra","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"asset_optimizer","schema_version":"1.0.0","name":"Game Asset Optimizer","version":"1.0.2","tagline":"Optimize 3D models for Unity and Unreal Engine workflows","archive_hash":"sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b","archive_size":19580,"archive_url":"https://extensions.blender.org/download/sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b/add-on-asset-optimizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-optimizer/","maintainer":"Sudip-Soni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export optimized assets for Unity and Unreal Engine"},"tags":["Modeling","Mesh","Pipeline"]},{"id":"root_maker","schema_version":"1.0.0","name":"RootMaker","version":"1.0.1","tagline":"Create root bone & bake into actions","archive_hash":"sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3","archive_size":6592,"archive_url":"https://extensions.blender.org/download/sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3/add-on-root-maker-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/root-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging","Bake"]},{"id":"k_tools_texture_map_loader","schema_version":"1.0.0","name":"K-Tools: Texture Map Loader","version":"1.0.9","tagline":" An easy way to load Texture Sets in your Shader Material","archive_hash":"sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495","archive_size":787239,"archive_url":"https://extensions.blender.org/download/sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495/add-on-k-tools-texture-map-loader-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-texture-map-loader/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load Node Groups from disk"},"tags":["Material"]},{"id":"turntable_camera","schema_version":"1.0.0","name":"Turntable Camera","version":"0.1.1","tagline":"Camera Turntable Setup","archive_hash":"sha256:043461468d921c1b89637341efe67cbe58b20439cdb4d8e0c0429c4aba9d3f4b","archive_size":17289,"archive_url":"https://extensions.blender.org/download/sha256:043461468d921c1b89637341efe67cbe58b20439cdb4d8e0c0429c4aba9d3f4b/add-on-turntable-camera-v0.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turntable-camera/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"MetahumanToManny","schema_version":"1.0.0","name":"MetaHumanToManny","version":"1.2.0","tagline":"Clean up MetaHuman meshes and match them to UE5 Manny","archive_hash":"sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685","archive_size":21164,"archive_url":"https://extensions.blender.org/download/sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685/add-on-metahumantomanny-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/metahumantomanny/","maintainer":"hakan-erunsal","license":["SPDX:GPL-3.0-or-later"]},{"id":"cad_helper","schema_version":"1.0.0","name":"CAD-Helper","version":"0.6.1","tagline":"Blender Extension to manage imported CAD assemblies","archive_hash":"sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6","archive_size":34745,"archive_url":"https://extensions.blender.org/download/sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6/add-on-cad-helper-v0.6.1-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/cad-helper/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Object"]},{"id":"anim_reviewer","schema_version":"1.0.0","name":"Anim Reviewer","version":"1.0.0","tagline":"Enhance blender playblast capabilities for animation review","archive_hash":"sha256:6b4f7b38b528dc781dfa6d565b00e034dfff73df7f510ca15850a3e09f19721a","archive_size":1334127,"archive_url":"https://extensions.blender.org/download/sha256:6b4f7b38b528dc781dfa6d565b00e034dfff73df7f510ca15850a3e09f19721a/add-on-anim-reviewer-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/anim-reviewer/","maintainer":"FhyTan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save playblast videos in specified output folder"},"tags":["3D View","Animation","Camera","Pipeline"]},{"id":"momo_dark","schema_version":"1.0.0","name":"Momo Dark","version":"5.0.2","tagline":"Momo Dark - theme inspired by Modo","archive_hash":"sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36","archive_size":6454,"archive_url":"https://extensions.blender.org/download/sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36/theme-momo-dark-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo-dark/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"theme_GoldExperience","schema_version":"1.0.0","name":"Gold Experience","version":"1.0.1","tagline":"A theme if you really like yellow","archive_hash":"sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb/theme-theme-goldexperience-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-goldexperience/","maintainer":"lonku","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"catppucin4blender","schema_version":"1.0.0","name":"Catppuccin Theme","version":"5.1.5","tagline":"Catppuccin for Blender","archive_hash":"sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875","archive_size":7103,"archive_url":"https://extensions.blender.org/download/sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875/theme-catppucin4blender-v5.1.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/catppucin4blender/","maintainer":"Albert-Bici","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark","Colorful"]},{"id":"face_angle_analyzer","schema_version":"1.0.0","name":"Face Angle Analyzer","version":"8.9.4","tagline":"Measure and visualize face angles against global axes","archive_hash":"sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0","archive_size":6292,"archive_url":"https://extensions.blender.org/download/sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0/add-on-face-angle-analyzer-v8.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-angle-analyzer/","maintainer":"Astralis","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"rss_theme_cyberpunk","schema_version":"1.0.0","name":"RedSavStudios: Cyberpunk","version":"0.5.5","tagline":"A dark blue cyberpunk-inspired theme with neon highlights","archive_hash":"sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c","archive_size":5501,"archive_url":"https://extensions.blender.org/download/sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c/theme-rss-theme-cyberpunk-v0.5.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-cyberpunk/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"rss_theme_nord","schema_version":"1.0.0","name":"RedSavStudios: Nord (Aurora)","version":"0.5.2","tagline":"Nord Theme With Aurora Accents","archive_hash":"sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50","archive_size":5196,"archive_url":"https://extensions.blender.org/download/sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50/theme-rss-theme-nord-v0.5.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-nord/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"randomize_noise_offset","schema_version":"1.0.0","name":"Randomize Noise Offset","version":"1.0.3","tagline":"Randomize Noise Offset for F-Curves","archive_hash":"sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9","archive_size":2500,"archive_url":"https://extensions.blender.org/download/sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9/add-on-randomize-noise-offset-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-noise-offset/","maintainer":"a.a.andrusenko","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"mirror_image","schema_version":"1.0.0","name":"Mirror Image","version":"1.0.0","tagline":"Applies mirroring to the active image","archive_hash":"sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46","archive_size":2540,"archive_url":"https://extensions.blender.org/download/sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46/add-on-mirror-image-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mirror-image/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"toggle_orbit_method","schema_version":"1.0.0","name":"Toggle Orbit Method (Turntable / Trackball)","version":"1.0.0","tagline":"Quickly toggles between Turntable and Trackball orbit modes","archive_hash":"sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4","archive_size":1369,"archive_url":"https://extensions.blender.org/download/sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4/add-on-toggle-orbit-method-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-orbit-method/","maintainer":"ArgelliKa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"blender_vnf_exporter_extension","schema_version":"1.0.0","name":"VNF Export Extension","version":"1.0.0","tagline":"Export blender mesh to openscad vnf","archive_hash":"sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e","archive_size":14400,"archive_url":"https://extensions.blender.org/download/sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e/add-on-blender-vnf-exporter-extension-v1.0.0-windows-x64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-vnf-exporter-extension/","maintainer":"runerback","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .scad to disk"},"platforms":["windows-x64","linux-x64"],"tags":["Import-Export"]},{"id":"vray_arena_setup","schema_version":"1.0.0","name":"Vray Arena Setup","version":"2.5.0","tagline":"Export VRay Cosmos assets, scene textures, and stage cube setup","archive_hash":"sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f","archive_size":6050,"archive_url":"https://extensions.blender.org/download/sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f/add-on-vray-arena-setup-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/vray-arena-setup/","maintainer":"Darsh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write project and resources directories"},"tags":["Import-Export","Material"]},{"id":"Minimal","schema_version":"1.0.0","name":"Minimal","version":"1.0.0","tagline":"Dark minimal theme","archive_hash":"sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb","archive_size":5620,"archive_url":"https://extensions.blender.org/download/sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb/theme-minimal-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/minimal/","maintainer":"A7medKhaled.me","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"auto_track_weights","schema_version":"1.0.0","name":"Auto Track Weights","version":"0.2.1","tagline":"Automatically adjust the weights of tracking markers","archive_hash":"sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be","archive_size":2415,"archive_url":"https://extensions.blender.org/download/sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be/add-on-auto-track-weights-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track-weights/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"batch_bone_constraints","schema_version":"1.0.0","name":"Batch Bone Constraints","version":"1.1.4","tagline":"Batch bone constraints to the selected multiple armatures","archive_hash":"sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee","archive_size":6589,"archive_url":"https://extensions.blender.org/download/sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee/add-on-batch-bone-constraints-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-bone-constraints/","maintainer":"distinctive-mark","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"beautiful_dream","schema_version":"1.0.0","name":"Beautiful Dream","version":"1.0.4","tagline":"This is a variant of Whispering Ripples","archive_hash":"sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96","archive_size":5810,"archive_url":"https://extensions.blender.org/download/sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96/theme-beautiful-dream-v1.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/beautiful-dream/","maintainer":"KBS-DEV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"theme_BlueInvasion","schema_version":"1.0.0","name":"Blue Invasion","version":"1.0.2","tagline":"A theme inspired by Winamp's blue invasion theme","archive_hash":"sha256:4bbe2e8153301a35e23263079c88712f11d85fa879205338d08394d51fae0ab0","archive_size":6057,"archive_url":"https://extensions.blender.org/download/sha256:4bbe2e8153301a35e23263079c88712f11d85fa879205338d08394d51fae0ab0/theme-theme-blueinvasion-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-blueinvasion/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"trident","schema_version":"1.0.0","name":"TRIDENT","version":"0.2.1","tagline":"3D UMAP/t-SNE embeddings into Blender","archive_hash":"sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a","archive_size":128117,"archive_url":"https://extensions.blender.org/download/sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a/add-on-trident-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trident/","maintainer":"ccordi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write data files and build outputs"},"platforms":["windows-x64"],"tags":["3D View","Object"]},{"id":"FrameFlowBlender","schema_version":"1.0.0","name":"Frame Flow Beta","version":"1.4.1","tagline":"Advanced Node Frame Add-on for Blender","archive_hash":"sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f","archive_size":922364,"archive_url":"https://extensions.blender.org/download/sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f/add-on-frameflowblender-v1.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/frameflowblender/","maintainer":"abhi.01","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Text Editor"]},{"id":"pataz_thumbnail_toolz","schema_version":"1.0.0","name":"Pataz Thumbnail Toolz","version":"1.0.0","tagline":"Tools for managing asset thumbnails","archive_hash":"sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac","archive_size":2763,"archive_url":"https://extensions.blender.org/download/sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac/add-on-pataz-thumbnail-toolz-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-thumbnail-toolz/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load files from disk"},"tags":["Pipeline"]},{"id":"io_scene_jsbsim","schema_version":"1.0.0","name":"JSBSim Viewer","version":"0.2.1","tagline":"Import and visualize JSBSim FDM aircraft XML metrics","archive_hash":"sha256:e5996c53df295804c601548bd9a977f22e0cd931e47b5316ca5959d427cdf142","archive_size":6732,"archive_url":"https://extensions.blender.org/download/sha256:e5996c53df295804c601548bd9a977f22e0cd931e47b5316ca5959d427cdf142/add-on-io-scene-jsbsim-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-jsbsim/","maintainer":"RenanMsV","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Scene","3D View"]},{"id":"import_meshed_alpha","schema_version":"1.0.0","name":"Import Meshed Alpha","version":"1.0.1","tagline":"Transparency to Geometry","archive_hash":"sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e","archive_size":927961,"archive_url":"https://extensions.blender.org/download/sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e/add-on-import-meshed-alpha-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-meshed-alpha/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Image import"},"platforms":["windows-x64"],"tags":["Mesh","Material"]},{"id":"multi_adjust","schema_version":"1.0.0","name":"Multi Adjust","version":"1.0.1","tagline":"Edits properties of multiple things together","archive_hash":"sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed","archive_size":9515,"archive_url":"https://extensions.blender.org/download/sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed/add-on-multi-adjust-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multi-adjust/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"replace_with_copy","schema_version":"1.0.0","name":"Replace With Copy","version":"1.0.1","tagline":"Batch replace multiple objects with a template","archive_hash":"sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf","archive_size":4116,"archive_url":"https://extensions.blender.org/download/sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf/add-on-replace-with-copy-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/replace-with-copy/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"sierpinski_triangle","schema_version":"1.0.0","name":"Sierpinski Triangle","version":"1.0.4","tagline":"This add-on creates Sierpinski triangles","archive_hash":"sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05","archive_size":4106,"archive_url":"https://extensions.blender.org/download/sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05/add-on-sierpinski-triangle-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sierpinski-triangle/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"]},{"id":"light_generator","schema_version":"1.0.0","name":"Light Generator","version":"1.2.0","tagline":"Generate lights with advanced distribution","archive_hash":"sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05","archive_size":5837,"archive_url":"https://extensions.blender.org/download/sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05/add-on-light-generator-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/light-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting"]},{"id":"nfc_card_keychain_generator","schema_version":"1.0.0","name":"NFC Card and Keychain Generator","version":"1.1.8","tagline":"Generate customizable 3D-printable cards, tags, and keychains","archive_hash":"sha256:e9c95c1f2f509f0416f5454482a9f4efa025be43b359ee9f8ff22e276aaa0682","archive_size":506845,"archive_url":"https://extensions.blender.org/download/sha256:e9c95c1f2f509f0416f5454482a9f4efa025be43b359ee9f8ff22e276aaa0682/add-on-nfc-card-keychain-generator-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nfc-card-keychain-generator/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"Physical_Motion_Blur","schema_version":"1.0.0","name":"Physical Motion Blur","version":"1.1.0","tagline":"Adds intuitive shutter speed and angle controls for motion blur","archive_hash":"sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438","archive_size":2605,"archive_url":"https://extensions.blender.org/download/sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438/add-on-physical-motion-blur-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/physical-motion-blur/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render","Animation"]},{"id":"geo_bake_batch","schema_version":"1.0.0","name":"Geo Bake Batch","version":"0.0.1","tagline":"Batch tools for Geometry Nodes baking","archive_hash":"sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39","archive_size":2570,"archive_url":"https://extensions.blender.org/download/sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39/add-on-geo-bake-batch-v0.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geo-bake-batch/","maintainer":"Artyom-Pankratov","license":["SPDX:GPL-3.0-or-later"]},{"id":"restart","schema_version":"1.0.0","name":"Restart","version":"1.0.2","tagline":"Restart Blender","archive_hash":"sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c","archive_size":2824,"archive_url":"https://extensions.blender.org/download/sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c/add-on-restart-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/restart/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"camera_sensor_database","schema_version":"1.0.0","name":"Camera Sensor Database","version":"1.0.1","tagline":"Provides a database of camera sensors to choose from in Blender","archive_hash":"sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9","archive_size":18406,"archive_url":"https://extensions.blender.org/download/sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9/add-on-camera-sensor-database-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camera-sensor-database/","maintainer":"Manuel-Houben","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the sensor database locally","network":"To download the latest sensor database"},"tags":["Camera"]},{"id":"AddShaderAttribute","schema_version":"1.0.0","name":"Add Shader Attribute","version":"0.3.0","tagline":"Add attribute directly in shader nodetree","archive_hash":"sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707","archive_size":2591,"archive_url":"https://extensions.blender.org/download/sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707/add-on-addshaderattribute-v0.3.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/addshaderattribute/","maintainer":"atticuslv","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"all_objects_into_assets","schema_version":"1.0.0","name":"All Objects into Assets","version":"1.0.4","tagline":"Create collection assets and catalogs automatically","archive_hash":"sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7","archive_size":9361,"archive_url":"https://extensions.blender.org/download/sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7/add-on-all-objects-into-assets-v1.0.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/all-objects-into-assets/","maintainer":"StellArc","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset library catalogs file"}},{"id":"goldsrc_model_helper","schema_version":"1.0.0","name":"GS Model Helper","version":"2.2.0","tagline":"A set of tools for working with Goldsource models in Blender","archive_hash":"sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df","archive_size":7626,"archive_url":"https://extensions.blender.org/download/sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df/add-on-goldsrc-model-helper-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/goldsrc-model-helper/","maintainer":"DaKashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to rename and clean up materials/textures"}},{"id":"node_editor_pro","schema_version":"1.0.0","name":"Node Editor Pro","version":"0.5.0","tagline":"Organize nodes with auto-layout, snap and cleanup","archive_hash":"sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c","archive_size":4809,"archive_url":"https://extensions.blender.org/download/sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c/add-on-node-editor-pro-v0.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-pro/","maintainer":"the_visual_geek","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"pjavel_theme","schema_version":"1.0.0","name":"Pjavel Theme","version":"1.1.1","tagline":"Green accent theme","archive_hash":"sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece","archive_size":18590,"archive_url":"https://extensions.blender.org/download/sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece/theme-pjavel-theme-v1.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/pjavel-theme/","maintainer":"Zexyp","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"text_editor_for_development","schema_version":"1.0.0","name":"Text editor for Development","version":"1.0.6","tagline":"Text editor enhancements for add-on development","archive_hash":"sha256:d5a9dff6156ce13b3d6cc25302c4ecae2be48f373c4caec0dcccf8adf77d5e5e","archive_size":49169,"archive_url":"https://extensions.blender.org/download/sha256:d5a9dff6156ce13b3d6cc25302c4ecae2be48f373c4caec0dcccf8adf77d5e5e/add-on-text-editor-for-development-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/text-editor-for-development/","maintainer":"Martin-Lorentzon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Specify folder to preview for file-browsing/editing","network":"Clone remote Git repositories for add-on templates"},"tags":["Text Editor","Development"]},{"id":"bfds","schema_version":"1.0.0","name":"BFDS fire simulations","version":"7.0.0","tagline":"Create and manage NIST FDS fire simulations","archive_hash":"sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6","archive_size":370951,"archive_url":"https://extensions.blender.org/download/sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6/add-on-bfds-v7.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bfds/","maintainer":"emanuele.gissi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FDS files from/to disk","network":"Display geographic positions, convert coordinates"},"tags":["Import-Export"]},{"id":"sciblend","schema_version":"1.0.0","name":"SciBlend","version":"1.1.2","tagline":"Scientific visualization tools for Blender","archive_hash":"sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d","archive_size":143536802,"archive_url":"https://extensions.blender.org/download/sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d/add-on-sciblend-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/sciblend/","maintainer":"José-Marín","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"navigation_puck_addon","schema_version":"1.0.0","name":"Navigation Puck Addon","version":"1.0.1","tagline":"Navigation Puck like in Sketchbook Pro","archive_hash":"sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51","archive_size":14528,"archive_url":"https://extensions.blender.org/download/sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51/add-on-navigation-puck-addon-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation-puck-addon/","maintainer":"IliaVerpa","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"midicontroller","schema_version":"1.0.0","name":"MidiController","version":"0.1.4","tagline":"Control objects properties through midi","archive_hash":"sha256:79f7dff37d0da6b479a11856c8f3edab3a6161dd76f59c008e13767e6cdc7cee","archive_size":357424,"archive_url":"https://extensions.blender.org/download/sha256:79f7dff37d0da6b479a11856c8f3edab3a6161dd76f59c008e13767e6cdc7cee/add-on-midicontroller-v0.1.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/midicontroller/","maintainer":"Eldin-Zenderink","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"mc_animaker","schema_version":"1.0.0","name":"MC Animaker","version":"1.3.4","tagline":"Bring your Blender animations to life in Minecraft","archive_hash":"sha256:5f17a5bb31db9721bcdc9db6417fb09a9f4596642d90acd94bd1f5522f81156a","archive_size":132183,"archive_url":"https://extensions.blender.org/download/sha256:5f17a5bb31db9721bcdc9db6417fb09a9f4596642d90acd94bd1f5522f81156a/add-on-mc-animaker-v1.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mc-animaker/","maintainer":"Priqnot","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Resource Packs and Export Minecraft Datapack Files"},"tags":["Import-Export","Animation"]},{"id":"smart_transform","schema_version":"1.0.0","name":"Smart Transform","version":"1.0.2","tagline":"filter objects by size or transforms, and more tools","archive_hash":"sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11","archive_size":2671,"archive_url":"https://extensions.blender.org/download/sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11/add-on-smart-transform-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-transform/","maintainer":"Claz_Arts","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"animated_brush","schema_version":"1.0.0","name":"Animated Texture Brush","version":"1.0.2","tagline":"Randomly cycles image sequence texture while painting","archive_hash":"sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be","archive_size":2467,"archive_url":"https://extensions.blender.org/download/sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be/add-on-animated-brush-v1.0.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animated-brush/","maintainer":"Kvendy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"lod_gen","schema_version":"1.0.0","name":"LODGen","version":"0.0.5","tagline":"Generate LODs for Games in 3 Clicks or Less","archive_hash":"sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128","archive_size":15434,"archive_url":"https://extensions.blender.org/download/sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128/add-on-lod-gen-v0.0.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/lod-gen/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"stroke_material_display","schema_version":"1.0.0","name":"Stroke Material Display","version":"1.0.1","tagline":"Display material names of selected Grease Pencil strokes","archive_hash":"sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317","archive_size":3088,"archive_url":"https://extensions.blender.org/download/sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317/add-on-stroke-material-display-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/stroke-material-display/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"LostSelection","schema_version":"1.0.0","name":"Lost Selection","version":"0.2.0","tagline":"Set of usefull extra selection operators","archive_hash":"sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4","archive_size":32205,"archive_url":"https://extensions.blender.org/download/sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4/add-on-lostselection-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lostselection/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"reset_workspace","schema_version":"1.0.0","name":"Reset Workspace","version":"0.0.4","tagline":"Reset the user interface (with your startup file interface)","archive_hash":"sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32","archive_size":5093,"archive_url":"https://extensions.blender.org/download/sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32/add-on-reset-workspace-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reset-workspace/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"edit_instanced_collection","schema_version":"1.0.0","name":"Edit Instanced Collection","version":"0.0.5","tagline":"Quickly find the instanced collection source","archive_hash":"sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3","archive_size":6971,"archive_url":"https://extensions.blender.org/download/sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3/add-on-edit-instanced-collection-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-instanced-collection/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"add_std_paper_size","schema_version":"1.0.0","name":"Add Std Paper-Format","version":"0.1.0","tagline":"Blender add-on to add planes with standardized paper formats","archive_hash":"sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4","archive_size":19785,"archive_url":"https://extensions.blender.org/download/sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4/add-on-add-std-paper-size-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-std-paper-size/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"Blueprint_Film_Theme","schema_version":"1.0.0","name":"Blueprint_Film_Theme","version":"2.1.0","tagline":"Translucent Blue","archive_hash":"sha256:dab951c64109e7db8e8e8ced89871107990be08f3727cf4e042ceab3adbed9a6","archive_size":5756,"archive_url":"https://extensions.blender.org/download/sha256:dab951c64109e7db8e8e8ced89871107990be08f3727cf4e042ceab3adbed9a6/theme-blueprint-film-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-film-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"pbsu_addon_3ds","schema_version":"1.0.0","name":"PBSU 3D Studio (.3ds)","version":"1.0.1","tagline":"Import/export 3DS scenes, objects, cameras, lights & anims","archive_hash":"sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d","archive_size":42631,"archive_url":"https://extensions.blender.org/download/sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d/add-on-pbsu-addon-3ds-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pbsu-addon-3ds/","maintainer":"Arturo-Cervantes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"on_screen_numpad","schema_version":"1.0.0","name":"On-Screen Numpad","version":"1.2.0","tagline":"No need to leave the mouse to enter numbers","archive_hash":"sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20","archive_size":22847,"archive_url":"https://extensions.blender.org/download/sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20/add-on-on-screen-numpad-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/on-screen-numpad/","maintainer":"Pluglug","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Sakura_Rig_GUI","schema_version":"1.0.0","name":"Sakura's Rig Interfaces","version":"3.1.0","tagline":"A control script for use with Sakura's Rigs","archive_hash":"sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0","archive_size":23119,"archive_url":"https://extensions.blender.org/download/sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0/add-on-sakura-rig-gui-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-rig-gui/","maintainer":"SakuraSedaia","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and Store Player Skin Information and Downloaded Rigs","network":"Download Minecraft Skin Information from minecraft.net"},"tags":["Rigging","User Interface"]},{"id":"attrio_csv","schema_version":"1.0.0","name":"Attrio CSV","version":"1.0.1","tagline":"Bake and read back Evaluated Dependency Graph Data as CSV","archive_hash":"sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68","archive_size":161895,"archive_url":"https://extensions.blender.org/download/sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68/add-on-attrio-csv-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/attrio-csv/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Bake","Geometry Nodes"]},{"id":"EMU3BM","schema_version":"1.0.0","name":"Toggle Emulate 3 Button Mouse","version":"1.4.0","tagline":"Toggle Emulate 3 Button Mouse","archive_hash":"sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593","archive_size":1343,"archive_url":"https://extensions.blender.org/download/sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593/add-on-emu3bm-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/emu3bm/","maintainer":"chenkin123","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"BL_EasyCrop","schema_version":"1.0.0","name":"BL Easy Crop","version":"2.0.2","tagline":"Use handles for easy cropping in the Blender VSE Preview window","archive_hash":"sha256:69729ea4dd20c0b8530cb0c9c7a628e74e7ce54929a978eca0c86cdd838497d4","archive_size":37253,"archive_url":"https://extensions.blender.org/download/sha256:69729ea4dd20c0b8530cb0c9c7a628e74e7ce54929a978eca0c86cdd838497d4/add-on-bl-easycrop-v2.0.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-easycrop/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","User Interface"]},{"id":"space_colonization_tree_generator","schema_version":"1.0.0","name":"Space colonization tree generator","version":"1.0.0","tagline":"A simple add-on which uses the space colonization approach","archive_hash":"sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83","archive_size":6781,"archive_url":"https://extensions.blender.org/download/sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83/add-on-space-colonization-tree-generator-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/space-colonization-tree-generator/","maintainer":"LS","license":["SPDX:GPL-3.0-or-later"]},{"id":"SHIRAKUMO_sf3_io","schema_version":"1.0.0","name":"Shirakumo SF3 IO","version":"1.1.0","tagline":"Export/Import support for Simple File Format Family (SF3) files","archive_hash":"sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c","archive_size":24064,"archive_url":"https://extensions.blender.org/download/sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c/add-on-shirakumo-sf3-io-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-sf3-io/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"permissions":{"files":"Import/export SF3 from/to disk"},"tags":["Import-Export"]},{"id":"normalize_resize_handles","schema_version":"1.0.0","name":"Normalize and Resize Curve Handles","version":"1.0.1","tagline":"Normalize and resize all selected bezier curve handles","archive_hash":"sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a","archive_size":1537,"archive_url":"https://extensions.blender.org/download/sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a/add-on-normalize-resize-handles-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/normalize-resize-handles/","maintainer":"TomasCJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"visual_limits","schema_version":"1.0.0","name":"Visual limits","version":"1.3.2","tagline":"This addon shows rigid body constraint limits in viewport","archive_hash":"sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e","archive_size":2710,"archive_url":"https://extensions.blender.org/download/sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e/add-on-visual-limits-v1.3.2.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/visual-limits/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"FocalLengthTweaker","schema_version":"1.0.0","name":"Focal Length Tweaker","version":"1.0.1","tagline":"Control viewport and camera focal length with your mouse","archive_hash":"sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833","archive_size":9686,"archive_url":"https://extensions.blender.org/download/sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833/add-on-focallengthtweaker-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/focallengthtweaker/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","User Interface"]},{"id":"Zeratul_Theme","schema_version":"1.0.0","name":"Zeratul_Theme","version":"3.0.1","tagline":"Invisible Shadow Warrior","archive_hash":"sha256:a5f630742243e39d33ceac4a73a027750451fd998b981d8ca6f9c2ea37d3d16a","archive_size":5658,"archive_url":"https://extensions.blender.org/download/sha256:a5f630742243e39d33ceac4a73a027750451fd998b981d8ca6f9c2ea37d3d16a/theme-zeratul-theme-v3.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zeratul-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blueprint_Theme","schema_version":"1.0.0","name":"Prussian_Blueprint_Theme","version":"2.1.0","tagline":"Pure Prussian Blue","archive_hash":"sha256:c09ad349a800ae8ca6167e6b727f5c7d376a0da4e2389e66446577a1e3271462","archive_size":5790,"archive_url":"https://extensions.blender.org/download/sha256:c09ad349a800ae8ca6167e6b727f5c7d376a0da4e2389e66446577a1e3271462/theme-prussian-blueprint-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"render_webhook","schema_version":"1.0.0","name":"Render Webhook","version":"1.0.2","tagline":"Sends a message after render events to a webhook","archive_hash":"sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58","archive_size":2567,"archive_url":"https://extensions.blender.org/download/sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58/add-on-render-webhook-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-webhook/","maintainer":"vignette","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Sending HTTP requests to provided webhook URL"},"tags":["Render","Pipeline"]},{"id":"Prussian_Blue_Pink_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Pink_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356","archive_size":5758,"archive_url":"https://extensions.blender.org/download/sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356/theme-prussian-blue-pink-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-pink-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blue_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135","archive_size":5687,"archive_url":"https://extensions.blender.org/download/sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135/theme-prussian-blue-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Clip_Tools","schema_version":"1.0.0","name":"Clip Tools","version":"1.0.3","tagline":"Add a simple tool to the Movie Clip Editor","archive_hash":"sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391","archive_size":7924,"archive_url":"https://extensions.blender.org/download/sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391/add-on-clip-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clip-tools/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Camera","3D View"]},{"id":"Merge_selected_cameras","schema_version":"1.0.0","name":"Merge Selected Cameras","version":"1.1.1","tagline":"Create one animated camera from your photogrammetry sequence","archive_hash":"sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d","archive_size":4219,"archive_url":"https://extensions.blender.org/download/sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d/add-on-merge-selected-cameras-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/merge-selected-cameras/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking","3D View"]},{"id":"only_blends_gamepad","schema_version":"1.0.0","name":"OnlyBlends.Gamepad","version":"0.2.1","tagline":"An extension to integrate multiple gamepads into blender","archive_hash":"sha256:00f555dd498574957c0ac22cc563e0ff28e06d7cead86b7b80f96930b04c0fc8","archive_size":10577389,"archive_url":"https://extensions.blender.org/download/sha256:00f555dd498574957c0ac22cc563e0ff28e06d7cead86b7b80f96930b04c0fc8/add-on-only-blends-gamepad-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-gamepad/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Game Engine","Geometry Nodes"]},{"id":"Scene_Duration_Display","schema_version":"1.0.0","name":"Scene Duration Display","version":"1.1.1","tagline":"Displays and syncs timeline duration. Set preview range with I/O","archive_hash":"sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940","archive_size":2361,"archive_url":"https://extensions.blender.org/download/sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940/add-on-scene-duration-display-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-duration-display/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Gray50","schema_version":"1.0.0","name":"Gray50","version":"1.0.2","tagline":"Remake of Blender3.3 light theme","archive_hash":"sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9","archive_size":5795,"archive_url":"https://extensions.blender.org/download/sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9/theme-gray50-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gray50/","maintainer":"Nick2321","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Inspired By"]},{"id":"bl_reset_custom_properties","schema_version":"1.0.0","name":"Reset Custom Properties","version":"1.0.4","tagline":"Reset custom properties to their default values","archive_hash":"sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4","archive_size":5646,"archive_url":"https://extensions.blender.org/download/sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4/add-on-bl-reset-custom-properties-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bl-reset-custom-properties/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View"]},{"id":"Blackboard_Theme","schema_version":"1.0.0","name":"Blackboard_Theme","version":"2.1.1","tagline":"Dark Monotone","archive_hash":"sha256:800f6aaf0e7f3873578c11dd9a43a03e4cb4bd8b97bb71913f8f39e73946cd07","archive_size":5607,"archive_url":"https://extensions.blender.org/download/sha256:800f6aaf0e7f3873578c11dd9a43a03e4cb4bd8b97bb71913f8f39e73946cd07/theme-blackboard-theme-v2.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blackboard-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"shape_key_utilities_enhanced","schema_version":"1.0.0","name":"Shape Key Utilities Enhanced","version":"1.0.0","tagline":"Comprehensive shape key management with locked key operations","archive_hash":"sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f","archive_size":15525,"archive_url":"https://extensions.blender.org/download/sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f/add-on-shape-key-utilities-enhanced-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-utilities-enhanced/","maintainer":"LeafyBush7","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","Modeling"]},{"id":"mass_keyframe","schema_version":"1.0.0","name":"Mass Keyframe","version":"1.1.0","tagline":"Keyframe properties better","archive_hash":"sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506","archive_size":426822,"archive_url":"https://extensions.blender.org/download/sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506/add-on-mass-keyframe-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mass-keyframe/","maintainer":"StratosDerg","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"color_grid_texture_gen","schema_version":"1.0.0","name":"Color Grid Texture Generator","version":"0.1.2","tagline":"Generate customizable color grid textures","archive_hash":"sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f","archive_size":28692,"archive_url":"https://extensions.blender.org/download/sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f/add-on-color-grid-texture-gen-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-grid-texture-gen/","maintainer":"andersmmg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Read Coolors URL from clipboard"},"tags":["Material","UV"]},{"id":"io_import_build_map","schema_version":"1.0.0","name":"BUILD Map Importer","version":"1.4.1","tagline":"Import BUILD Engine maps as used in Duke Nukem 3D, Blood, etc","archive_hash":"sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54","archive_size":57108,"archive_url":"https://extensions.blender.org/download/sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54/add-on-io-import-build-map-v1.4.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-build-map/","maintainer":"Jens.Ne","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .map files and textures from filesystem"},"tags":["Import-Export","Mesh","Material"]},{"id":"distribute_grease_pencil_strokes","schema_version":"1.0.0","name":"Align-Distribute Grease Pencil Strokes","version":"2.1.0","tagline":"Align-Distribute Grease Pencil strokes","archive_hash":"sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2","archive_size":13284,"archive_url":"https://extensions.blender.org/download/sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2/add-on-distribute-grease-pencil-strokes-v2.1.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/distribute-grease-pencil-strokes/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"BL_FastStart","schema_version":"1.0.0","name":"BL Fast Start (MP4/MOV)","version":"1.9.2","tagline":"A checkbox to add a 'Fast Start' copy of MP4/MOV renders","archive_hash":"sha256:90cc0c1c4550524898b916fea5cf70d21953c5703b01c193d967c02bd3b038f8","archive_size":23956,"archive_url":"https://extensions.blender.org/download/sha256:90cc0c1c4550524898b916fea5cf70d21953c5703b01c193d967c02bd3b038f8/add-on-bl-faststart-v1.9.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-faststart/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"quantum_void_fluoamber","schema_version":"1.0.0","name":"Quantum Void FluoAmber","version":"1.0.2","tagline":"A monochromatic dark theme with accent","archive_hash":"sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f","archive_size":3205,"archive_url":"https://extensions.blender.org/download/sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f/theme-quantum-void-fluoamber-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quantum-void-fluoamber/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"vectart_animation","schema_version":"1.0.0","name":"Vectart Animation","version":"1.1.4","tagline":"Animation tools for VectArt curves and objects","archive_hash":"sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb","archive_size":22398,"archive_url":"https://extensions.blender.org/download/sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb/add-on-vectart-animation-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-animation/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blueprints","schema_version":"1.0.0","name":"Blueprints","version":"1.0.3","tagline":"Manage background images ","archive_hash":"sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9","archive_size":3264,"archive_url":"https://extensions.blender.org/download/sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9/add-on-blueprints-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blueprints/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"batch_render_actions","schema_version":"1.0.0","name":"Batch Render Actions","version":"1.0.2","tagline":"Render each animation action to its own folder","archive_hash":"sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff","archive_size":2413,"archive_url":"https://extensions.blender.org/download/sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff/add-on-batch-render-actions-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-render-actions/","maintainer":"Padraig-O-Cinneide","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Render"]},{"id":"rmKit_uv","schema_version":"1.0.0","name":"rmKitUV","version":"1.0.7","tagline":"Collection of Tools","archive_hash":"sha256:c8472ce9a12054a42028a66bcb813169e95bed13f6f57083b6b66d545d33fb4c","archive_size":259223,"archive_url":"https://extensions.blender.org/download/sha256:c8472ce9a12054a42028a66bcb813169e95bed13f6f57083b6b66d545d33fb4c/add-on-rmkit-uv-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rmkit-uv/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"read/write hotspots to disk"},"tags":["Mesh","UV","Material"]},{"id":"to_square","schema_version":"1.0.0","name":"To Square","version":"2.1.9","tagline":"Square the selection","archive_hash":"sha256:e1f8980123ed946e5f141f931af75a654b5133babb6cc4ec7ddd48859d96dafb","archive_size":36016,"archive_url":"https://extensions.blender.org/download/sha256:e1f8980123ed946e5f141f931af75a654b5133babb6cc4ec7ddd48859d96dafb/add-on-to-square-v2.1.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/to-square/","maintainer":"Jean-Yves-Grosbeau","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"acreplay_importer","schema_version":"1.0.0","name":"AC Replay Importer","version":"0.3.0","tagline":"Animate your cars using Assetto Corsa replays","archive_hash":"sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da","archive_size":8688,"archive_url":"https://extensions.blender.org/download/sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da/add-on-acreplay-importer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/acreplay-importer/","maintainer":"abchouhan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import CSV from disk"},"tags":["Animation"]},{"id":"dynamic_head_property_manager","schema_version":"1.0.0","name":"Dynamic Head Property Manager","version":"1.0.4","tagline":"Manage custom facial properties for Roblox Bundles","archive_hash":"sha256:469886999ad6fd3f615255f5f10e058c0d0b1c514d3760263daa9101d5ba0bae","archive_size":12442,"archive_url":"https://extensions.blender.org/download/sha256:469886999ad6fd3f615255f5f10e058c0d0b1c514d3760263daa9101d5ba0bae/add-on-dynamic-head-property-manager-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-head-property-manager/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"better_bend","schema_version":"1.0.0","name":"Better Bend","version":"1.1.0","tagline":"Cinema 4D-style deformers for Blender","archive_hash":"sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91","archive_size":4729,"archive_url":"https://extensions.blender.org/download/sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91/add-on-better-bend-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/better-bend/","maintainer":"Lije.Morgan","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"enhanced_svg","schema_version":"1.0.0","name":"Enhanced SVG","version":"0.1.8","tagline":"Import SVG with accurate colors and path processing","archive_hash":"sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2","archive_size":4067305,"archive_url":"https://extensions.blender.org/download/sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2/add-on-enhanced-svg-v0.1.8-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/enhanced-svg/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"M2V","schema_version":"1.0.0","name":"MIDI To Visuals","version":"1.2.0","tagline":"With MIDI file as input create somes 3D animations in blender","archive_hash":"sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1","archive_size":41169,"archive_url":"https://extensions.blender.org/download/sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1/add-on-m2v-v1.2.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/m2v/","maintainer":"Patochun","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Mesh2Rig","schema_version":"1.0.0","name":"Mesh2Rig","version":"2.0.0","tagline":"Transfer cloth simulation, shape keys and other to rig animation","archive_hash":"sha256:3efb60f39582f57dc3954e5f2aafb79adcc0d2e47efbe4969ec1dbead0a66a6d","archive_size":20615,"archive_url":"https://extensions.blender.org/download/sha256:3efb60f39582f57dc3954e5f2aafb79adcc0d2e47efbe4969ec1dbead0a66a6d/add-on-mesh2rig-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh2rig/","maintainer":"Sporenoe3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Bake"]},{"id":"separate_loose_plus","schema_version":"1.0.0","name":"Separate Loose Plus","version":"1.0.0","tagline":"Enhanced mesh separation tools with object tracking","archive_hash":"sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5","archive_size":1973,"archive_url":"https://extensions.blender.org/download/sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5/add-on-separate-loose-plus-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/separate-loose-plus/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"bve_import_export","schema_version":"1.0.0","name":"BVE Import/Export","version":"5.1.3","tagline":"Import/Export DirectX X (.x) or Export CSV files for BVE/OpenBVE","archive_hash":"sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984","archive_size":22514,"archive_url":"https://extensions.blender.org/download/sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984/add-on-bve-import-export-v5.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bve-import-export/","maintainer":"Kusaanko","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export model file from/to disk"},"tags":["Import-Export"]},{"id":"symple","schema_version":"1.0.0","name":"Symple (symmetry groups)","version":"0.1.2","tagline":"Create figures with spherical symmetry with ease","archive_hash":"sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3","archive_size":29123,"archive_url":"https://extensions.blender.org/download/sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3/add-on-symple-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/symple/","maintainer":"Martín-Torres-Valverde","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling","Object"]},{"id":"select_by_index","schema_version":"1.0.0","name":"Select By Index","version":"1.3.0","tagline":"Select all vertices, edges, or faces within an index range","archive_hash":"sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050/add-on-select-by-index-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-by-index/","maintainer":"Eric-Banker","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"blender_lut_exporter","schema_version":"1.0.0","name":"LUT Exporter and Importer","version":"2.0.1","tagline":"Converts adjustment layer into LUT .cube file and back","archive_hash":"sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd","archive_size":5588,"archive_url":"https://extensions.blender.org/download/sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd/add-on-blender-lut-exporter-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/blender-lut-exporter/","maintainer":"ichlubna","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Sequencer"]},{"id":"arc_edge","schema_version":"1.0.0","name":"Arc Edge","version":"1.0.9","tagline":"Arc Edge","archive_hash":"sha256:22c430111c569f657241f2102fcdca9f5618c05ccbadcbbd34bb84cf60ebdcf3","archive_size":9970,"archive_url":"https://extensions.blender.org/download/sha256:22c430111c569f657241f2102fcdca9f5618c05ccbadcbbd34bb84cf60ebdcf3/add-on-arc-edge-v1.0.9.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/arc-edge/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"Render_from_Terminal","schema_version":"1.0.0","name":"Render from Terminal","version":"0.1.5","tagline":"Create script to launch render from terminal","archive_hash":"sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3","archive_size":10030,"archive_url":"https://extensions.blender.org/download/sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3/add-on-render-from-terminal-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-from-terminal/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal"},"tags":["Render","Pipeline"]},{"id":"Fabnodes","schema_version":"1.0.0","name":"Fabnodes","version":"0.0.3","tagline":"Generates G-Code from geometry node attributes","archive_hash":"sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281","archive_size":5343,"archive_url":"https://extensions.blender.org/download/sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281/add-on-fabnodes-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fabnodes/","maintainer":"luigipacheco","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Geometry Nodes"]},{"id":"substance_textures_importer","schema_version":"1.0.0","name":"Substance Textures Importer","version":"7.1.0","tagline":"Import & autoassign images from 3D painting tools like Substance","archive_hash":"sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7","archive_size":35582,"archive_url":"https://extensions.blender.org/download/sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7/add-on-substance-textures-importer-v7.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/substance-textures-importer/","maintainer":"Cosmin_Planchon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk & read/write customs presets"},"tags":["Material","Import-Export","Node"]},{"id":"slot_link","schema_version":"1.0.0","name":"Slot Link","version":"0.0.10","tagline":"Easily manage projects with multiple separate animations","archive_hash":"sha256:1c1eeba6d76415e9ef86cbf4b25023653f1eb6b39af9568c18678ab36c0cc488","archive_size":21193,"archive_url":"https://extensions.blender.org/download/sha256:1c1eeba6d76415e9ef86cbf4b25023653f1eb6b39af9568c18678ab36c0cc488/add-on-slot-link-v0.0.10.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/slot-link/","maintainer":"mars","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","User Interface","Import-Export"]},{"id":"mesh_planes_pro","schema_version":"1.0.0","name":"Mesh Planes Pro","version":"2.0.1","tagline":"Ultimate Background Removal for Faster, Seamless Renders","archive_hash":"sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b","archive_size":2471909,"archive_url":"https://extensions.blender.org/download/sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b/add-on-mesh-planes-pro-v2.0.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mesh-planes-pro/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load node groups from blend file"},"tags":["Material","Node","Render","Mesh"]},{"id":"developer_utilities","schema_version":"1.0.0","name":"Developer Utilities","version":"1.1.0","tagline":"Make life of addon developers easier","archive_hash":"sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c","archive_size":9006,"archive_url":"https://extensions.blender.org/download/sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c/add-on-developer-utilities-v1.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/developer-utilities/","maintainer":"scorpion81","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open source files of addons for editing"},"tags":["Development"]},{"id":"srtm_terrain_importer","schema_version":"1.0.0","name":"SRTM Terrain Importer","version":"1.0.5","tagline":"Import SRTM elevation data as accurate 3D terrain","archive_hash":"sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454","archive_size":6645,"archive_url":"https://extensions.blender.org/download/sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454/add-on-srtm-terrain-importer-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/srtm-terrain-importer/","maintainer":"NicolasPriniotakis","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import SRTM HGT files from disk"},"tags":["Import-Export"]},{"id":"Industrial_Light_AOV_Splitter","schema_version":"1.0.0","name":"Industrial Light AOV Splitter","version":"1.0.1","tagline":"Auto create better light aovs (diffuse_env, specular_env...)","archive_hash":"sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7","archive_size":8954,"archive_url":"https://extensions.blender.org/download/sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7/add-on-industrial-light-aov-splitter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-light-aov-splitter/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"servo_animation","schema_version":"1.0.0","name":"Servo Animation","version":"2.1.1","tagline":"Export your Blender animation to servo position values","archive_hash":"sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4","archive_size":161106,"archive_url":"https://extensions.blender.org/download/sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4/add-on-servo-animation-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/servo-animation/","maintainer":"timhendriks93","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Import-Export","Rigging"]},{"id":"LinkageMarkingMenu","schema_version":"1.0.0","name":"Linkage Marking Menu","version":"1.0.5","tagline":"Customizable Marking Menu for Object and Edit modes","archive_hash":"sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c","archive_size":18953,"archive_url":"https://extensions.blender.org/download/sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c/add-on-linkagemarkingmenu-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/linkagemarkingmenu/","maintainer":"Linkage","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"ac_tools","schema_version":"1.0.0","name":"AC Tools","version":"0.1.5","tagline":"AC Tools for track modding","archive_hash":"sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd","archive_size":30842,"archive_url":"https://extensions.blender.org/download/sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd/add-on-ac-tools-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ac-tools/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk, Manage track folders"},"tags":["Development","Object","User Interface"]},{"id":"img_alpha_to_bsdf","schema_version":"1.0.0","name":"Connect image alpha","version":"1.0.6","tagline":"Connecting image alpha to shader alpha","archive_hash":"sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02","archive_size":2692,"archive_url":"https://extensions.blender.org/download/sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02/add-on-img-alpha-to-bsdf-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img-alpha-to-bsdf/","maintainer":"Snakyboopface","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Material"]},{"id":"link_parents","schema_version":"1.0.0","name":"Link Parents","version":"1.2.1","tagline":"Link objects parents & edit Parent Inverse Matrix in UI","archive_hash":"sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395","archive_size":2883,"archive_url":"https://extensions.blender.org/download/sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395/add-on-link-parents-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/link-parents/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Rigging","User Interface"]},{"id":"sco_buttobjects","schema_version":"1.0.0","name":"SCO ButtObjects","version":"2.0.5","tagline":"Easily align Objects in your scene by Active Object or 3D Cursor","archive_hash":"sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb","archive_size":138673,"archive_url":"https://extensions.blender.org/download/sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb/add-on-sco-buttobjects-v2.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-buttobjects/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"Grid_Layout","schema_version":"1.0.0","name":"Grid Layout","version":"1.5.7","tagline":"Tools to help layout your UV layout","archive_hash":"sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c","archive_size":10399,"archive_url":"https://extensions.blender.org/download/sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c/add-on-grid-layout-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-layout/","maintainer":"Hodgson3d","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"povable","schema_version":"1.0.0","name":"POV@Ble","version":"0.1.8","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830","archive_size":329019,"archive_url":"https://extensions.blender.org/download/sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830/add-on-povable-v0.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/povable/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render","Pipeline","Import-Export","Text Editor","Development","User Interface","Scene","Modeling","Object","Material","Mesh","Add Curve","Camera","Lighting","Bake"]},{"id":"b_palettes","schema_version":"1.0.0","name":"B Palettes","version":"1.1.0","tagline":"Import/Export Color Palettes","archive_hash":"sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6","archive_size":5538,"archive_url":"https://extensions.blender.org/download/sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6/add-on-b-palettes-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/b-palettes/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"import_files_svg_cuts_directory","schema_version":"1.0.0","name":"Import SVG Cuts Directory","version":"1.0.1","tagline":"Import object based on a directory of SVG cuts","archive_hash":"sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb","archive_size":5958242,"archive_url":"https://extensions.blender.org/download/sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb/add-on-import-files-svg-cuts-directory-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-files-svg-cuts-directory/","maintainer":"Benedikt-Schaber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import directory of SVGs from disk"},"tags":["Import-Export"]},{"id":"Selected_Bones_To_Vertex_Group","schema_version":"1.0.0","name":"Selected_Bones_To_Vertex_Group","version":"1.0.1","tagline":"Add or delete selected bone to selected mesh","archive_hash":"sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0","archive_size":2074,"archive_url":"https://extensions.blender.org/download/sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0/add-on-selected-bones-to-vertex-group-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selected-bones-to-vertex-group/","maintainer":"mochi_Lin","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"highlighter","schema_version":"1.0.0","name":"Highlighter","version":"0.1.0","tagline":"Syntax highlighting for text objects","archive_hash":"sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046","archive_size":1209500,"archive_url":"https://extensions.blender.org/download/sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046/add-on-highlighter-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/highlighter/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve","Text Editor"]},{"id":"frame_focus","schema_version":"1.0.0","name":"Frame Focus","version":"2.0.1","tagline":"List All Frame Nodes And Focus Easily","archive_hash":"sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc","archive_size":6600,"archive_url":"https://extensions.blender.org/download/sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc/add-on-frame-focus-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/frame-focus/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"neigh_context_switcher","schema_version":"1.0.0","name":"Context Switcher","version":"1.1.2","tagline":"Quick workspace and editor switching via popup at mouse location","archive_hash":"sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d","archive_size":2365,"archive_url":"https://extensions.blender.org/download/sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d/add-on-neigh-context-switcher-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/neigh-context-switcher/","maintainer":"Neigh","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"SelectModeKeymaps","schema_version":"1.0.0","name":"Select Mode Keymaps","version":"1.0.1","tagline":"Assign keymaps to toggle Object/Edit Mode and Select Modes","archive_hash":"sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573","archive_size":5772,"archive_url":"https://extensions.blender.org/download/sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573/add-on-selectmodekeymaps-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/selectmodekeymaps/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"skin_mesh_to_bone","schema_version":"1.0.0","name":"Skin Mesh To Bone","version":"1.0.2","tagline":"Skins selected meshes to a bone on the active armature","archive_hash":"sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf","archive_size":3048,"archive_url":"https://extensions.blender.org/download/sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf/add-on-skin-mesh-to-bone-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-mesh-to-bone/","maintainer":"cmbasnett","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Faster_FBX_Exporter","schema_version":"1.0.0","name":"Faster FBX Exporter","version":"0.2.4","tagline":"Faster .fbx Exporter for Static Objects With Modifiers","archive_hash":"sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60","archive_size":94222,"archive_url":"https://extensions.blender.org/download/sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60/add-on-faster-fbx-exporter-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/faster-fbx-exporter/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .fbx files"},"tags":["Import-Export"]},{"id":"copyshapekeys","schema_version":"1.0.0","name":"ShapeKey Copy","version":"3.2.5","tagline":"Copy shapekeys from one mesh to another","archive_hash":"sha256:ec9539fcb3b20c6d181b359afc0c05c9ca63e34fcf6181343b2e119de2e8f534","archive_size":7301,"archive_url":"https://extensions.blender.org/download/sha256:ec9539fcb3b20c6d181b359afc0c05c9ca63e34fcf6181343b2e119de2e8f534/add-on-copyshapekeys-v3.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copyshapekeys/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Animation"]},{"id":"Control_Render_Regions","schema_version":"1.0.0","name":"Control Render Regions","version":"1.0.11","tagline":"Manage renders in region","archive_hash":"sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c","archive_size":2586090,"archive_url":"https://extensions.blender.org/download/sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c/add-on-control-render-regions-v1.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/control-render-regions/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal and render regions"},"platforms":["windows-x64"],"tags":["Render","Pipeline"]},{"id":"ftl_exporter","schema_version":"1.0.0","name":"3dverse Exporter","version":"1.0.1","tagline":"Export blender project to 3dverse (scene, meshes, materials)","archive_hash":"sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291","archive_size":13274,"archive_url":"https://extensions.blender.org/download/sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291/add-on-ftl-exporter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ftl-exporter/","maintainer":"Nathalie-Raffray","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary 3dverse files to then export to server","network":"Need to export blender project to 3dverse server"},"tags":["Import-Export"]},{"id":"Night_Rain_Theme","schema_version":"1.0.0","name":"Night_Rain_Theme","version":"2.1.1","tagline":"Transparent Dark","archive_hash":"sha256:2547243b042fbdbb37deb8bfd294d37cbd54b3834d3da97efa05c8d0b8c1fd53","archive_size":5640,"archive_url":"https://extensions.blender.org/download/sha256:2547243b042fbdbb37deb8bfd294d37cbd54b3834d3da97efa05c8d0b8c1fd53/theme-night-rain-theme-v2.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/night-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"nla_midi_copier","schema_version":"1.0.0","name":"NLA Midi Copier","version":"1.1.0","tagline":"NLA and Graph Editor tools for syncing animation to midi files","archive_hash":"sha256:036cd26556e89a777fe0b29318632b0fa77ea8a2b76514ca690eeb1b0698170f","archive_size":114481,"archive_url":"https://extensions.blender.org/download/sha256:036cd26556e89a777fe0b29318632b0fa77ea8a2b76514ca690eeb1b0698170f/add-on-nla-midi-copier-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nla-midi-copier/","maintainer":"Cornerback24","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read midi files from disk"},"tags":["Animation"]},{"id":"blender_mqo","schema_version":"1.0.0","name":"MQO (Metasequoia) Format File Importer/Exporter","version":"2.0.0","tagline":"Import/Export MQO format files","archive_hash":"sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171","archive_size":21616,"archive_url":"https://extensions.blender.org/download/sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171/add-on-blender-mqo-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-mqo/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export MQO from/to disk"},"tags":["Import-Export"]},{"id":"core_debug_tools","schema_version":"1.0.0","name":"Core Debug Tools","version":"0.1.0","tagline":"Debugging utilities for core Blender developers","archive_hash":"sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20","archive_size":629513,"archive_url":"https://extensions.blender.org/download/sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20/add-on-core-debug-tools-v0.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/core-debug-tools/","maintainer":"JacquesLucke","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Build temporary html files to view in the browser"},"tags":["Development"]},{"id":"twformats","schema_version":"1.0.0","name":"Teeworlds and DDNet Map import","version":"0.4.1","tagline":"Import Teeworlds and DDNet maps","archive_hash":"sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5","archive_size":9592799,"archive_url":"https://extensions.blender.org/download/sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5/add-on-twformats-v0.4.1-linux-x64-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/twformats/","maintainer":"Patiga","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export files from/to disk"},"platforms":["linux-x64","windows-x64"],"tags":["Import-Export"]},{"id":"Graphite_Mono_Theme","schema_version":"1.0.0","name":"Graphite_Mono_Theme","version":"3.1.1","tagline":"Steel Grey","archive_hash":"sha256:77d47ccf1b836160475c3e4d97bf3fb89e829ea934c10ca99d6ffdb0b80d6b87","archive_size":5835,"archive_url":"https://extensions.blender.org/download/sha256:77d47ccf1b836160475c3e4d97bf3fb89e829ea934c10ca99d6ffdb0b80d6b87/theme-graphite-mono-theme-v3.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/graphite-mono-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"io_import_pixelart","schema_version":"1.0.0","name":"Import Pixel Art","version":"1.2.1","tagline":"Imports pixel art as colored cubes or squares for each pixel","archive_hash":"sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1","archive_size":5860,"archive_url":"https://extensions.blender.org/download/sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1/add-on-io-import-pixelart-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-pixelart/","maintainer":"bloody_albatross","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import pixel art from disk"},"tags":["Import-Export"]},{"id":"scene_workspaces","schema_version":"1.0.0","name":"Scene Workspaces","version":"1.1.1","tagline":"Filter and sort your workspaces, scene by scene","archive_hash":"sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a","archive_size":8786,"archive_url":"https://extensions.blender.org/download/sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a/add-on-scene-workspaces-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-workspaces/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System","User Interface"]},{"id":"clean_game_asset_exporter","schema_version":"1.0.0","name":"Clean Game Asset Exporter","version":"1.0.0","tagline":"Game asset exporter for the Defold game engine","archive_hash":"sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3","archive_size":4988,"archive_url":"https://extensions.blender.org/download/sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3/add-on-clean-game-asset-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clean-game-asset-exporter/","maintainer":"DeBolt","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export game asset files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"aligning_horizontally_mini","schema_version":"1.0.0","name":"Aligning Horizontally Mini","version":"1.0.1","tagline":"Align selected objects in a customizable grid in the 3D viewport","archive_hash":"sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35","archive_size":3511,"archive_url":"https://extensions.blender.org/download/sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35/add-on-aligning-horizontally-mini-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/aligning-horizontally-mini/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"lead_edge_maze_ash_creator","schema_version":"1.0.0","name":"Lead Edge Maze Ash Creator","version":"2.0.2","tagline":"Lead Edge Maze Ash","archive_hash":"sha256:bed9df44db85a4577d6b4eba585296069b72b909c755fa18a51214549a53fd3c","archive_size":4482,"archive_url":"https://extensions.blender.org/download/sha256:bed9df44db85a4577d6b4eba585296069b72b909c755fa18a51214549a53fd3c/add-on-lead-edge-maze-ash-creator-v2.0.2.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/lead-edge-maze-ash-creator/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"f1dg3t_blender_red","schema_version":"1.0.0","name":"F1dg3t Red","version":"1.1.0","tagline":"Perfect for Shadow State 2","archive_hash":"sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680","archive_size":6491,"archive_url":"https://extensions.blender.org/download/sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680/theme-f1dg3t-blender-red-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/f1dg3t-blender-red/","maintainer":"F1dg3t","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"VMD","schema_version":"1.0.0","name":"vmdesk","version":"2.2.1","tagline":"Interactive editor environment in 3D Viewport","archive_hash":"sha256:b5c7a5eedbe797da05704f34d02a5e1f88bbf05048d1ec330280eeeafcf11a3c","archive_size":10113852,"archive_url":"https://extensions.blender.org/download/sha256:b5c7a5eedbe797da05704f34d02a5e1f88bbf05048d1ec330280eeeafcf11a3c/add-on-vmd-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vmd/","maintainer":"Y.T-LAW","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export from disk to user-supplied path","clipboard":"Copy and paste from shortcut/UI"},"tags":["3D View","Modeling","Mesh","Object","User Interface"]},{"id":"blue_genes","schema_version":"1.0.0","name":"Blue Genes","version":"1.0.3","tagline":"Dark Blue, Readable Daily Driver","archive_hash":"sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e","archive_size":5997,"archive_url":"https://extensions.blender.org/download/sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e/theme-blue-genes-v1.0.3.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blue-genes/","maintainer":"SpectralVectors","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"govietools","schema_version":"1.0.0","name":"Govie Tools","version":"1.0.20","tagline":"Optimize your model for use in the Govie Editor","archive_hash":"sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476","archive_size":123018,"archive_url":"https://extensions.blender.org/download/sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476/add-on-govietools-v1.0.20.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/govietools/","maintainer":"3D-Interaction-Technologies","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export GLB to disk"},"tags":["Scene","Import-Export"]},{"id":"microscopynodes","schema_version":"1.0.0","name":"Microscopy Nodes","version":"2.2.7","tagline":"Handling microscopy data in Blender, up to 5D volumes","archive_hash":"sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b","archive_size":49077670,"archive_url":"https://extensions.blender.org/download/sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b/add-on-microscopynodes-v2.2.7-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/microscopynodes/","maintainer":"Aafke-Gros","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk, writing to cache folder","network":"Loading OME-zarr files from the internet from a given URL"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"new_object_from_selected_geometry","schema_version":"1.0.0","name":"New Object From Selected Geometry","version":"1.0.2","tagline":"Creates a new object from the selected geometry in Edit mode","archive_hash":"sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f","archive_size":13392,"archive_url":"https://extensions.blender.org/download/sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f/add-on-new-object-from-selected-geometry-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/new-object-from-selected-geometry/","maintainer":"Giambattista-Caltabiano","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Metaseq_Classic_theme","schema_version":"1.0.0","name":"Metaseq_Classic","version":"1.0.1","tagline":"Classic light Metasequoia-style theme","archive_hash":"sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a","archive_size":36342,"archive_url":"https://extensions.blender.org/download/sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a/theme-metaseq-classic-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-classic-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Xromm_Tools","schema_version":"1.0.0","name":"XROMM toolkit","version":"0.9.6","tagline":"XROMM toolkit for Blender","archive_hash":"sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771","archive_size":18986,"archive_url":"https://extensions.blender.org/download/sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771/add-on-xromm-tools-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/xromm-tools/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"io_scene_ase","schema_version":"1.0.0","name":"ASCII Scene Export (.ase)","version":"2.2.1","tagline":"Export .ase files used in Unreal Engine 1 & 2","archive_hash":"sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494","archive_size":13786,"archive_url":"https://extensions.blender.org/download/sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494/add-on-io-scene-ase-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-ase/","maintainer":"cmbasnett","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .ase files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"blender_magicavoxel","schema_version":"1.0.0","name":"MagicaVoxel VOX format","version":"1.5.6","tagline":"Importer addon for MagicaVoxel vox files","archive_hash":"sha256:d6d33a7a0d223a3fbb3f0f9316b87c4d2c4a4bbde28b3b93f43b83ca7e76d4c8","archive_size":24160,"archive_url":"https://extensions.blender.org/download/sha256:d6d33a7a0d223a3fbb3f0f9316b87c4d2c4a4bbde28b3b93f43b83ca7e76d4c8/add-on-blender-magicavoxel-v1.5.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-magicavoxel/","maintainer":"AstrorEnales","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"permissions":{"files":"Import VOX from disk"},"tags":["Import-Export"]},{"id":"odyssey_eobet_remix","schema_version":"1.0.0","name":"Odyssey eobet Remix","version":"2.0.1","tagline":"Theme highlighting the active object","archive_hash":"sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743","archive_size":5970,"archive_url":"https://extensions.blender.org/download/sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743/theme-odyssey-eobet-remix-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/odyssey-eobet-remix/","maintainer":"eobet","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"PieMenu_Everywhere","schema_version":"1.0.0","name":"PieMenu Everywhere","version":"1.4.5","tagline":"Maximize your efficiency with PieMenu Everywhere","archive_hash":"sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84","archive_size":438388,"archive_url":"https://extensions.blender.org/download/sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84/add-on-piemenu-everywhere-v1.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/piemenu-everywhere/","maintainer":"DeathShot-747","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline","3D View","Node"]},{"id":"Partybots_converter","schema_version":"1.0.0","name":"Partybots converter","version":"1.0.4","tagline":"This is a addon to build partybots maps","archive_hash":"sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00","archive_size":5333,"archive_url":"https://extensions.blender.org/download/sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00/add-on-partybots-converter-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/partybots-converter/","maintainer":"vuyghu2020","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To write the compiled output to the clipbord"},"tags":["3D View","Object","Game Engine"]},{"id":"add_airfoil","schema_version":"1.0.0","name":"Add Airfoil","version":"2.0.0","tagline":"Import Airfoil Dat Files into Blender","archive_hash":"sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae","archive_size":2356,"archive_url":"https://extensions.blender.org/download/sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae/add-on-add-airfoil-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-airfoil/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"atomic_blender_cluster","schema_version":"1.0.0","name":"Atomic Blender Cluster","version":"1.0.0","tagline":"Creating atom clusters or nanoparticles in Blender","archive_hash":"sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18","archive_size":11917,"archive_url":"https://extensions.blender.org/download/sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18/add-on-atomic-blender-cluster-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-cluster/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"add_positive_cube","schema_version":"1.0.0","name":"Add Positive Cube","version":"1.0.2","tagline":"Adds a cube with its origin at the corner","archive_hash":"sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807","archive_size":2022,"archive_url":"https://extensions.blender.org/download/sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807/add-on-add-positive-cube-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-positive-cube/","maintainer":"jefftml","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","3D View"]},{"id":"theme_modo","schema_version":"1.0.0","name":"Modo","version":"2.0.0","tagline":"Community-made theme inspired by Modo","archive_hash":"sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f","archive_size":5822,"archive_url":"https://extensions.blender.org/download/sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f/theme-theme-modo-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-modo/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"stl_format_legacy","schema_version":"1.0.0","name":"STL format (legacy)","version":"1.1.4","tagline":"Import-Export STL files","archive_hash":"sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6","archive_size":7513,"archive_url":"https://extensions.blender.org/download/sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6/add-on-stl-format-legacy-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stl-format-legacy/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"atomic_blender_pdb_xyz","schema_version":"1.0.0","name":"Atomic Blender PDB/XYZ","version":"1.9.1","tagline":"Importing atoms listed in PDB and XYZ files into Blender","archive_hash":"sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268","archive_size":51000,"archive_url":"https://extensions.blender.org/download/sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268/add-on-atomic-blender-pdb-xyz-v1.9.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-pdb-xyz/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"geodesic_domes","schema_version":"1.0.0","name":"Geodesic Domes","version":"0.3.6","tagline":"Create geodesic dome type objects","archive_hash":"sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0","archive_size":25222,"archive_url":"https://extensions.blender.org/download/sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0/add-on-geodesic-domes-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geodesic-domes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"ui_animation_render","schema_version":"1.0.0","name":"UI Animation Render","version":"0.1.0","tagline":"Render animations of the Blender UI","archive_hash":"sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29","archive_size":2426,"archive_url":"https://extensions.blender.org/download/sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29/add-on-ui-animation-render-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ui-animation-render/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"pov_at_ble","schema_version":"1.0.0","name":"POV@Ble (Legacy)","version":"0.1.6","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339","archive_size":302310,"archive_url":"https://extensions.blender.org/download/sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339/add-on-pov-at-ble-v0.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pov-at-ble/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render"]},{"id":"inset_straight_skeleton","schema_version":"1.0.0","name":"Inset Straight Skeleton","version":"1.1.0","tagline":"Make an inset inside selection using straight skeleton algo . . ","archive_hash":"sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553","archive_size":33199,"archive_url":"https://extensions.blender.org/download/sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553/add-on-inset-straight-skeleton-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/inset-straight-skeleton/","maintainer":"howardt","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"refine_tracking_solution","schema_version":"1.0.0","name":"Refine tracking solution","version":"1.1.6","tagline":"Refine motion solution by adjusting track weight","archive_hash":"sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f","archive_size":2210,"archive_url":"https://extensions.blender.org/download/sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f/add-on-refine-tracking-solution-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/refine-tracking-solution/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"assign_shape_keys","schema_version":"1.0.0","name":"Assign Shape Keys","version":"1.0.2","tagline":"Assigns one or more Bezier curves as shape keys to another . . ","archive_hash":"sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1","archive_size":10143,"archive_url":"https://extensions.blender.org/download/sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1/add-on-assign-shape-keys-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/assign-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"export_pointcache_formatpc2","schema_version":"1.0.0","name":"Export Pointcache Format(.pc2)","version":"1.1.4","tagline":"Export mesh Pointcache data (.pc2)","archive_hash":"sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805","archive_size":2683,"archive_url":"https://extensions.blender.org/download/sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805/add-on-export-pointcache-formatpc2-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-pointcache-formatpc2/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .pc2 file"},"tags":["Import-Export"]},{"id":"corrective_shape_keys","schema_version":"1.0.0","name":"Corrective Shape Keys","version":"1.0.0","tagline":"Creates a corrective shape key for the current pose","archive_hash":"sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19","archive_size":4821,"archive_url":"https://extensions.blender.org/download/sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19/add-on-corrective-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/corrective-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"freestyle_svg_exporter","schema_version":"1.0.0","name":"Freestyle SVG Exporter","version":"1.0.0","tagline":"Exports Freestyle's stylized edges in SVG format","archive_hash":"sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b","archive_size":7691,"archive_url":"https://extensions.blender.org/download/sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b/add-on-freestyle-svg-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/freestyle-svg-exporter/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"edit_operator_source","schema_version":"1.0.0","name":"Edit Operator Source","version":"1.2.4","tagline":"Opens source file of chosen operator or call locations","archive_hash":"sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc","archive_size":2897,"archive_url":"https://extensions.blender.org/download/sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc/add-on-edit-operator-source-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-operator-source/","maintainer":"scorpion81","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"copy_render_settings","schema_version":"1.0.0","name":"Copy Render Settings","version":"2.0.0","tagline":"Allows to copy a selection of render settings from current . . ","archive_hash":"sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0","archive_size":7786,"archive_url":"https://extensions.blender.org/download/sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0/add-on-copy-render-settings-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-render-settings/","maintainer":"mont29","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"newtek_mdd_format","schema_version":"1.0.0","name":"NewTek MDD format","version":"1.0.3","tagline":"Import-Export MDD as mesh shape keys","archive_hash":"sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759","archive_size":4368,"archive_url":"https://extensions.blender.org/download/sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759/add-on-newtek-mdd-format-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/newtek-mdd-format/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with MDD format files"},"tags":["Import-Export"]},{"id":"demo_mode","schema_version":"1.0.0","name":"Demo Mode","version":"1.0.0","tagline":"Demo mode lets you select multiple blend files and loop ove . . ","archive_hash":"sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62","archive_size":9071,"archive_url":"https://extensions.blender.org/download/sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62/add-on-demo-mode-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/demo-mode/","maintainer":"campbell","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"scene_information","schema_version":"1.0.0","name":"Scene Information","version":"0.3.1","tagline":"Show information about the .blend","archive_hash":"sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6","archive_size":1816,"archive_url":"https://extensions.blender.org/download/sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6/add-on-scene-information-v0.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-information/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"paint_palettes","schema_version":"1.0.0","name":"Paint Palettes","version":"0.9.4","tagline":"Palettes for color and weight paint modes","archive_hash":"sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321","archive_size":6133,"archive_url":"https://extensions.blender.org/download/sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321/add-on-paint-palettes-v0.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-palettes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Paint"]},{"id":"nuke_animation_format_chan","schema_version":"1.0.0","name":"Nuke Animation Format (.chan)","version":"1.0.0","tagline":"Import/Export object's animation with nuke","archive_hash":"sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9","archive_size":4340,"archive_url":"https://extensions.blender.org/download/sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9/add-on-nuke-animation-format-chan-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nuke-animation-format-chan/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export"]},{"id":"btracer","schema_version":"1.0.0","name":"BTracer","version":"1.2.4","tagline":"Tools for converting/animating objects/particles into curves","archive_hash":"sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064","archive_size":17367,"archive_url":"https://extensions.blender.org/download/sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064/add-on-btracer-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/btracer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"web3d_x3d_vrml2_format","schema_version":"1.0.0","name":"Web3D X3D/VRML2 format","version":"2.5.1","tagline":"Import-Export X3D, Import VRML2","archive_hash":"sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604","archive_size":100153,"archive_url":"https://extensions.blender.org/download/sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604/add-on-web3d-x3d-vrml2-format-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/","maintainer":"Bujus_Krachus","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to access files for import/export","network":"Required to download web resources for import"},"tags":["Import-Export"]},{"id":"export_camera_animation","schema_version":"1.0.0","name":"Export Camera Animation","version":"0.1.2","tagline":"Export Cameras & Markers to a Python script","archive_hash":"sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed","archive_size":2057,"archive_url":"https://extensions.blender.org/download/sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed/add-on-export-camera-animation-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-camera-animation/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .py file"},"tags":["Import-Export"]},{"id":"cadbase_library","schema_version":"1.0.0","name":"CADBase Library","version":"0.3.0","tagline":"Add-on enables data sync with remote storage (cloud)","archive_hash":"sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be","archive_size":190158,"archive_url":"https://extensions.blender.org/download/sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be/add-on-cadbase-library-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cadbase-library/","maintainer":"mnnxp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export library data from/to disk","network":"Need to to sync library data with a remote server","clipboard":"Copy component link to clipboard"},"tags":["Import-Export"]},{"id":"forts_map","schema_version":"1.0.0","name":"Forts Map Importer","version":"1.0.1","tagline":"Import Forts Map","archive_hash":"sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66","archive_size":4234,"archive_url":"https://extensions.blender.org/download/sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66/add-on-forts-map-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/forts-map/","maintainer":"Gonnetz","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Import-Export"]},{"id":"democap_tools","schema_version":"1.0.0","name":"DEMoCap Tools","version":"1.0.4","tagline":"Tools for importing DEMoCap motion captures into Blender","archive_hash":"sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e","archive_size":114185,"archive_url":"https://extensions.blender.org/download/sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e/add-on-democap-tools-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/democap-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading motion capture files","network":"Connect to DEMoCap (Live Connection)"},"tags":["Import-Export","3D View","Object","Animation"]},{"id":"dragengine_tools","schema_version":"1.0.0","name":"Drag[en]gine Import/Export","version":"1.29.1","tagline":"Import/Export Drag[en]gine Resources including helper tools","archive_hash":"sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a","archive_size":115706,"archive_url":"https://extensions.blender.org/download/sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a/add-on-dragengine-tools-v1.29.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragengine-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing/Exporting resources"},"tags":["Import-Export","3D View","Mesh","Object","Animation"]}],"version":"v1"} \ No newline at end of file diff --git a/extensions/blender_org/.blender_ext/index.json@6ba0 b/extensions/blender_org/.blender_ext/index.json@6ba0 deleted file mode 100644 index dfb9db9..0000000 --- a/extensions/blender_org/.blender_ext/index.json@6ba0 +++ /dev/null @@ -1 +0,0 @@ -{"blocklist":[],"data":[{"id":"shapekey_axis_control","schema_version":"1.0.0","name":"ShapeKey Axis Control","version":"4.0.41","tagline":"Control shape keys using a 2D Axis HUD Joystick","archive_hash":"sha256:b312023378be5f3ea689ff9ba5d4ca930bffa0fc8289054dcd463f02e2081f39","archive_size":9690474,"archive_url":"https://extensions.blender.org/download/sha256:b312023378be5f3ea689ff9ba5d4ca930bffa0fc8289054dcd463f02e2081f39/add-on-shapekey-axis-control-v4.0.41.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapekey-axis-control/","maintainer":"Axnise","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"palette","schema_version":"1.0.0","name":"Palette","version":"1.1.5","tagline":"Load 600+ terminal palettes as complete Blender UI themes","archive_hash":"sha256:bf9563590e4eb6603e3d33bc4dd54bcc272dc3ed28bcd9bffb751e1ec337230c","archive_size":53305,"archive_url":"https://extensions.blender.org/download/sha256:bf9563590e4eb6603e3d33bc4dd54bcc272dc3ed28bcd9bffb751e1ec337230c/add-on-palette-v1.1.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/palette/","maintainer":"NXSTYNATE","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Caches themes locally","network":"Downloads color schemes from GitHub repositories"},"tags":["User Interface"]},{"id":"b_onion_skin","schema_version":"1.0.0","name":"B Onion Skin","version":"1.0.0","tagline":"Onion skinning for 3D animation","archive_hash":"sha256:6e976d6e74649431a61224918b7d505da2b5620419e3def201841386c1277fc9","archive_size":10458,"archive_url":"https://extensions.blender.org/download/sha256:6e976d6e74649431a61224918b7d505da2b5620419e3def201841386c1277fc9/add-on-b-onion-skin-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-onion-skin/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"texture_mixer","schema_version":"1.0.0","name":"Texture Mixer","version":"0.1.1","tagline":"Layer-based PBR mixing and texture management","archive_hash":"sha256:b32909cebb5fe5369de8344f38d6ee6f7aca7d8e75305ad168e0002fb2a5971b","archive_size":287099,"archive_url":"https://extensions.blender.org/download/sha256:b32909cebb5fe5369de8344f38d6ee6f7aca7d8e75305ad168e0002fb2a5971b/add-on-texture-mixer-v0.1.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/texture-mixer/","maintainer":"MoonRaider","license":["SPDX:GPL-3.0-or-later"]},{"id":"Cyberpunk_2077_UI","schema_version":"1.0.0","name":"Cyberpunk_2077_UI","version":"1.1.1","tagline":"Colorful Futuristic Dystopian","archive_hash":"sha256:bd906e1293ff939fe352de20927d4707faaff0646c2ef92592fd7dbcdb938273","archive_size":5541,"archive_url":"https://extensions.blender.org/download/sha256:bd906e1293ff939fe352de20927d4707faaff0646c2ef92592fd7dbcdb938273/theme-cyberpunk-2077-ui-v1.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cyberpunk-2077-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"smart_selection_propagation","schema_version":"1.0.0","name":"Smart Selection Propagation","version":"1.0.0","tagline":"Advanced topology-based selection of similar mesh elements","archive_hash":"sha256:e297789ec5d939ad212de504908c143b963108c3bc4c2b28f23a87fccab6da13","archive_size":6632,"archive_url":"https://extensions.blender.org/download/sha256:e297789ec5d939ad212de504908c143b963108c3bc4c2b28f23a87fccab6da13/add-on-smart-selection-propagation-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-selection-propagation/","maintainer":"atrxi","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling","3D View"]},{"id":"ROSE2_theme","schema_version":"1.0.0","name":"theme ROSE","version":"1.0.0","tagline":"Soft pink theme, dark","archive_hash":"sha256:22a391c485c6efc8c7d4dfe060ff17d177d47fcf205abaa0763fc474e609b640","archive_size":6432,"archive_url":"https://extensions.blender.org/download/sha256:22a391c485c6efc8c7d4dfe060ff17d177d47fcf205abaa0763fc474e609b640/theme-rose2-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rose2-theme/","maintainer":"5Lunes","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"arknights_endfield_theme","schema_version":"1.0.0","name":"Arknights: Endfield","version":"1.0.1","tagline":"Theme inspired by Arknights: Endfield game UI","archive_hash":"sha256:8c151906dba63d9240bb2fa29b0024df03bfd516d5bc665d260d19b7e2de7d52","archive_size":5545,"archive_url":"https://extensions.blender.org/download/sha256:8c151906dba63d9240bb2fa29b0024df03bfd516d5bc665d260d19b7e2de7d52/theme-arknights-endfield-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/arknights-endfield-theme/","maintainer":"RAZUMNO","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"motion_sounds","schema_version":"1.0.0","name":"Motion Sounds","version":"0.9.0","tagline":"Add sounds to your animation based on motion events","archive_hash":"sha256:62f25e1acafc6b4af5389f1b9d4e685ef0cb44062b74bff00ff70e08109d90e0","archive_size":187022,"archive_url":"https://extensions.blender.org/download/sha256:62f25e1acafc6b4af5389f1b9d4e685ef0cb44062b74bff00ff70e08109d90e0/add-on-motion-sounds-v0.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motion-sounds/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"gv_point_cloud_exporter","schema_version":"1.0.0","name":"PointCloud and Splat Exporter (.ply, .splat)","version":"0.1.2","tagline":"Export PointCloud and Splat data to PLY and SPLAT format","archive_hash":"sha256:b90aded08f08dc965ba8967b19b55e808de53e30df52231cb5d12c3941c21433","archive_size":15659,"archive_url":"https://extensions.blender.org/download/sha256:b90aded08f08dc965ba8967b19b55e808de53e30df52231cb5d12c3941c21433/add-on-gv-point-cloud-exporter-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gv-point-cloud-exporter/","maintainer":"GiancarloV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files on disk","network":"Send anonymous usage analytics to Plausible Analytics. (Opt-In)"},"tags":["Import-Export"]},{"id":"ThreeMF_io","schema_version":"1.0.0","name":"3MF Import/Export","version":"2.2.2","tagline":"Import and export 3D Manufacturing Format (3MF) files","archive_hash":"sha256:3ae31185d602aaa535e08782b03725af7d9ca3356671106fdf7dace42af08d8b","archive_size":250843,"archive_url":"https://extensions.blender.org/download/sha256:3ae31185d602aaa535e08782b03725af7d9ca3356671106fdf7dace42af08d8b/add-on-threemf-io-v2.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/threemf-io/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For import and export of 3MF files"},"tags":["Import-Export"]},{"id":"tetrominode","schema_version":"1.0.0","name":"Tetrominode","version":"0.4.6","tagline":"Play Tetris in Blender using Geometry Nodes","archive_hash":"sha256:c0f2fdedf0d3999ac0734992540b50bda5a982a38503097fd9b6521186bced0a","archive_size":254981,"archive_url":"https://extensions.blender.org/download/sha256:c0f2fdedf0d3999ac0734992540b50bda5a982a38503097fd9b6521186bced0a/add-on-tetrominode-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tetrominode/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Animation"]},{"id":"modular_tree","schema_version":"1.0.0","name":"Modular Tree","version":"5.5.0","tagline":"Procedural node based 3D tree generation","archive_hash":"sha256:ca71341d8ca1cf0d1da72a9d4591da0d90a4f83f6c8329de59c47e46da566453","archive_size":3442853,"archive_url":"https://extensions.blender.org/download/sha256:ca71341d8ca1cf0d1da72a9d4591da0d90a4f83f6c8329de59c47e46da566453/add-on-modular-tree-v5.5.0-windows-x64.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modular-tree/","maintainer":"Brandyn-Britton","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export pivot painter textures"},"platforms":["windows-x64"],"tags":["Mesh","Add Curve"]},{"id":"oebs_icon_viewer","schema_version":"1.0.0","name":"OEBS Icon Viewer","version":"1.4.0","tagline":"Browse and Search Blender Icons","archive_hash":"sha256:4e795ee297e73aaec5f6e3c8409241de1854dc6e4b287b474b306f0e043a3042","archive_size":11719,"archive_url":"https://extensions.blender.org/download/sha256:4e795ee297e73aaec5f6e3c8409241de1854dc6e4b287b474b306f0e043a3042/add-on-oebs-icon-viewer-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/oebs-icon-viewer/","maintainer":"Eric-Mwangi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To copy icon names to the clipboard"},"tags":["Development","System"]},{"id":"easeit","schema_version":"1.0.0","name":"Easeit","version":"1.0.1","tagline":"Quickly apply easing presets to animation keyframes","archive_hash":"sha256:beea61edf4d85ca09c8e7653f893bd9bef25e7aecb7324931522fa2312400c3f","archive_size":60285,"archive_url":"https://extensions.blender.org/download/sha256:beea61edf4d85ca09c8e7653f893bd9bef25e7aecb7324931522fa2312400c3f/add-on-easeit-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easeit/","maintainer":"AndyCuccaro","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"siemen_lens_blender_autotrack","schema_version":"1.0.0","name":"AutoTrack","version":"4.0.2","tagline":"Automatic 3D Tracking and Solving","archive_hash":"sha256:fb4b325e22b8037fdb7c590efc56ee61c97af94c41a89285ca69169febee4d47","archive_size":19409,"archive_url":"https://extensions.blender.org/download/sha256:fb4b325e22b8037fdb7c590efc56ee61c97af94c41a89285ca69169febee4d47/add-on-siemen-lens-blender-autotrack-v4.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/siemen-lens-blender-autotrack/","maintainer":"Siemen-Lens","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Animation","Compositing","3D View"]},{"id":"node_note","schema_version":"1.0.0","name":"Node Note/节点随记","version":"1.2.5","tagline":"Powerful node notes with text and images/强大的节点图文笔记工具","archive_hash":"sha256:c6703456610b8285b384aff2a28af3d19f79591d8b333eef1a883aa5fb48415e","archive_size":32788,"archive_url":"https://extensions.blender.org/download/sha256:c6703456610b8285b384aff2a28af3d19f79591d8b333eef1a883aa5fb48415e/add-on-node-note-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-note/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import image or use font from disk","clipboard":"Paste text/image from the clipboard and copy text to clipboard"},"tags":["Node"]},{"id":"theme_mockup","schema_version":"1.0.0","name":"Mockup","version":"1.0.0","tagline":"Mockups to use with the (low-fi) Design System components","archive_hash":"sha256:e3588ff217ac36cfab5f0046a6f305b6cd21005a3b6039564169ab070569674e","archive_size":5395,"archive_url":"https://extensions.blender.org/download/sha256:e3588ff217ac36cfab5f0046a6f305b6cd21005a3b6039564169ab070569674e/theme-theme-mockup-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-mockup/","maintainer":"Blender","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"mio3_flex","schema_version":"1.0.0","name":"Mio3 Flex","version":"1.0.4","tagline":"Reshape meshes into smooth freeform curves using paths","archive_hash":"sha256:bf945d9b3e16c43a7c073367785f0ec7e1fb274283ab31398dd8cd6b66334f05","archive_size":30030,"archive_url":"https://extensions.blender.org/download/sha256:bf945d9b3e16c43a7c073367785f0ec7e1fb274283ab31398dd8cd6b66334f05/add-on-mio3-flex-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mio3-flex/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"hdri_lightbrush","schema_version":"1.0.0","name":"HDRI LightBrush","version":"1.0.1","tagline":"Paint HDRIs on 3D sphere for precise studio lighting control","archive_hash":"sha256:2dd62f9b14e0adbeb049c31a26e9b4c36230e6d57140b494c62d2f4d2ed8f5dc","archive_size":144003,"archive_url":"https://extensions.blender.org/download/sha256:2dd62f9b14e0adbeb049c31a26e9b4c36230e6d57140b494c62d2f4d2ed8f5dc/add-on-hdri-lightbrush-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdri-lightbrush/","maintainer":"CadTamas","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export HDRI files (.exr, .hdr, .jpg, .png)"},"tags":["Lighting","Paint"]},{"id":"gamepadcontrol","schema_version":"1.0.0","name":"Gamepad Control","version":"0.1.2","tagline":"Use gamepads as input device to control Blender","archive_hash":"sha256:91cd1c62ff1c6f009b15f2058627ca927f91ccc237ad1cfd5b59af71bd04cc62","archive_size":4828055,"archive_url":"https://extensions.blender.org/download/sha256:91cd1c62ff1c6f009b15f2058627ca927f91ccc237ad1cfd5b59af71bd04cc62/add-on-gamepadcontrol-v0.1.2-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/gamepadcontrol/","maintainer":"Frank-Moelendoerp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export settings and controller modes"},"platforms":["windows-x64"],"tags":["System","User Interface"]},{"id":"PivotTools","schema_version":"1.0.0","name":"Pivot Tools","version":"1.48.13","tagline":"Fast pivot placement with Auto Pick, BBox targets, Saved Pivots","archive_hash":"sha256:c4457381883495799f87d72226140492d101fecadb9f3021309503feb74438f8","archive_size":8530,"archive_url":"https://extensions.blender.org/download/sha256:c4457381883495799f87d72226140492d101fecadb9f3021309503feb74438f8/add-on-pivottools-v1.48.13.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/pivottools/","maintainer":"Quinzy","license":["SPDX:GPL-3.0-or-later"]},{"id":"geo_nodes_guide","schema_version":"1.0.0","name":"Geo Nodes Guide","version":"0.1.0","tagline":"Live documentation and examples for Geometry Nodes","archive_hash":"sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792","archive_size":93537,"archive_url":"https://extensions.blender.org/download/sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792/add-on-geo-nodes-guide-v0.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/geo-nodes-guide/","maintainer":"Addonyte","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Geometry Nodes"]},{"id":"linkforge","schema_version":"1.0.0","name":"LinkForge","version":"1.3.0","tagline":"The Linter & Bridge for Robotics","archive_hash":"sha256:1ba7280ffe1b72443d06c95bb086d614ba0348da32e129c1c43f0c943bab20ad","archive_size":363492,"archive_url":"https://extensions.blender.org/download/sha256:1ba7280ffe1b72443d06c95bb086d614ba0348da32e129c1c43f0c943bab20ad/add-on-linkforge-v1.3.0-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/linkforge/","maintainer":"Arouna-Patouossa-Mounchili","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export URDF/XACRO files"},"platforms":["windows-x64"],"tags":["Import-Export","Rigging","Physics","Pipeline"]},{"id":"retarget","schema_version":"1.0.0","name":"Retarget","version":"3.0.0","tagline":"Retargeting, convert to Rigify, Animation tools, Much more","archive_hash":"sha256:2154dfaf1459223f66b0a61906f919fc6a69ff43ab648670cfd7dddbd3cb8da0","archive_size":152869,"archive_url":"https://extensions.blender.org/download/sha256:2154dfaf1459223f66b0a61906f919fc6a69ff43ab648670cfd7dddbd3cb8da0/add-on-retarget-v3.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/retarget/","maintainer":"KBS-DEV","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"lodify_optimizer","schema_version":"1.0.0","name":"LODify","version":"2.8.0","tagline":"Full-Scenario Perf Opt: Textures, Decimation & Viewport Mgmt","archive_hash":"sha256:8c28c8a75273218a2c6002cfa1490da2da4694e2d398f9b3c06e4efdcce02bb9","archive_size":7066184,"archive_url":"https://extensions.blender.org/download/sha256:8c28c8a75273218a2c6002cfa1490da2da4694e2d398f9b3c06e4efdcce02bb9/add-on-lodify-optimizer-v2.8.0-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lodify-optimizer/","maintainer":"小T_sune","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to read and write texture files for resizing"},"platforms":["windows-x64"],"tags":["Object"]},{"id":"red_velvet_theme","schema_version":"1.0.0","name":"Red Velvet Theme","version":"1.0.0","tagline":"A cosmic red cyberpunk-inspired theme","archive_hash":"sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7/theme-red-velvet-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/red-velvet-theme/","maintainer":"Thunder-Artist","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"outliner_preview","schema_version":"1.0.0","name":"Outliner Model Preview","version":"1.1.0","tagline":"Preview selected model in the Outliner","archive_hash":"sha256:750789fa5e776f9a7442f7c892775e7668ca4c9f04b81d4e33e505d14aa48cf5","archive_size":31457,"archive_url":"https://extensions.blender.org/download/sha256:750789fa5e776f9a7442f7c892775e7668ca4c9f04b81d4e33e505d14aa48cf5/add-on-outliner-preview-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/outliner-preview/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"ftw3dforge_image_projector","schema_version":"1.0.0","name":"FTW3DForge Image Projector","version":"2.1.0","tagline":"Project images onto 3D meshes with real-time preview and baking","archive_hash":"sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf","archive_size":16305,"archive_url":"https://extensions.blender.org/download/sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf/add-on-ftw3dforge-image-projector-v2.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw3dforge-image-projector/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["UV","Mesh","Import-Export","Material"]},{"id":"smart_box_select","schema_version":"1.0.0","name":"Smart Box Select","version":"1.0.2","tagline":"Box/Lasso select with object activation","archive_hash":"sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa","archive_size":3800,"archive_url":"https://extensions.blender.org/download/sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa/add-on-smart-box-select-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-box-select/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"splashsurf_studio","schema_version":"1.0.0","name":"Splashsurf Studio","version":"1.0.1","tagline":"Surface reconstruction for particle-based fluid simulations","archive_hash":"sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c","archive_size":2732095,"archive_url":"https://extensions.blender.org/download/sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c/add-on-splashsurf-studio-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/splashsurf-studio/","maintainer":"Fabian-Löschner","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Add Mesh","Mesh","Object"]},{"id":"global_copy_nodes","schema_version":"1.0.0","name":"Global Copy Nodes","version":"1.0.5","tagline":"Copy nodes across .blend projects","archive_hash":"sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e","archive_size":21986,"archive_url":"https://extensions.blender.org/download/sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e/add-on-global-copy-nodes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/global-copy-nodes/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires reading & writing node copy buffer to disk"},"tags":["System","Node"]},{"id":"overscan_addon","schema_version":"1.0.0","name":"Overscan Addon","version":"1.1.1","tagline":"Adds Overscan to your renders","archive_hash":"sha256:3c95e0eb67926e0a9d4f546b139aca201d56da18403a021f4dbd4c2964a47ddb","archive_size":6772,"archive_url":"https://extensions.blender.org/download/sha256:3c95e0eb67926e0a9d4f546b139aca201d56da18403a021f4dbd4c2964a47ddb/add-on-overscan-addon-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan-addon/","maintainer":"eknath-kambagiri","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"sidebar_tab_search","schema_version":"1.0.0","name":"Sidebar Tab Search","version":"1.0.0","tagline":"Quick search and switch between Sidebar (N-Panel) tabs","archive_hash":"sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd","archive_size":18766,"archive_url":"https://extensions.blender.org/download/sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd/add-on-sidebar-tab-search-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sidebar-tab-search/","maintainer":"McKaa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"gizmo_resizer","schema_version":"1.0.0","name":"Gizmo Resizer","version":"2.3.0","tagline":"Resize viewport Gizmo with Numpad keys","archive_hash":"sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe","archive_size":15888,"archive_url":"https://extensions.blender.org/download/sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe/add-on-gizmo-resizer-v2.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gizmo-resizer/","maintainer":"CorentinBileau","license":["SPDX:GPL-3.0-or-later"]},{"id":"Mask_To_Vertex_Color_Pro","schema_version":"1.0.0","name":"MaskToVertexColorPro","version":"2.0.4","tagline":"Mask To VertexColor Pro Tools","archive_hash":"sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a","archive_size":30127,"archive_url":"https://extensions.blender.org/download/sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a/add-on-mask-to-vertex-color-pro-v2.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mask-to-vertex-color-pro/","maintainer":"墨泪MoLei_VFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images are required as masks"},"tags":["Paint","Material"]},{"id":"b_guides","schema_version":"1.0.0","name":"B Guides","version":"1.0.1","tagline":"composition with guides and rulers for the VSE and 3D Viewport","archive_hash":"sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57","archive_size":24706,"archive_url":"https://extensions.blender.org/download/sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57/add-on-b-guides-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-guides/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Sequencer"]},{"id":"selection_mode_cycler","schema_version":"1.0.0","name":"Selection Mode Cycler","version":"1.1.0","tagline":"Cycles through mesh selection modes in Edit Mode","archive_hash":"sha256:80a605bad154cec84404fa1f3a5b9db50846912d98fe07b5d790a03843d4ba12","archive_size":1414,"archive_url":"https://extensions.blender.org/download/sha256:80a605bad154cec84404fa1f3a5b9db50846912d98fe07b5d790a03843d4ba12/add-on-selection-mode-cycler-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/selection-mode-cycler/","maintainer":"Lise-2","license":["SPDX:GPL-3.0-or-later"]},{"id":"colornova","schema_version":"1.0.0","name":"COLOR-NOVA // SPECTRAL UV | M-87","version":"1.0.1","tagline":"Essential UV contrast. Absolute clarity for professional focus","archive_hash":"sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc","archive_size":6257,"archive_url":"https://extensions.blender.org/download/sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc/theme-colornova-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/colornova/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast","Colorful"]},{"id":"select_similar_geometry","schema_version":"1.0.0","name":"Select Similar Geometry","version":"1.3.0","tagline":"Select objects by percentage of matching vertices","archive_hash":"sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21","archive_size":397646,"archive_url":"https://extensions.blender.org/download/sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21/add-on-select-similar-geometry-v1.3.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/select-similar-geometry/","maintainer":"JuanRomero","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"matgeo","schema_version":"1.0.0","name":"MatGeo","version":"1.0.0","tagline":"Convert Materials to Geometry Nodes","archive_hash":"sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556","archive_size":9103,"archive_url":"https://extensions.blender.org/download/sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556/add-on-matgeo-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/matgeo/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Geometry Nodes","Node"]},{"id":"Cross_Select","schema_version":"1.0.0","name":"Cross Select","version":"1.0.6","tagline":"Select scene objects similar like RHINO or CAD","archive_hash":"sha256:bc66d1d42aa0f0a9f666fa5fd13e97ab31b2502dc679fc4ca305a0f745ce2e65","archive_size":30023,"archive_url":"https://extensions.blender.org/download/sha256:bc66d1d42aa0f0a9f666fa5fd13e97ab31b2502dc679fc4ca305a0f745ce2e65/add-on-cross-select-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cross-select/","maintainer":"RARA","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View","Scene","Node"]},{"id":"Dark_3d","schema_version":"1.0.0","name":"Dark 3d","version":"1.0.0","tagline":"Shaded Buttons","archive_hash":"sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad","archive_size":6664,"archive_url":"https://extensions.blender.org/download/sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad/theme-dark-3d-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-3d/","maintainer":"SammyTheBest","license":["SPDX:GPL-3.0-or-later"]},{"id":"bone_math","schema_version":"1.0.0","name":"Bone Math","version":"0.1.0","tagline":"Calculate pole angles, plus other bone related math","archive_hash":"sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c","archive_size":4795,"archive_url":"https://extensions.blender.org/download/sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c/add-on-bone-math-v0.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bone-math/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"surface_diagnostics","schema_version":"1.0.0","name":"Surface Diagnostics","version":"1.4.3","tagline":"Set of tools for diagnosing surface quality","archive_hash":"sha256:962fd2c89467104fae0bf139c1118e079fa7ff65ae8fbf692c741e2ef6c0d103","archive_size":1241115,"archive_url":"https://extensions.blender.org/download/sha256:962fd2c89467104fae0bf139c1118e079fa7ff65ae8fbf692c741e2ef6c0d103/add-on-surface-diagnostics-v1.4.3.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/surface-diagnostics/","maintainer":"JLBöhm","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Geometry Nodes"]},{"id":"savepoints","schema_version":"1.0.0","name":"SavePoints","version":"1.5.2","tagline":"Visual version control, easy restore, and automatic timelapse","archive_hash":"sha256:a3299c0dde53838e75fd7f4c75750f4cfc579203ea0382fcc55484f37f9d9cab","archive_size":100533,"archive_url":"https://extensions.blender.org/download/sha256:a3299c0dde53838e75fd7f4c75750f4cfc579203ea0382fcc55484f37f9d9cab/add-on-savepoints-v1.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/savepoints/","maintainer":"unclepomedev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create version history and move deleted versions to trash"},"tags":["System","Pipeline","Render"]},{"id":"sprite_sheet_maker","schema_version":"1.0.0","name":"Sprite Sheet Maker","version":"5.1.1","tagline":"3D to 2D sprite sheet converter with optional pixelation","archive_hash":"sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329","archive_size":8711545,"archive_url":"https://extensions.blender.org/download/sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329/add-on-sprite-sheet-maker-v5.1.1-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sprite-sheet-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Animation","Render"]},{"id":"kanagawa","schema_version":"1.0.0","name":"Kanagawa","version":"1.0.1","tagline":"kanagawa.nvim for Blender","archive_hash":"sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d","archive_size":6190,"archive_url":"https://extensions.blender.org/download/sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d/theme-kanagawa-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/kanagawa/","maintainer":"timberlinefpv","license":["SPDX:GPL-3.0-or-later"]},{"id":"io_scene_owm","schema_version":"1.0.0","name":"OWM Import","version":"3.3.0","tagline":"Import files from the Overwatch extraction tools (DataTool)","archive_hash":"sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44","archive_size":279606,"archive_url":"https://extensions.blender.org/download/sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44/add-on-io-scene-owm-v3.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-owm/","maintainer":"overtools","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing files from disk"},"tags":["Import-Export"]},{"id":"io_xnalara","schema_version":"1.0.0","name":"XPS Import/Export","version":"2.2.6","tagline":"Import-Export for XNALara/XPS files","archive_hash":"sha256:c80378ac07423326908c18f542d132bc69ba043ff10d6eb67ebb828affb81ace","archive_size":172698,"archive_url":"https://extensions.blender.org/download/sha256:c80378ac07423326908c18f542d132bc69ba043ff10d6eb67ebb828affb81ace/add-on-io-xnalara-v2.2.6.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-xnalara/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"windows_xp_theme","schema_version":"1.0.0","name":"Windows XP","version":"1.0.0","tagline":"A light theme directly inspired by Windows XP","archive_hash":"sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a","archive_size":6634,"archive_url":"https://extensions.blender.org/download/sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a/theme-windows-xp-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/windows-xp-theme/","maintainer":"Alkalide","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"ZZZ","schema_version":"1.0.0","name":"ZZZ Theme","version":"1.0.1","tagline":"High-contrast dark theme with Zenless Zone Zero's signature","archive_hash":"sha256:c8dabb06a7b621ccd164b2de14001434b7fe9db60528059c65124a879371d29f","archive_size":5472,"archive_url":"https://extensions.blender.org/download/sha256:c8dabb06a7b621ccd164b2de14001434b7fe9db60528059c65124a879371d29f/theme-zzz-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zzz/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast"]},{"id":"Cyberpunk2077","schema_version":"1.0.0","name":"Cyberpunk 2077","version":"1.2.0","tagline":"A Cyberpunk 2077 theme for Blender","archive_hash":"sha256:fb56d28e42e47e588dc063bf3ef70e7f1fb6b2b120ab2064f26ca74fa493e0fa","archive_size":5532,"archive_url":"https://extensions.blender.org/download/sha256:fb56d28e42e47e588dc063bf3ef70e7f1fb6b2b120ab2064f26ca74fa493e0fa/theme-cyberpunk2077-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cyberpunk2077/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"mintLavender","schema_version":"1.0.0","name":"Mint Lavender Chill","version":"1.0.3","tagline":"A Mint lavender theme for Blender with Lo-fi aesthetics","archive_hash":"sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5","archive_size":5321,"archive_url":"https://extensions.blender.org/download/sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5/theme-mintlavender-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mintlavender/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"sleek_navy","schema_version":"1.0.0","name":"Sleek Navy","version":"1.0.0","tagline":"A clean dark-blue Blender theme","archive_hash":"sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420","archive_size":5546,"archive_url":"https://extensions.blender.org/download/sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420/theme-sleek-navy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/sleek-navy/","maintainer":"Martel6ix","license":["SPDX:MIT"]},{"id":"multirow","schema_version":"1.0.0","name":"Multirow","version":"1.0.1","tagline":"Text strips with line break","archive_hash":"sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1","archive_size":4445,"archive_url":"https://extensions.blender.org/download/sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1/add-on-multirow-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/multirow/","maintainer":"flakmoppen","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","Text Editor","User Interface"]},{"id":"viewport_camera_positions","schema_version":"1.0.0","name":"Lutaya Viewport Camera","version":"1.0.1","tagline":"Save and switch between camera positions with orthographic views","archive_hash":"sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b","archive_size":4336,"archive_url":"https://extensions.blender.org/download/sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b/add-on-viewport-camera-positions-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-camera-positions/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load camera position configurations"},"tags":["3D View","Camera"]},{"id":"sequence_loader","schema_version":"1.0.0","name":"Sequence Loader","version":"0.4.0","tagline":"Just-in-time loader for meshio-supported mesh file sequences","archive_hash":"sha256:20c6e8c30cd2c2aa4be1c56817a32562680841c20df0b7a6cff103d543f566ff","archive_size":629459,"archive_url":"https://extensions.blender.org/download/sha256:20c6e8c30cd2c2aa4be1c56817a32562680841c20df0b7a6cff103d543f566ff/add-on-sequence-loader-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sequence-loader/","maintainer":"Stefan-Jeske","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Core functionality to load files from disk"},"tags":["Import-Export"]},{"id":"automata_theme","schema_version":"1.0.0","name":"Automata","version":"2.0.0","tagline":"NieR inspired theme","archive_hash":"sha256:7999157fafef87293070f20c98d798e754bf156147cdc753687ffba29bb7a198","archive_size":5950,"archive_url":"https://extensions.blender.org/download/sha256:7999157fafef87293070f20c98d798e754bf156147cdc753687ffba29bb7a198/theme-automata-theme-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/automata-theme/","maintainer":"NSA-Cloud","license":["SPDX:GPL-3.0-or-later"]},{"id":"ani_offset","schema_version":"1.0.0","name":"Ani Offset","version":"3.2.2","tagline":"Propagate pose offsets across selected keyframes","archive_hash":"sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154","archive_size":3526,"archive_url":"https://extensions.blender.org/download/sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154/add-on-ani-offset-v3.2.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ani-offset/","maintainer":"Drika111","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"asset_optimizer","schema_version":"1.0.0","name":"Game Asset Optimizer","version":"1.0.2","tagline":"Optimize 3D models for Unity and Unreal Engine workflows","archive_hash":"sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b","archive_size":19580,"archive_url":"https://extensions.blender.org/download/sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b/add-on-asset-optimizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-optimizer/","maintainer":"Sudip-Soni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export optimized assets for Unity and Unreal Engine"},"tags":["Modeling","Mesh","Pipeline"]},{"id":"turntable_camera","schema_version":"1.0.0","name":"Turntable Camera","version":"0.1.2","tagline":"Camera Turntable Setup","archive_hash":"sha256:fa20577f3c12d4b6dd05802b7aacf3dd8d433753fc19b3bb8da3adb23ac2b3c5","archive_size":17413,"archive_url":"https://extensions.blender.org/download/sha256:fa20577f3c12d4b6dd05802b7aacf3dd8d433753fc19b3bb8da3adb23ac2b3c5/add-on-turntable-camera-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turntable-camera/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"copy_paste_nodes","schema_version":"1.0.0","name":"Copy/Paste Nodes","version":"0.1.5","tagline":"Copy nodes to and from the system clipboard as JSON","archive_hash":"sha256:5cd02f7fe4229a03fddb190f98410f4f1b5c049707de5587c3eb4c14a9609a88","archive_size":10746,"archive_url":"https://extensions.blender.org/download/sha256:5cd02f7fe4229a03fddb190f98410f4f1b5c049707de5587c3eb4c14a9609a88/add-on-copy-paste-nodes-v0.1.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copy-paste-nodes/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste nodes to the clipboard"},"tags":["Node"]},{"id":"mixamo_rig","schema_version":"1.0.0","name":"Mixamo Rig","version":"1.1.8","tagline":"Generate a control rig from Mixamo Fbx skeleton","archive_hash":"sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96","archive_size":171560,"archive_url":"https://extensions.blender.org/download/sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96/add-on-mixamo-rig-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.5.999","website":"https://extensions.blender.org/add-ons/mixamo-rig/","maintainer":"tyler.tofu","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Rigging"]},{"id":"img2mat_pro","schema_version":"1.0.0","name":"img2mat_pro","version":"1.10.0","tagline":"Extract color materials and paint palettes from images","archive_hash":"sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990","archive_size":9875,"archive_url":"https://extensions.blender.org/download/sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990/add-on-img2mat-pro-v1.10.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img2mat-pro/","maintainer":"stevewarner","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","User Interface","Pipeline"]},{"id":"anim_reviewer","schema_version":"1.0.0","name":"Anim Reviewer","version":"1.0.0","tagline":"Enhance blender playblast capabilities for animation review","archive_hash":"sha256:6b4f7b38b528dc781dfa6d565b00e034dfff73df7f510ca15850a3e09f19721a","archive_size":1334127,"archive_url":"https://extensions.blender.org/download/sha256:6b4f7b38b528dc781dfa6d565b00e034dfff73df7f510ca15850a3e09f19721a/add-on-anim-reviewer-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/anim-reviewer/","maintainer":"FhyTan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save playblast videos in specified output folder"},"tags":["3D View","Animation","Camera","Pipeline"]},{"id":"export_render_as_dng","schema_version":"1.0.0","name":"Export Render as DNG","version":"1.0.2","tagline":"Export renders and images as Bayer-style DNG files","archive_hash":"sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85","archive_size":25960,"archive_url":"https://extensions.blender.org/download/sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85/add-on-export-render-as-dng-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-render-as-dng/","maintainer":"FloBEAUG","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export DNG to disk"}},{"id":"Origin_move_like_maya","schema_version":"1.0.0","name":"Origin_move_like_maya (Press D)","version":"1.4.0","tagline":"Move pivot independently with snapping and gizmo like maya","archive_hash":"sha256:5e718aa81233aba65fd1aa186cb1588d551da1b21509fa373d75f11e29c17534","archive_size":3563,"archive_url":"https://extensions.blender.org/download/sha256:5e718aa81233aba65fd1aa186cb1588d551da1b21509fa373d75f11e29c17534/add-on-origin-move-like-maya-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/origin-move-like-maya/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"printing_helper","schema_version":"1.0.0","name":"Printing Helper","version":"0.1.2","tagline":"Set the resolution required for printing more simply","archive_hash":"sha256:3c3a5ea8c40c1cf91c3102b5c7d690ef8ae38a6a562daf4f2200574c2faabeae","archive_size":12655,"archive_url":"https://extensions.blender.org/download/sha256:3c3a5ea8c40c1cf91c3102b5c7d690ef8ae38a6a562daf4f2200574c2faabeae/add-on-printing-helper-v0.1.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/printing-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Camera"]},{"id":"bh_smart_sym","schema_version":"1.0.0","name":"BH Smart Sym","version":"0.9.0","tagline":"Interactive 3D arrows for quick face symmetrize","archive_hash":"sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34","archive_size":5272,"archive_url":"https://extensions.blender.org/download/sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34/add-on-bh-smart-sym-v0.9.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bh-smart-sym/","maintainer":"bogatyr4ik","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"camera_aspect_ratio_guides","schema_version":"1.0.0","name":"Camera Aspect Ratio Guides","version":"2.0.0","tagline":"Professional composition guides with safe areas","archive_hash":"sha256:50bae340eccf1df4cc77e0a2667e08f8ba9f7c894fce9c5854e0f0dd5b29c394","archive_size":11678,"archive_url":"https://extensions.blender.org/download/sha256:50bae340eccf1df4cc77e0a2667e08f8ba9f7c894fce9c5854e0f0dd5b29c394/add-on-camera-aspect-ratio-guides-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.5.0","website":"https://extensions.blender.org/add-ons/camera-aspect-ratio-guides/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Modify compositor nodes for render burn-in"},"tags":["Camera","Render","Compositing"]},{"id":"theme_GoldExperience","schema_version":"1.0.0","name":"Gold Experience","version":"1.0.1","tagline":"A theme if you really like yellow","archive_hash":"sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb/theme-theme-goldexperience-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-goldexperience/","maintainer":"lonku","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"catppucin4blender","schema_version":"1.0.0","name":"Catppuccin Theme","version":"5.1.5","tagline":"Catppuccin for Blender","archive_hash":"sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875","archive_size":7103,"archive_url":"https://extensions.blender.org/download/sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875/theme-catppucin4blender-v5.1.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/catppucin4blender/","maintainer":"Albert-Bici","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark","Colorful"]},{"id":"camerafly","schema_version":"1.0.0","name":"Camerafly","version":"2.1.3","tagline":"Fly around with the Dolly Rig of the Camera Rigs Addon","archive_hash":"sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d","archive_size":23698,"archive_url":"https://extensions.blender.org/download/sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d/add-on-camerafly-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camerafly/","maintainer":"MichaelSchieber","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"face_angle_analyzer","schema_version":"1.0.0","name":"Face Angle Analyzer","version":"8.9.4","tagline":"Measure and visualize face angles against global axes","archive_hash":"sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0","archive_size":6292,"archive_url":"https://extensions.blender.org/download/sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0/add-on-face-angle-analyzer-v8.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-angle-analyzer/","maintainer":"Astralis","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"rigi_all","schema_version":"1.0.0","name":"Rigi-All","version":"1.5.2","tagline":"Speeds up the Rigify process","archive_hash":"sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17","archive_size":31809,"archive_url":"https://extensions.blender.org/download/sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17/add-on-rigi-all-v1.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigi-all/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Quick_Asset_Saver","schema_version":"1.0.0","name":"Quick Asset Manager","version":"2.0.3","tagline":"Quickly Create, Edit, Organize, or Delete your local asset files","archive_hash":"sha256:34196edd29b75d18cca2c3cd001fa751781314ee608d025ef702669cee0b5973","archive_size":66307,"archive_url":"https://extensions.blender.org/download/sha256:34196edd29b75d18cca2c3cd001fa751781314ee608d025ef702669cee0b5973/add-on-quick-asset-saver-v2.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-asset-saver/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To read and write to asset library directories"},"tags":["User Interface","System"]},{"id":"bone_widget","schema_version":"1.0.0","name":"Bone Widget","version":"2.3.3","tagline":"Easily Create Bone Widgets","archive_hash":"sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970","archive_size":293994,"archive_url":"https://extensions.blender.org/download/sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970/add-on-bone-widget-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-widget/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export json and image files from/to disk"},"tags":["Rigging"]},{"id":"Bone_Animation_Copy_Tool","schema_version":"1.0.0","name":"Bone Animation Copy Tool","version":"1.1.5","tagline":"Copy animation between armatures using bone constraints","archive_hash":"sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2","archive_size":9772,"archive_url":"https://extensions.blender.org/download/sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2/add-on-bone-animation-copy-tool-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-animation-copy-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"orbiter","schema_version":"1.0.0","name":"Orbiter","version":"1.1.0","tagline":"Orbit around objects in the viewport","archive_hash":"sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a","archive_size":3393,"archive_url":"https://extensions.blender.org/download/sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a/add-on-orbiter-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orbiter/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"spline_generator","schema_version":"1.0.0","name":"Spline Generator","version":"1.0.3","tagline":"Generate parametric spline","archive_hash":"sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145","archive_size":8307,"archive_url":"https://extensions.blender.org/download/sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145/add-on-spline-generator-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spline-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Add Curve"]},{"id":"beautiful_dream","schema_version":"1.0.0","name":"Beautiful Dream","version":"1.0.4","tagline":"This is a variant of Whispering Ripples","archive_hash":"sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96","archive_size":5810,"archive_url":"https://extensions.blender.org/download/sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96/theme-beautiful-dream-v1.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/beautiful-dream/","maintainer":"KBS-DEV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"graph_generator","schema_version":"1.0.0","name":"Graph Generator","version":"1.2.2","tagline":"Generate graph between saved keyframes","archive_hash":"sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4","archive_size":9526,"archive_url":"https://extensions.blender.org/download/sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4/add-on-graph-generator-v1.2.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/graph-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"wisteria","schema_version":"1.0.0","name":"Wisteria","version":"1.0.1","tagline":"Gray with hints of purple","archive_hash":"sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915","archive_size":5690,"archive_url":"https://extensions.blender.org/download/sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915/theme-wisteria-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/wisteria/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"trajectory_anim","schema_version":"1.0.0","name":"Trajectory Anim","version":"1.2.1","tagline":"Animate quickly by drawing trajectory line","archive_hash":"sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d","archive_size":43987,"archive_url":"https://extensions.blender.org/download/sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d/add-on-trajectory-anim-v1.2.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/trajectory-anim/","maintainer":"trisnox","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Analysis_Toolkit","schema_version":"1.0.0","name":"Analysis Toolkit","version":"1.0.1","tagline":"Measurement calculations, illuminance, distance, speed, and more","archive_hash":"sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823","archive_size":25910,"archive_url":"https://extensions.blender.org/download/sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823/add-on-analysis-toolkit-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/analysis-toolkit/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Lighting"]},{"id":"ns_toolkit_mesh_cleanup_pro","schema_version":"1.0.0","name":"NS Toolkit - Mesh Cleanup Pro","version":"1.0.1","tagline":"Professional mesh cleanup with topology visualization tools","archive_hash":"sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e","archive_size":9410,"archive_url":"https://extensions.blender.org/download/sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e/add-on-ns-toolkit-mesh-cleanup-pro-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ns-toolkit-mesh-cleanup-pro/","maintainer":"nandur","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"OLED","schema_version":"1.0.0","name":"OLED","version":"1.0.0","tagline":"OLED theme for Blender","archive_hash":"sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee/theme-oled-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/oled/","maintainer":"NARZ","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"CYNexusLX490","schema_version":"1.0.0","name":"CyanoNexus LX490","version":"1.0.1","tagline":"Stellar-grade Blender theme – tri-spectrum of CyanoNexus LX490","archive_hash":"sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9","archive_size":6218,"archive_url":"https://extensions.blender.org/download/sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9/theme-cynexuslx490-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cynexuslx490/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"editorbar","schema_version":"1.0.0","name":"EditorBar","version":"0.4.7","tagline":"Turn Outliner & Properties editors into a toggleable sidebar","archive_hash":"sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a","archive_size":24251,"archive_url":"https://extensions.blender.org/download/sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a/add-on-editorbar-v0.4.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/editorbar/","maintainer":"atetraxx","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"manage_file_paths","schema_version":"1.0.0","name":"Manage File Paths","version":"1.0.1","tagline":"A list of image file paths with indicators for missing files","archive_hash":"sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906","archive_size":3273,"archive_url":"https://extensions.blender.org/download/sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906/add-on-manage-file-paths-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/manage-file-paths/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check if image files exist on disk"},"tags":["Material","System"]},{"id":"matcolex","schema_version":"1.0.0","name":"MatColeX","version":"1.7.8","tagline":"Collect, Organize, and Apply Shaders from Your 3D View","archive_hash":"sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5","archive_size":9589,"archive_url":"https://extensions.blender.org/download/sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5/add-on-matcolex-v1.7.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matcolex/","maintainer":"budijozz","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","3D View","Modeling"]},{"id":"wfc_3d_generator","schema_version":"1.0.0","name":"WFC 3D Generator","version":"1.3.8","tagline":"Simple WFC 3D generator for procedural creation of objects","archive_hash":"sha256:2bcf439320138f409932ef702a986c28a8cba0acb9a32c0e4ab60f0c2e5d0ff9","archive_size":68017,"archive_url":"https://extensions.blender.org/download/sha256:2bcf439320138f409932ef702a986c28a8cba0acb9a32c0e4ab60f0c2e5d0ff9/add-on-wfc-3d-generator-v1.3.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wfc-3d-generator/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export constraints (JSON) from/to disk"},"tags":["Object","Modeling","Render","Game Engine"]},{"id":"blender_dark_aero_theme","schema_version":"1.0.0","name":"Dark Aero","version":"1.0.0","tagline":"This is a Dark Aero Theme for Blender","archive_hash":"sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca","archive_size":7696,"archive_url":"https://extensions.blender.org/download/sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca/theme-blender-dark-aero-theme-v1.0.0.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blender-dark-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"nurbs2mesh","schema_version":"1.0.0","name":"NURBS2Mesh","version":"1.0.3","tagline":"Auto-updating mesh copies from NURBS/Curves","archive_hash":"sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35","archive_size":9718,"archive_url":"https://extensions.blender.org/download/sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35/add-on-nurbs2mesh-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nurbs2mesh/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"curve_generator","schema_version":"1.0.0","name":"Curve Generator","version":"1.2.1","tagline":"Generate float curves","archive_hash":"sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac","archive_size":6289,"archive_url":"https://extensions.blender.org/download/sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac/add-on-curve-generator-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Add Curve"]},{"id":"true_roboanimator","schema_version":"1.0.0","name":"True RoboAnimator","version":"1.0.1","tagline":"Robot motion to wheel RPM with CSV export","archive_hash":"sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606","archive_size":18055,"archive_url":"https://extensions.blender.org/download/sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606/add-on-true-roboanimator-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/true-roboanimator/","maintainer":"danyal-sarfraz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write CSV and animation data files"}},{"id":"MaterialHelper","schema_version":"1.0.0","name":"MaterialHelper","version":"1.4.7","tagline":"Make local asset manager your place to create powerful materials","archive_hash":"sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d","archive_size":3927318,"archive_url":"https://extensions.blender.org/download/sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d/add-on-materialhelper-v1.4.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/materialhelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load preview material file/Access and modify asset catalog file"},"tags":["3D View","Material"]},{"id":"lutiy_timeline","schema_version":"1.0.0","name":"Lutiy Timeline","version":"1.0.1","tagline":"Save and switch between camera frame range","archive_hash":"sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb","archive_size":3790,"archive_url":"https://extensions.blender.org/download/sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb/add-on-lutiy-timeline-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lutiy-timeline/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load preset configurations"},"tags":["Animation","Camera","Scene"]},{"id":"py_btn_box","schema_version":"1.0.0","name":"PyBtnBox","version":"5.1.0","tagline":"Use Button To Execute Script","archive_hash":"sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf","archive_size":14035,"archive_url":"https://extensions.blender.org/download/sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf/add-on-py-btn-box-v5.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/py-btn-box/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Need to sync button data from python/json files and folder"},"tags":["System"]},{"id":"mesh_attribute_utils","schema_version":"1.0.0","name":"Mesh Attribute Utils","version":"0.2.0","tagline":"Easily view and edit custom mesh attributes","archive_hash":"sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211","archive_size":8347,"archive_url":"https://extensions.blender.org/download/sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211/add-on-mesh-attribute-utils-v0.2.0.zip","type":"add-on","blender_version_min":"4.5.3","website":"https://extensions.blender.org/add-ons/mesh-attribute-utils/","maintainer":"Hannah-Pascal-Noël","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"theme_updater","schema_version":"1.0.0","name":"Theme Updater","version":"1.0.0","tagline":"Update themes from 4.5 LTS to 5.0","archive_hash":"sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21","archive_size":5066,"archive_url":"https://extensions.blender.org/download/sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21/add-on-theme-updater-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/theme-updater/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"rotor","schema_version":"1.0.0","name":"rotor","version":"1.3.2","tagline":"rotor","archive_hash":"sha256:93688a3f41cadaf2dd61a8e3a442963482ca64c95f3bf303e041f622a54a46c4","archive_size":42300,"archive_url":"https://extensions.blender.org/download/sha256:93688a3f41cadaf2dd61a8e3a442963482ca64c95f3bf303e041f622a54a46c4/add-on-rotor-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rotor/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"Blockout","schema_version":"1.0.0","name":"Blockout","version":"1.4.5","tagline":"Blockout","archive_hash":"sha256:14f2efbae5525faa91e3146093b002aef8204472b2dfc0cfd71d9d1e218dd814","archive_size":151513,"archive_url":"https://extensions.blender.org/download/sha256:14f2efbae5525faa91e3146093b002aef8204472b2dfc0cfd71d9d1e218dd814/add-on-blockout-v1.4.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blockout/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing node group from disk"},"tags":["Modeling","3D View","Mesh"]},{"id":"geo_bake_batch","schema_version":"1.0.0","name":"Geo Bake Batch","version":"0.0.1","tagline":"Batch tools for Geometry Nodes baking","archive_hash":"sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39","archive_size":2570,"archive_url":"https://extensions.blender.org/download/sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39/add-on-geo-bake-batch-v0.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geo-bake-batch/","maintainer":"Artyom-Pankratov","license":["SPDX:GPL-3.0-or-later"]},{"id":"restart","schema_version":"1.0.0","name":"Restart","version":"1.0.2","tagline":"Restart Blender","archive_hash":"sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c","archive_size":2824,"archive_url":"https://extensions.blender.org/download/sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c/add-on-restart-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/restart/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"camera_sensor_database","schema_version":"1.0.0","name":"Camera Sensor Database","version":"1.0.1","tagline":"Provides a database of camera sensors to choose from in Blender","archive_hash":"sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9","archive_size":18406,"archive_url":"https://extensions.blender.org/download/sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9/add-on-camera-sensor-database-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camera-sensor-database/","maintainer":"Manuel-Houben","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the sensor database locally","network":"To download the latest sensor database"},"tags":["Camera"]},{"id":"collection_switcher","schema_version":"1.0.0","name":"Collection Switcher","version":"1.4.0","tagline":"Switch visibility between sub-collections in switchers","archive_hash":"sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9","archive_size":1124111,"archive_url":"https://extensions.blender.org/download/sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9/add-on-collection-switcher-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-switcher/","maintainer":"Valentin-Komkov","license":["SPDX:GPL-3.0-or-later"]},{"id":"stb_section_toolbox","schema_version":"1.0.0","name":"Section Toolbox","version":"0.0.2","tagline":"Parametric section box and planar cuts with SVG DXF export","archive_hash":"sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7","archive_size":30173,"archive_url":"https://extensions.blender.org/download/sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7/add-on-stb-section-toolbox-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stb-section-toolbox/","maintainer":"Victor-Calixto","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG and DXF to disk"},"tags":["Modeling","Mesh","Import-Export","Object"]},{"id":"uv_maps_plus","schema_version":"1.0.0","name":"UV Maps+","version":"2026.1.2","tagline":"Reorder UV Maps, Copy/Paste UVs, and exceed the 8-map limit","archive_hash":"sha256:a85d5e6b619544489c39c0b6208a5012907877f0a8c71931d5f9bae813e0e318","archive_size":18036,"archive_url":"https://extensions.blender.org/download/sha256:a85d5e6b619544489c39c0b6208a5012907877f0a8c71931d5f9bae813e0e318/add-on-uv-maps-plus-v2026.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-maps-plus/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","User Interface"]},{"id":"parallax_node","schema_version":"1.0.0","name":"Parallax Node","version":"1.1.1","tagline":"Adds parallax node for shader nodes","archive_hash":"sha256:a2830f8614b8e3ee6d7bcc882eb2a8d3208f069b64dec3d7cfbc9f73dd4a100f","archive_size":12064,"archive_url":"https://extensions.blender.org/download/sha256:a2830f8614b8e3ee6d7bcc882eb2a8d3208f069b64dec3d7cfbc9f73dd4a100f/add-on-parallax-node-v1.1.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/parallax-node/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"easy_driver","schema_version":"1.0.0","name":"Easy Driver","version":"1.5.7","tagline":"Technical rigging made easier","archive_hash":"sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e","archive_size":41557,"archive_url":"https://extensions.blender.org/download/sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e/add-on-easy-driver-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/easy-driver/","maintainer":"NeoEmberArt","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"hifi_builder","schema_version":"1.0.0","name":"HiFi Architecture Builder v3.9.5","version":"3.9.5","tagline":"One-click architecture builder for Blender with all units","archive_hash":"sha256:04e59d6f87d7108a1ec1dc942f673d481a7201995aa3dd1705b16059d932b7f5","archive_size":54945,"archive_url":"https://extensions.blender.org/download/sha256:04e59d6f87d7108a1ec1dc942f673d481a7201995aa3dd1705b16059d932b7f5/add-on-hifi-builder-v3.9.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hifi-builder/","maintainer":"Malik-Nomi","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling"]},{"id":"secondary_language","schema_version":"1.0.0","name":"Secondary Language","version":"1.1.0","tagline":"Quickly switch to secondary language","archive_hash":"sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049","archive_size":3939,"archive_url":"https://extensions.blender.org/download/sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049/add-on-secondary-language-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/secondary-language/","maintainer":"mdlt7z","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"driver_helper","schema_version":"1.0.0","name":"DriverHelper","version":"1.0.1","tagline":"Helps generate driver formulas in the Shape Keys panel","archive_hash":"sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149","archive_size":2152,"archive_url":"https://extensions.blender.org/download/sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149/add-on-driver-helper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/driver-helper/","maintainer":"Zakmen150","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"format_rename","schema_version":"1.0.0","name":"Format Rename","version":"0.0.5","tagline":"Format Rename","archive_hash":"sha256:e808bb2db8a28a7d59edcc17646c4e27d758ece40f258f98a15f162756b14f6e","archive_size":19683,"archive_url":"https://extensions.blender.org/download/sha256:e808bb2db8a28a7d59edcc17646c4e27d758ece40f258f98a15f162756b14f6e/add-on-format-rename-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/format-rename/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Rigging"]},{"id":"NieR_Automata","schema_version":"1.0.0","name":"YorHa - Operator","version":"1.1.0","tagline":"A Dark Version Of Nier Automata Ui inspired by YorHa-Operator","archive_hash":"sha256:37142058b557023d2d7bd00556c7ddaa53effadc124d7a8576a76383b98c39a1","archive_size":5484,"archive_url":"https://extensions.blender.org/download/sha256:37142058b557023d2d7bd00556c7ddaa53effadc124d7a8576a76383b98c39a1/theme-nier-automata-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nier-automata/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"layer_comp","schema_version":"1.0.0","name":"LayerComp","version":"1.1.2","tagline":"Layer-based compositing tool, similar to After Effects","archive_hash":"sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6","archive_size":580509,"archive_url":"https://extensions.blender.org/download/sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6/add-on-layer-comp-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/layer-comp/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Blend file from/to disk"},"tags":["Compositing","Node","Render"]},{"id":"select_123","schema_version":"1.0.0","name":"123 Select","version":"1.0.0","tagline":"Switch vertex edge face in Object Mode","archive_hash":"sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69","archive_size":2138,"archive_url":"https://extensions.blender.org/download/sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69/add-on-select-123-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-123/","maintainer":"Fisch_Tu","license":["SPDX:GPL-3.0-or-later"]},{"id":"ramp_generator","schema_version":"1.0.0","name":"Ramp Generator","version":"1.4.3","tagline":"Generate color ramps","archive_hash":"sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c","archive_size":3932,"archive_url":"https://extensions.blender.org/download/sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c/add-on-ramp-generator-v1.4.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ramp-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Compositing"]},{"id":"Timelapse_extension","schema_version":"1.0.0","name":"Timelapse","version":"1.0.1","tagline":"Take timed screenshots inside Blender","archive_hash":"sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1","archive_size":3049,"archive_url":"https://extensions.blender.org/download/sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1/add-on-timelapse-extension-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/timelapse-extension/","maintainer":"Silky-Renders","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export png/jpeg to disk"},"tags":["System"]},{"id":"blender_frutiger_aero_theme","schema_version":"1.0.0","name":"Frutiger Aero","version":"1.1.3","tagline":"This is a Frutiger Aero Theme for Blender","archive_hash":"sha256:55211f98e8097958a59f34af945f4a16ce490025f4b50c8edf939aa53b009f11","archive_size":6989,"archive_url":"https://extensions.blender.org/download/sha256:55211f98e8097958a59f34af945f4a16ce490025f4b50c8edf939aa53b009f11/theme-blender-frutiger-aero-theme-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blender-frutiger-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"markcam","schema_version":"1.0.0","name":"MarkCam","version":"2.5.0","tagline":"Quick camera-from-view + timeline marker tools","archive_hash":"sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd","archive_size":6762,"archive_url":"https://extensions.blender.org/download/sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd/add-on-markcam-v2.5.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/markcam/","maintainer":"SomRender","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation"]},{"id":"Work_n_rose","schema_version":"1.0.0","name":"Work_n_rose","version":"1.4.0","tagline":"Dark, High Contrast","archive_hash":"sha256:6b114a012d21ae7b78d93ef3739a27a9a972bb94f93564985f11c0b5d25d0a55","archive_size":6213,"archive_url":"https://extensions.blender.org/download/sha256:6b114a012d21ae7b78d93ef3739a27a9a972bb94f93564985f11c0b5d25d0a55/theme-work-n-rose-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/work-n-rose/","maintainer":"Nois3G4te","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"stroke_material_display","schema_version":"1.0.0","name":"Stroke Material Display","version":"1.0.1","tagline":"Display material names of selected Grease Pencil strokes","archive_hash":"sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317","archive_size":3088,"archive_url":"https://extensions.blender.org/download/sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317/add-on-stroke-material-display-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/stroke-material-display/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"spa_sequencer","schema_version":"1.0.0","name":"SPArk Sequencer","version":"0.1.6","tagline":"Toolset to improve the sequence workflow in Blender","archive_hash":"sha256:2f9ea5309e0f0778d775c896b2b575fadaab20df993c7d453c11704697180b1a","archive_size":73645,"archive_url":"https://extensions.blender.org/download/sha256:2f9ea5309e0f0778d775c896b2b575fadaab20df993c7d453c11704697180b1a/add-on-spa-sequencer-v0.1.6.zip","type":"add-on","blender_version_min":"4.5.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/spa-sequencer/","maintainer":"TinyNick","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"compositor_file_output_replacer","schema_version":"1.0.0","name":"Compositor File Output Replacer","version":"1.3.0","tagline":"Find and replace text in File Output node paths","archive_hash":"sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757","archive_size":3158,"archive_url":"https://extensions.blender.org/download/sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757/add-on-compositor-file-output-replacer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/compositor-file-output-replacer/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Node"]},{"id":"miunau_slcamera","schema_version":"1.0.0","name":"Second Life-style camera","version":"1.0.4","tagline":"Second Life-style camera with ALT (option)/CTRL/SHIFT keys","archive_hash":"sha256:e52827160361d2ea0b1c7cdf8603879df1b604dada91e2535d0a17abfe5a8e06","archive_size":19907,"archive_url":"https://extensions.blender.org/download/sha256:e52827160361d2ea0b1c7cdf8603879df1b604dada91e2535d0a17abfe5a8e06/add-on-miunau-slcamera-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/miunau-slcamera/","maintainer":"miunau","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"blue_archive_theme","schema_version":"1.0.0","name":"Blue Archive","version":"1.2.1","tagline":"Theme inspired by Blue Archive game UI","archive_hash":"sha256:b8049642276b5da71a498c9433a46b628ec154b050fa27c5e06fe6236b0f1b31","archive_size":5159,"archive_url":"https://extensions.blender.org/download/sha256:b8049642276b5da71a498c9433a46b628ec154b050fa27c5e06fe6236b0f1b31/theme-blue-archive-theme-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blue-archive-theme/","maintainer":"RAZUMNO","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Inspired By"]},{"id":"toolhub","schema_version":"1.0.0","name":"Tool Hub","version":"1.0.2","tagline":"This add-on searches and pins in a pie-menu","archive_hash":"sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2","archive_size":26285,"archive_url":"https://extensions.blender.org/download/sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2/add-on-toolhub-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toolhub/","maintainer":"Mr.Bir","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"attrio_csv","schema_version":"1.0.0","name":"Attrio CSV","version":"1.0.1","tagline":"Bake and read back Evaluated Dependency Graph Data as CSV","archive_hash":"sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68","archive_size":161895,"archive_url":"https://extensions.blender.org/download/sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68/add-on-attrio-csv-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/attrio-csv/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Bake","Geometry Nodes"]},{"id":"use_for_rendering_plus","schema_version":"1.0.0","name":"View Layer Plus","version":"1.2.4","tagline":"Seamlessly extend View Layers management","archive_hash":"sha256:f0c22a4139cf68d84420aaf2184861de214d00acbf1ddf5c75889428cab34d75","archive_size":63213,"archive_url":"https://extensions.blender.org/download/sha256:f0c22a4139cf68d84420aaf2184861de214d00acbf1ddf5c75889428cab34d75/add-on-use-for-rendering-plus-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/use-for-rendering-plus/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","User Interface"]},{"id":"essential_brush_saver","schema_version":"1.0.0","name":"Essential Brush Saver","version":"1.1.3","tagline":"Automatically save and load essential brush settings","archive_hash":"sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0","archive_size":6069,"archive_url":"https://extensions.blender.org/download/sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0/add-on-essential-brush-saver-v1.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/essential-brush-saver/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load configuration data JSON file to/from disk"},"tags":["Paint","Sculpt","System"]},{"id":"SHIRAKUMO_rectangle_tools","schema_version":"1.0.0","name":"Rectangle Tools","version":"1.0.2","tagline":"Tools to more easily draw rectangles in edit mode","archive_hash":"sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b","archive_size":7349,"archive_url":"https://extensions.blender.org/download/sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b/add-on-shirakumo-rectangle-tools-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-rectangle-tools/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"tags":["Modeling"]},{"id":"bake_instance_animation","schema_version":"1.0.0","name":"Bake Instance Animation (烘焙几何节点实例动画)","version":"1.0.3","tagline":"Bake geometry nodes instance animation to keyframe animation","archive_hash":"sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4","archive_size":8497,"archive_url":"https://extensions.blender.org/download/sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4/add-on-bake-instance-animation-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-instance-animation/","maintainer":"ChyiZ_","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"Candymouse","schema_version":"1.0.0","name":"Candymouse","version":"1.1.0","tagline":"A neutral grey theme with colorful accents","archive_hash":"sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a","archive_size":5785,"archive_url":"https://extensions.blender.org/download/sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a/theme-candymouse-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/candymouse/","maintainer":"milomouse","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"shiva_img2mat","schema_version":"1.0.0","name":"Image to Mat","version":"1.0.0","tagline":"Generate material from image","archive_hash":"sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8","archive_size":3150,"archive_url":"https://extensions.blender.org/download/sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8/add-on-shiva-img2mat-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shiva-img2mat/","maintainer":"SHIVA","license":["SPDX:GPL-3.0-or-later"]},{"id":"easy_tree","schema_version":"1.0.0","name":"Easy Tree","version":"1.0.1","tagline":"Create one-click procedural trees","archive_hash":"sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff","archive_size":17712727,"archive_url":"https://extensions.blender.org/download/sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff/add-on-easy-tree-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/easy-tree/","maintainer":"Jacob-Johnston","license":["SPDX:GPL-3.0-or-later"]},{"id":"wheel_o_matic","schema_version":"1.0.0","name":"Wheel-O-Matic","version":"1.0.2","tagline":"Automatic wheel rotation in any direction","archive_hash":"sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db","archive_size":20178,"archive_url":"https://extensions.blender.org/download/sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db/add-on-wheel-o-matic-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wheel-o-matic/","maintainer":"TechArtToolBox","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"blender_game_tools","schema_version":"1.0.0","name":"Game Tools","version":"0.3.2","tagline":"Game Tools","archive_hash":"sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e","archive_size":249307,"archive_url":"https://extensions.blender.org/download/sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e/add-on-blender-game-tools-v0.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-game-tools/","maintainer":"Cremuss","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","UV","Mesh","Pipeline"]},{"id":"keyframe_selected","schema_version":"1.0.0","name":"Keyframe selected","version":"1.3.2","tagline":"Insert or delete keyframes on selected items","archive_hash":"sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b","archive_size":5942,"archive_url":"https://extensions.blender.org/download/sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b/add-on-keyframe-selected-v1.3.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/keyframe-selected/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"i32_the_mandelbrot_set","schema_version":"1.0.0","name":"i32 the Mandelbrot Set","version":"1.0.2","tagline":"The Mandelbrot set using only Integer Math and Bit Math Nodes","archive_hash":"sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540","archive_size":43557,"archive_url":"https://extensions.blender.org/download/sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540/add-on-i32-the-mandelbrot-set-v1.0.2.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/i32-the-mandelbrot-set/","maintainer":"Osipenkov+Art","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes"]},{"id":"node_tree_screenshot","schema_version":"1.0.0","name":"Node Tree Screenshot","version":"1.1.0","tagline":"Screenshot utility for large node trees","archive_hash":"sha256:5dfd72b1c8d52f58a1515e1fe709cdeed85b39b109de3730acbdc9c0c8a00242","archive_size":18742705,"archive_url":"https://extensions.blender.org/download/sha256:5dfd72b1c8d52f58a1515e1fe709cdeed85b39b109de3730acbdc9c0c8a00242/add-on-node-tree-screenshot-v1.1.0-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/node-tree-screenshot/","maintainer":"LukasTönne","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Node"]},{"id":"visual_limits","schema_version":"1.0.0","name":"Visual limits","version":"1.3.2","tagline":"This addon shows rigid body constraint limits in viewport","archive_hash":"sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e","archive_size":2710,"archive_url":"https://extensions.blender.org/download/sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e/add-on-visual-limits-v1.3.2.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/visual-limits/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"auto_sync_object_data_names","schema_version":"1.0.0","name":"Auto Sync Object Data Names","version":"1.0.0","tagline":"Automatically sync object and data names","archive_hash":"sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab","archive_size":19044,"archive_url":"https://extensions.blender.org/download/sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab/add-on-auto-sync-object-data-names-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sync-object-data-names/","maintainer":"GeeDoubleU","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Pipeline"]},{"id":"Tracker2Nuke","schema_version":"1.0.0","name":"Tracker to Nuke","version":"1.1.0","tagline":"Instantly export Blender tracking data to a Nuke Tracker node","archive_hash":"sha256:b937c0ddfdd9cdea2e22332b540bd2bf7dbd9bd3a9b6dcb2366930a73818029d","archive_size":5120,"archive_url":"https://extensions.blender.org/download/sha256:b937c0ddfdd9cdea2e22332b540bd2bf7dbd9bd3a9b6dcb2366930a73818029d/add-on-tracker2nuke-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tracker2nuke/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Import-Export"]},{"id":"polychase","schema_version":"1.0.0","name":"Polychase","version":"0.0.11","tagline":"Mesh Based Motion Tracking in Blender","archive_hash":"sha256:e88a3d721646362258798a695b97c8fd5c3e2a7c6c68a7b2dbf4aa37c86a4216","archive_size":3048365,"archive_url":"https://extensions.blender.org/download/sha256:e88a3d721646362258798a695b97c8fd5c3e2a7c6c68a7b2dbf4aa37c86a4216/add-on-polychase-v0.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polychase/","maintainer":"theartful","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write optical flow database to disk"},"platforms":["windows-x64"],"tags":["Animation","Tracking"]},{"id":"Bone_Aligner","schema_version":"1.0.0","name":"Bone Aligner","version":"1.1.4","tagline":"Quickly align two bones","archive_hash":"sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8","archive_size":2841,"archive_url":"https://extensions.blender.org/download/sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8/add-on-bone-aligner-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-aligner/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"perfectly_normal","schema_version":"1.0.0","name":"Perfectly Normal","version":"0.0.2","tagline":"Manipulate face-corner normals as mesh components","archive_hash":"sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56","archive_size":159727,"archive_url":"https://extensions.blender.org/download/sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56/add-on-perfectly-normal-v0.0.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/perfectly-normal/","maintainer":"Seth-Adam-Trowbridge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset resources from/to disk"},"tags":["Mesh","Modeling","Geometry Nodes"]},{"id":"beantextures","schema_version":"1.0.0","name":"Beantextures","version":"1.1.0","tagline":"Addon to help with 2D texture-based animations","archive_hash":"sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59","archive_size":23669,"archive_url":"https://extensions.blender.org/download/sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59/add-on-beantextures-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/beantextures/","maintainer":"daringcuteseal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import image textures to generated node group"},"tags":["Animation","Node","Rigging"]},{"id":"SmartScene_Toolkit","schema_version":"1.0.0","name":"SmartScene Toolkit","version":"1.4.0","tagline":"Toolkit for smarter parent, hierarchy, mirror operations","archive_hash":"sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60","archive_size":14746,"archive_url":"https://extensions.blender.org/download/sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60/add-on-smartscene-toolkit-v1.4.0.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/smartscene-toolkit/","maintainer":"Marcus997","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Scene"]},{"id":"Blackboard_Theme","schema_version":"1.0.0","name":"Blackboard_Theme","version":"2.2.2","tagline":"Dark Monochrome","archive_hash":"sha256:d98bc0c1fcbfe08b57eba0d0ee83aaff63a46e57b3fae3516532811efdf3c3fa","archive_size":5611,"archive_url":"https://extensions.blender.org/download/sha256:d98bc0c1fcbfe08b57eba0d0ee83aaff63a46e57b3fae3516532811efdf3c3fa/theme-blackboard-theme-v2.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blackboard-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"surfacepsycho","schema_version":"1.0.0","name":"Surface Psycho","version":"0.9.4","tagline":"Precision Surface Design","archive_hash":"sha256:7fdfffc0ad4478ee55b83ed737ec0bc0cdf132c68ae42721b5e513860078b340","archive_size":57156920,"archive_url":"https://extensions.blender.org/download/sha256:7fdfffc0ad4478ee55b83ed737ec0bc0cdf132c68ae42721b5e513860078b340/add-on-surfacepsycho-v0.9.4-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/surfacepsycho/","maintainer":"RomainGuimbal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export CAD files"},"platforms":["windows-x64"],"tags":["Modeling","Import-Export","Geometry Nodes","Add Curve"]},{"id":"sync_material_viewport_color","schema_version":"1.0.0","name":"Sync Material Viewport Color","version":"1.0.2","tagline":"Sets diffuse color, metallic and roughness for viewport display","archive_hash":"sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9","archive_size":7318,"archive_url":"https://extensions.blender.org/download/sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9/add-on-sync-material-viewport-color-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-material-viewport-color/","maintainer":"Qiu-Feng","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Material"]},{"id":"Dim_Fog","schema_version":"1.0.0","name":"Dim Fog","version":"2.0.0","tagline":"Moody & Cozy theme","archive_hash":"sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c","archive_size":5195,"archive_url":"https://extensions.blender.org/download/sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c/theme-dim-fog-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dim-fog/","maintainer":"huleeb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"ccnc_animation_objects","schema_version":"1.0.0","name":"CCNCAnimationObjects","version":"1.2.3","tagline":"CNC simulation object editor with camera and spark effects","archive_hash":"sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82","archive_size":85342,"archive_url":"https://extensions.blender.org/download/sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82/add-on-ccnc-animation-objects-v1.2.3.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/ccnc-animation-objects/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export CSV files"},"tags":["Modeling","Animation","Camera"]},{"id":"VCS","schema_version":"1.0.0","name":"Vertex Color Selector","version":"1.0.9","tagline":"VertexColor Select tool","archive_hash":"sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4","archive_size":8745,"archive_url":"https://extensions.blender.org/download/sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4/add-on-vcs-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vcs/","maintainer":"D31","license":["SPDX:GPL-3.0-or-later"]},{"id":"script_manager_pro","schema_version":"1.0.0","name":"Script Manager Pro","version":"0.0.3","tagline":"Manage and run Python scripts with one-click access","archive_hash":"sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff","archive_size":3129,"archive_url":"https://extensions.blender.org/download/sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff/add-on-script-manager-pro-v0.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/script-manager-pro/","maintainer":"CemilBerk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reads and writes script metadata to a JSON file"}},{"id":"anim_auto_offset","schema_version":"1.0.0","name":"Animation Auto Offset","version":"1.1.1","tagline":"Update all keyframes relatively on transform changes","archive_hash":"sha256:bd79f5e2717de579efa6c10576ea05f847b48a16798a80ffb7e89418431a3a73","archive_size":14867,"archive_url":"https://extensions.blender.org/download/sha256:bd79f5e2717de579efa6c10576ea05f847b48a16798a80ffb7e89418431a3a73/add-on-anim-auto-offset-v1.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-auto-offset/","maintainer":"Marek-Zając","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"auto_wrinkle_map","schema_version":"1.0.0","name":"Auto Wrinkle Map","version":"0.0.7","tagline":"Helps you to create wrinkle maps driven from bones in one click","archive_hash":"sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a","archive_size":10763,"archive_url":"https://extensions.blender.org/download/sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a/add-on-auto-wrinkle-map-v0.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/auto-wrinkle-map/","maintainer":"Hattiffnat","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Material","Node","Animation"]},{"id":"node_void_keeper","schema_version":"1.0.0","name":"NodeVoidKeeper","version":"1.0.1","tagline":"Keeps your nodes centered at the origin, so you can't lose them","archive_hash":"sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d","archive_size":15610,"archive_url":"https://extensions.blender.org/download/sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d/add-on-node-void-keeper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-void-keeper/","maintainer":"MagnumVD","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"autocam","schema_version":"1.0.0","name":"AutoCam","version":"2.0.6","tagline":"Intuitive camera tools, built for artists","archive_hash":"sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132","archive_size":67410,"archive_url":"https://extensions.blender.org/download/sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132/add-on-autocam-v2.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autocam/","maintainer":"RenderRides","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation","Rigging","Render","Add Curve"]},{"id":"mass_keyframe","schema_version":"1.0.0","name":"Mass Keyframe","version":"1.1.0","tagline":"Keyframe properties better","archive_hash":"sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506","archive_size":426822,"archive_url":"https://extensions.blender.org/download/sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506/add-on-mass-keyframe-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mass-keyframe/","maintainer":"StratosDerg","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"additional_batch_rename","schema_version":"1.0.0","name":"Additional Batch Rename","version":"1.1.1","tagline":"Additional batch rename operators","archive_hash":"sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11","archive_size":15993,"archive_url":"https://extensions.blender.org/download/sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11/add-on-additional-batch-rename-v1.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/additional-batch-rename/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Object"]},{"id":"proceduraltiles","schema_version":"1.0.0","name":"Procedural Tiles","version":"0.0.4","tagline":"A library of shader nodes. +100 NEW NODES","archive_hash":"sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30","archive_size":4261663,"archive_url":"https://extensions.blender.org/download/sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30/add-on-proceduraltiles-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/proceduraltiles/","maintainer":"Aisun-Tang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Material"]},{"id":"simple_gcode_importer","schema_version":"1.0.0","name":"Simple Gcode Importer","version":"1.1.1","tagline":"Import Gcode to blender as paths","archive_hash":"sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29","archive_size":2397,"archive_url":"https://extensions.blender.org/download/sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29/add-on-simple-gcode-importer-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-gcode-importer/","maintainer":"kmnunley","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"controller_link","schema_version":"1.0.0","name":"Controller Link","version":"1.0.1","tagline":"Use a gamepad as input","archive_hash":"sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f","archive_size":16281033,"archive_url":"https://extensions.blender.org/download/sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f/add-on-controller-link-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/controller-link/","maintainer":"globglob3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"glare_node_controller","schema_version":"1.0.0","name":"Glare Node Controller","version":"2.3.3","tagline":"panel to control Glare","archive_hash":"sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68","archive_size":3563,"archive_url":"https://extensions.blender.org/download/sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68/add-on-glare-node-controller-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/glare-node-controller/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Render"]},{"id":"dragonff","schema_version":"1.0.0","name":"DragonFF","version":"1.1.0","tagline":"Add-on to edit RenderWare Formats (.dff, .txd, .col)","archive_hash":"sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e","archive_size":225580,"archive_url":"https://extensions.blender.org/download/sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e/add-on-dragonff-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragonff/","maintainer":"Parik","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export DFF/TXD/COL/IPL/IDE from/to disk"},"tags":["Import-Export","3D View","Mesh","Material"]},{"id":"maya_pivot","schema_version":"1.0.0","name":"Maya Pivot","version":"1.0.0","tagline":"Implements a Maya-like pivot system in Blender","archive_hash":"sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2","archive_size":16036,"archive_url":"https://extensions.blender.org/download/sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2/add-on-maya-pivot-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maya-pivot/","maintainer":"Zinkenite","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"Blueprint_Paper_Theme","schema_version":"1.0.0","name":"Blueprint_Paper_Theme","version":"2.2.3","tagline":"Technical Drawing","archive_hash":"sha256:f87df359ab7de30ec42e494c4b239897936cac895fadf9b5f3c9e93385ec069b","archive_size":5715,"archive_url":"https://extensions.blender.org/download/sha256:f87df359ab7de30ec42e494c4b239897936cac895fadf9b5f3c9e93385ec069b/theme-blueprint-paper-theme-v2.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-paper-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"jiggle_physics","schema_version":"1.0.0","name":"Jiggle Physics","version":"4.5.1","tagline":"Add stretchy jiggle physics to your Blender rigs","archive_hash":"sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab","archive_size":33411,"archive_url":"https://extensions.blender.org/download/sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab/add-on-jiggle-physics-v4.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/jiggle-physics/","maintainer":"naelstrof","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paws_bakery","schema_version":"1.0.0","name":"PAWS: Bakery","version":"0.5.1","tagline":"Texture Baking tools for Game-Ready pipeline by Pawsgineer","archive_hash":"sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0","archive_size":165829,"archive_url":"https://extensions.blender.org/download/sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0/add-on-paws-bakery-v0.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paws-bakery/","maintainer":"Steve-Paws","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","Pipeline","Material"]},{"id":"MakePlanarFacesPlus","schema_version":"1.0.0","name":"Make Planar Faces Plus","version":"1.0.6","tagline":"Powerful Make Planar Faces Operator","archive_hash":"sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a","archive_size":257221,"archive_url":"https://extensions.blender.org/download/sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a/add-on-makeplanarfacesplus-v1.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/makeplanarfacesplus/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Mesh"]},{"id":"shape_key_mirror_plus","schema_version":"1.0.0","name":"Shape Key Mirror Plus","version":"1.9.0","tagline":"Mirror shape key deltas across symmetric axes","archive_hash":"sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339","archive_size":17431,"archive_url":"https://extensions.blender.org/download/sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339/add-on-shape-key-mirror-plus-v1.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-mirror-plus/","maintainer":"Ciyorie","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"marchingcube","schema_version":"1.0.0","name":"Marching Cube","version":"0.1.0","tagline":"Generate iso-surface meshes using the Marching Cubes algorithm","archive_hash":"sha256:170039384f6ea5ee47454353fa0b6b88491223ed95f9a20bada47625294957e1","archive_size":41468675,"archive_url":"https://extensions.blender.org/download/sha256:170039384f6ea5ee47454353fa0b6b88491223ed95f9a20bada47625294957e1/add-on-marchingcube-v0.1.0-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/marchingcube/","maintainer":"Thomas-Berger","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Add Mesh"]},{"id":"terrainmixer","schema_version":"1.0.0","name":"Terrain Mixer","version":"3.1.2","tagline":"Easy to use shader-based terrain generator for Cycles","archive_hash":"sha256:2a695aac2b7966c0a64077ae76b7cfc1bfff857382250820e367a4be00852efd","archive_size":52570647,"archive_url":"https://extensions.blender.org/download/sha256:2a695aac2b7966c0a64077ae76b7cfc1bfff857382250820e367a4be00852efd/add-on-terrainmixer-v3.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/terrainmixer/","maintainer":"zets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Easily replace default image files with your own","network":"Documentation and tutorials available online"},"tags":["Add Mesh","Bake","Material"]},{"id":"Viewport_stabilizer","schema_version":"1.0.0","name":"Viewport stabilizer","version":"1.0.2","tagline":"Stabilise 3d point on your screen","archive_hash":"sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1","archive_size":5207,"archive_url":"https://extensions.blender.org/download/sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1/add-on-viewport-stabilizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-stabilizer/","maintainer":"Yaroslav_Yushk","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Tracking"]},{"id":"multiple_camera_render","schema_version":"1.0.0","name":"Multiple Camera Render","version":"4.4.0","tagline":"Sequential rendering from multiple cameras","archive_hash":"sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441","archive_size":135372,"archive_url":"https://extensions.blender.org/download/sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441/add-on-multiple-camera-render-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multiple-camera-render/","maintainer":"ivan-perevala","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Writing execution log files inside extension directory"},"tags":["Render","Animation","Camera","3D View"]},{"id":"set_vertex_distance","schema_version":"1.0.0","name":"Set Vertex Distance","version":"1.0.0","tagline":"Set distance between two vertices along a specific axis","archive_hash":"sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f","archive_size":2537,"archive_url":"https://extensions.blender.org/download/sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f/add-on-set-vertex-distance-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-vertex-distance/","maintainer":"alicoskun","license":["SPDX:GPL-3.0-or-later"]},{"id":"modifer_stack_manager","schema_version":"1.0.0","name":"Modifier Stack Manager","version":"1.1.1","tagline":"A UI List implementation for Blender's modifier stack","archive_hash":"sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996","archive_size":4750,"archive_url":"https://extensions.blender.org/download/sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996/add-on-modifer-stack-manager-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifer-stack-manager/","maintainer":"salaivv","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"cloud_midnight_teal","schema_version":"1.0.0","name":"Cloud Guy's Theme","version":"1.0.3","tagline":"Custom theme made by me and a friend","archive_hash":"sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816","archive_size":5920,"archive_url":"https://extensions.blender.org/download/sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816/theme-cloud-midnight-teal-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cloud-midnight-teal/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Cad_measure_extension","schema_version":"1.0.0","name":"Cad_Dimensions","version":"2.0.0","tagline":"Extension for a new measuring system","archive_hash":"sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb","archive_size":251303,"archive_url":"https://extensions.blender.org/download/sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb/add-on-cad-measure-extension-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cad-measure-extension/","maintainer":"Mr.Nobody3d","license":["SPDX:GPL-3.0-or-later"]},{"id":"Bbrush","schema_version":"1.0.0","name":"Bbrush","version":"1.4.7","tagline":"Sculpting using only a pen and keyboard","archive_hash":"sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96","archive_size":543050,"archive_url":"https://extensions.blender.org/download/sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96/add-on-bbrush-v1.4.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bbrush/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Keymap file load, View navigation texture load"},"tags":["Sculpt"]},{"id":"geonode_to_shapekey","schema_version":"1.0.0","name":"Geonode To Shapekey","version":"1.1.0","tagline":"Convert geometry nodes to shapekeys. Useful for glTF export","archive_hash":"sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc","archive_size":5068,"archive_url":"https://extensions.blender.org/download/sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc/add-on-geonode-to-shapekey-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-to-shapekey/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes","Pipeline"]},{"id":"nocturna_theme","schema_version":"1.0.0","name":"Nocturna","version":"1.2.1","tagline":"Nocturna - A Dark Theme for Blender","archive_hash":"sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7","archive_size":5825,"archive_url":"https://extensions.blender.org/download/sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7/theme-nocturna-theme-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/nocturna-theme/","maintainer":"AlejandroSQR","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"better_bend","schema_version":"1.0.0","name":"Better Bend","version":"1.1.0","tagline":"Cinema 4D-style deformers for Blender","archive_hash":"sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91","archive_size":4729,"archive_url":"https://extensions.blender.org/download/sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91/add-on-better-bend-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/better-bend/","maintainer":"Lije.Morgan","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"capture_thumbnails_from_viewport","schema_version":"1.0.0","name":"Asset Browser: Capture Thumbnail from Viewport","version":"1.0.3","tagline":"Add new thumbnails for you asset based on the current viewport","archive_hash":"sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6","archive_size":1759,"archive_url":"https://extensions.blender.org/download/sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6/add-on-capture-thumbnails-from-viewport-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/capture-thumbnails-from-viewport/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create a .png in temp folder"},"tags":["Pipeline"]},{"id":"skin_weights_copypaster","schema_version":"1.0.0","name":"Skin Weights Copypaster","version":"0.3.3","tagline":"Copies skin weights from one vertex to selection","archive_hash":"sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3","archive_size":16850,"archive_url":"https://extensions.blender.org/download/sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3/add-on-skin-weights-copypaster-v0.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-weights-copypaster/","maintainer":"Ihor-Spasivskyi","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"MAD","schema_version":"1.0.0","name":"MAD (Microphone Audio Driver)","version":"0.1.6","tagline":"Use your Microphone as an Animation Driver in Blender","archive_hash":"sha256:fd2c01fb744c526daa1d1a4020d315cbf2568bd18460d528a3dfb0a4daf3232b","archive_size":663187,"archive_url":"https://extensions.blender.org/download/sha256:fd2c01fb744c526daa1d1a4020d315cbf2568bd18460d528a3dfb0a4daf3232b/add-on-mad-v0.1.6-windows-x64-windows-arm64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mad/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"permissions":{"microphone":"Capture audio input for real-time animation"},"platforms":["windows-x64","windows-arm64"],"tags":["Rigging","Animation"]},{"id":"iocgpoly_lip_sync","schema_version":"1.0.0","name":"Lip Sync","version":"2.3.2","tagline":"Automatic lip sync for your Blender models","archive_hash":"sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3","archive_size":37476376,"archive_url":"https://extensions.blender.org/download/sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3/add-on-iocgpoly-lip-sync-v2.3.2-windows-x64.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/iocgpoly-lip-sync/","maintainer":"Charley3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Models / Extract libs to disk","network":"Need to download Voices Models to enable lip sync"},"platforms":["windows-x64"],"tags":["Animation","Sequencer"]},{"id":"FakeBones","schema_version":"1.0.0","name":"FakeBones","version":"1.0.7","tagline":"enhance armature visualization","archive_hash":"sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1","archive_size":4158,"archive_url":"https://extensions.blender.org/download/sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1/add-on-fakebones-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fakebones/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Steam","schema_version":"1.0.0","name":"Steam","version":"2.0.0","tagline":"Inspired by the old Steam UI. ","archive_hash":"sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98","archive_size":5570,"archive_url":"https://extensions.blender.org/download/sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98/theme-steam-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/steam/","maintainer":"ArtinŌr","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"AnimCurveSorter","schema_version":"1.0.0","name":"Anim Curve Sorter","version":"1.0.1","tagline":"Easily organise your animation curves","archive_hash":"sha256:240d33165889039d96828f22720873bddad96c602b0914929cfbd2ddca191b9f","archive_size":4902,"archive_url":"https://extensions.blender.org/download/sha256:240d33165889039d96828f22720873bddad96c602b0914929cfbd2ddca191b9f/add-on-animcurvesorter-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animcurvesorter/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ccustomnodes","schema_version":"1.0.0","name":"Object Utility Nodes","version":"1.0.3","tagline":"Custom nodes in new node editor","archive_hash":"sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec","archive_size":2710932,"archive_url":"https://extensions.blender.org/download/sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec/add-on-ccustomnodes-v1.0.3-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ccustomnodes/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save colorwheel pictures from/to temp folder"},"platforms":["windows-x64"],"tags":["Node"]},{"id":"easymesh_batch_exporter","schema_version":"1.0.0","name":"EasyMesh Batch Exporter","version":"1.5.0","tagline":"Streamlined mesh export for game development workflows","archive_hash":"sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6","archive_size":84118,"archive_url":"https://extensions.blender.org/download/sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6/add-on-easymesh-batch-exporter-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easymesh-batch-exporter/","maintainer":"spec-arte","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export mesh files to the specified directory"},"tags":["Import-Export"]},{"id":"SuperDuperBatchExporter","schema_version":"1.0.0","name":"Super Duper Batch Exporter","version":"2.7.1","tagline":"One click export to multiple files","archive_hash":"sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6","archive_size":27233,"archive_url":"https://extensions.blender.org/download/sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6/add-on-superduperbatchexporter-v2.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/superduperbatchexporter/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk & create subdirectories in output directory"},"tags":["Import-Export"]},{"id":"measure_and_scale","schema_version":"1.0.0","name":"Measure and Scale","version":"1.1.6","tagline":"Measure and Scale object uniformaly","archive_hash":"sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5","archive_size":9679,"archive_url":"https://extensions.blender.org/download/sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5/add-on-measure-and-scale-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/measure-and-scale/","maintainer":"Belaid-ZIANE","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"Enhanced_Top_Bar","schema_version":"1.0.0","name":"Enhanced Top Bar","version":"1.0.4","tagline":"Easy access to your ViewLayers rendering properties","archive_hash":"sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5","archive_size":6863,"archive_url":"https://extensions.blender.org/download/sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5/add-on-enhanced-top-bar-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/enhanced-top-bar/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Mesh2Rig","schema_version":"1.0.0","name":"Mesh2Rig","version":"2.5.0","tagline":"Transfer simulation, shape keys and other to rig animation","archive_hash":"sha256:5c8623854ee991516160767ee929f214a96e367fa416266866479d133652674a","archive_size":16675,"archive_url":"https://extensions.blender.org/download/sha256:5c8623854ee991516160767ee929f214a96e367fa416266866479d133652674a/add-on-mesh2rig-v2.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh2rig/","maintainer":"Sporenoe3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Bake","Game Engine","Pipeline"]},{"id":"Individual_Camera_Properties","schema_version":"1.0.0","name":"Individual Camera Properties","version":"0.0.6","tagline":"Resolution, Scene and Render properties for each camera instance","archive_hash":"sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1","archive_size":5858,"archive_url":"https://extensions.blender.org/download/sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1/add-on-individual-camera-properties-v0.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/individual-camera-properties/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"VSE_SRT_Subtitle_Importer_4_2_extension","schema_version":"1.0.0","name":"SRT Subtitle Importer/Exporter","version":"2.0.0","tagline":"Import/Export SRT subtitle files to/from VSE strips","archive_hash":"sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64","archive_size":7448,"archive_url":"https://extensions.blender.org/download/sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64/add-on-vse-srt-subtitle-importer-4-2-extension-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/vse-srt-subtitle-importer-4-2-extension/","maintainer":"PoYakong","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"DorchaLiath","schema_version":"1.0.0","name":"Dorcha Liath","version":"5.0.1","tagline":"Dark Grey","archive_hash":"sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d","archive_size":5206,"archive_url":"https://extensions.blender.org/download/sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d/theme-dorchaliath-v5.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dorchaliath/","maintainer":"rory-fly","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"QuickCatalogs","schema_version":"1.0.0","name":"Quick Catalogs ( Asset Browser )","version":"1.0.1","tagline":"Make Asset Catalogs from selected Collections","archive_hash":"sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4","archive_size":2298,"archive_url":"https://extensions.blender.org/download/sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4/add-on-quickcatalogs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickcatalogs/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"import_export_skin_weights","schema_version":"1.0.0","name":"Import Export Skin Weights","version":"1.0.1","tagline":"Import and export skin weights for Blender","archive_hash":"sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412","archive_size":16987,"archive_url":"https://extensions.blender.org/download/sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412/add-on-import-export-skin-weights-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-export-skin-weights/","maintainer":"Nguyen-Phuc-Nguyen","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Import-Export"]},{"id":"menace","schema_version":"1.0.0","name":"Menace","version":"2.0.0","tagline":"The official HugeMenace theme for Blender","archive_hash":"sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d","archive_size":5448,"archive_url":"https://extensions.blender.org/download/sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d/theme-menace-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/menace/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"solid_boot","schema_version":"1.0.0","name":"Solid Boot","version":"1.1.0","tagline":"3D Views loaded in Solid Mode rather Material Preview","archive_hash":"sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa","archive_size":15759,"archive_url":"https://extensions.blender.org/download/sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa/add-on-solid-boot-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/solid-boot/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"neon_nexus","schema_version":"1.0.0","name":"Neon Nexus","version":"1.3.0","tagline":"A futuristic neon theme for Blender","archive_hash":"sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a","archive_size":6154,"archive_url":"https://extensions.blender.org/download/sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a/theme-neon-nexus-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neon-nexus/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"SaveSelection","schema_version":"1.0.0","name":"Save Selection","version":"1.0.5","tagline":"Save selected objects in Blender Format","archive_hash":"sha256:615594aed9531a69fb49db5f928888886812f5ed83a63974a694a21f0e8f769e","archive_size":3694,"archive_url":"https://extensions.blender.org/download/sha256:615594aed9531a69fb49db5f928888886812f5ed83a63974a694a21f0e8f769e/add-on-saveselection-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/saveselection/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"grey_orange","schema_version":"1.0.0","name":"Grey Orange","version":"3.0.1","tagline":"Dark neutral grey theme with orange accents","archive_hash":"sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085","archive_size":6581,"archive_url":"https://extensions.blender.org/download/sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085/theme-grey-orange-v3.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/grey-orange/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neutro_Laranja","schema_version":"1.0.0","name":"Neutro Laranja","version":"2.0.0","tagline":"Light and Orange","archive_hash":"sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7","archive_size":6441,"archive_url":"https://extensions.blender.org/download/sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7/theme-neutro-laranja-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutro-laranja/","maintainer":"Push","license":["SPDX:GPL-3.0-or-later"]},{"id":"quickj","schema_version":"1.0.0","name":"Quick J ( Connect Vertex Path )","version":"1.2.0","tagline":"Quickly connect vertices under the cursor","archive_hash":"sha256:4c7a02ff221bd957d9d8be2cadf5519a2bc68adb9ca7960abb5bbe246dab1905","archive_size":2524,"archive_url":"https://extensions.blender.org/download/sha256:4c7a02ff221bd957d9d8be2cadf5519a2bc68adb9ca7960abb5bbe246dab1905/add-on-quickj-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickj/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"Batch_Material_Helper","schema_version":"1.0.0","name":"Batch Material Helper","version":"1.0.4","tagline":"Helps you quickly modify materials","archive_hash":"sha256:032f4139af08bf03b8b17b16b3ab9eeb9183fa3db1c97fc875ba29153e775688","archive_size":3408,"archive_url":"https://extensions.blender.org/download/sha256:032f4139af08bf03b8b17b16b3ab9eeb9183fa3db1c97fc875ba29153e775688/add-on-batch-material-helper-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-material-helper/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"UV_Flatten_Tool","schema_version":"1.0.0","name":"UV_Flatten_Tool","version":"1.0.7","tagline":"Flatten mesh to active UV coordinates and store as shape key","archive_hash":"sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b","archive_size":2774,"archive_url":"https://extensions.blender.org/download/sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b/add-on-uv-flatten-tool-v1.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/uv-flatten-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"fractal_family","schema_version":"1.0.0","name":"Fractal Family","version":"1.1.4","tagline":"Create fractal curves with ease using complex integer lattices","archive_hash":"sha256:47b64ab45e2f10acfcfe92bf0c2272a53a17fe6736f86246b7906a1611a3a587","archive_size":16976,"archive_url":"https://extensions.blender.org/download/sha256:47b64ab45e2f10acfcfe92bf0c2272a53a17fe6736f86246b7906a1611a3a587/add-on-fractal-family-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fractal-family/","maintainer":"imare32","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"apply_modifiers_with_shape_keys","schema_version":"1.0.0","name":"Apply modifier with shape keys","version":"1.0.4","tagline":"Applies modifiers on objects even if they have shape keys","archive_hash":"sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab","archive_size":19128,"archive_url":"https://extensions.blender.org/download/sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab/add-on-apply-modifiers-with-shape-keys-v1.0.4.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/apply-modifiers-with-shape-keys/","maintainer":"Orange Turbine","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Modeling","Rigging"]},{"id":"animation_transform_offset","schema_version":"1.0.0","name":"Animation Transform Offset","version":"1.0.0","tagline":"Transform objects and offset their animations in one go","archive_hash":"sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc","archive_size":15793,"archive_url":"https://extensions.blender.org/download/sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc/add-on-animation-transform-offset-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/animation-transform-offset/","maintainer":"softyoda","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"multi_user","schema_version":"1.0.0","name":"Multiuser","version":"0.7.1","tagline":"Enable real-time collaborative workflow inside blender","archive_hash":"sha256:c14e05904a604a8c8305c88d0d5a79aaffcad2c8dd4a5156c552a47619bfda02","archive_size":2271596,"archive_url":"https://extensions.blender.org/download/sha256:c14e05904a604a8c8305c88d0d5a79aaffcad2c8dd4a5156c552a47619bfda02/add-on-multi-user-v0.7.1-windows-x64.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/multi-user/","maintainer":"slumber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Need to sync scene data to server"},"platforms":["windows-x64"]},{"id":"references_overlays","schema_version":"1.0.0","name":"References Overlays","version":"2.2.8","tagline":"PureRef for Blender. You can add references in the 3D Viewport","archive_hash":"sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010","archive_size":14729,"archive_url":"https://extensions.blender.org/download/sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010/add-on-references-overlays-v2.2.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/references-overlays/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import BMP/TIFF/PNG/JPG/JPEG/GIF/MP4/WEBM from/to disk","clipboard":"Paste image from the Clipboard"},"tags":["3D View","User Interface"]},{"id":"altview","schema_version":"1.0.0","name":"AltView","version":"1.0.1","tagline":"Switch views + lock/unlock rotation","archive_hash":"sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60","archive_size":4561,"archive_url":"https://extensions.blender.org/download/sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60/add-on-altview-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/altview/","maintainer":"Iurii-Tiuzhin","license":["SPDX:GPL-3.0-or-later"]},{"id":"remove_static_fcurves","schema_version":"1.0.0","name":"Remove Static FCurves","version":"0.4.0","tagline":"Clean up animation channels that have no data","archive_hash":"sha256:3cd0f3e31abab7e43f94fe836167b818f5e9de0f62563c635abbf2da976b120d","archive_size":6729,"archive_url":"https://extensions.blender.org/download/sha256:3cd0f3e31abab7e43f94fe836167b818f5e9de0f62563c635abbf2da976b120d/add-on-remove-static-fcurves-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/remove-static-fcurves/","maintainer":"lokimckay","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paint_system","schema_version":"1.0.0","name":"Paint System","version":"2.1.8","tagline":"Addon for adding painting system to blender","archive_hash":"sha256:cbb698f9fe671f9ff7a8cbb433d9f50eb472da9369cacf8596e2fe62e34dab48","archive_size":3871209,"archive_url":"https://extensions.blender.org/download/sha256:cbb698f9fe671f9ff7a8cbb433d9f50eb472da9369cacf8596e2fe62e34dab48/add-on-paint-system-v2.1.8-linux-x64-windows-x64-macos-x64-macos-arm64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-system/","maintainer":"Tawan-Sunflower","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and saving images / detecting image editors","network":"Update donation information"},"platforms":["linux-x64","windows-x64","macos-x64","macos-arm64","windows-arm64"],"tags":["Paint"]},{"id":"pattern_collections","schema_version":"1.0.0","name":"Pattern Collections","version":"1.0.5","tagline":"Pattern-Based Collections for Blender","archive_hash":"sha256:b1b35f21b93a388be6cf9c8aeb7daf187f9671c6c938c696ed74496438e9f8fb","archive_size":1722144,"archive_url":"https://extensions.blender.org/download/sha256:b1b35f21b93a388be6cf9c8aeb7daf187f9671c6c938c696ed74496438e9f8fb/add-on-pattern-collections-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pattern-collections/","maintainer":"Martin-Lorentzon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk to provide JSON File I/O"},"tags":["Pipeline","Scene"]},{"id":"PlaceHelper","schema_version":"1.0.0","name":"Place Helper","version":"1.3.8","tagline":"Easily place objects in Blender","archive_hash":"sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16","archive_size":66786,"archive_url":"https://extensions.blender.org/download/sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16/add-on-placehelper-v1.3.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/placehelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Object"]},{"id":"headsup_warnings","schema_version":"1.0.0","name":"HeadsUp Warnings","version":"1.1.0","tagline":"Display UI warnings to avoid and resolve common mistakes","archive_hash":"sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880","archive_size":33611,"archive_url":"https://extensions.blender.org/download/sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880/add-on-headsup-warnings-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/headsup-warnings/","maintainer":"ManuelLuellau","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check filepaths to validate if Textures are missing"},"tags":["3D View","Compositing","Render"]},{"id":"unlooped","schema_version":"1.0.0","name":"Unlooped","version":"1.0.1","tagline":"Prevent Blender from looping scene playback","archive_hash":"sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4","archive_size":14253,"archive_url":"https://extensions.blender.org/download/sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4/add-on-unlooped-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/unlooped/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Blend95","schema_version":"1.0.0","name":"Blend95","version":"0.9.9","tagline":"90s, xp, old","archive_hash":"sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f","archive_size":5908,"archive_url":"https://extensions.blender.org/download/sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f/theme-blend95-v0.9.9.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/blend95/","maintainer":"romanasdf1","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Quick_Studio_Light","schema_version":"1.0.0","name":"Quick Studio Light","version":"1.1.2","tagline":"Simple and fast lighting with improved selection","archive_hash":"sha256:4fe5330d7b3d55d4b63dd5b52a210d53278022c0a45541c4f9f55591c0726a59","archive_size":78932,"archive_url":"https://extensions.blender.org/download/sha256:4fe5330d7b3d55d4b63dd5b52a210d53278022c0a45541c4f9f55591c0726a59/add-on-quick-studio-light-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-studio-light/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"hyperfy_tools","schema_version":"1.0.0","name":"Hyperfy Tools","version":"1.5.0","tagline":"Tools for creating Hyperfy assets","archive_hash":"sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e","archive_size":25418,"archive_url":"https://extensions.blender.org/download/sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e/add-on-hyperfy-tools-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hyperfy-tools/","maintainer":"HowieDuhzit","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export GLB files from/to disk"},"tags":["Physics","Import-Export","3D View","Game Engine","Object"]},{"id":"typst_importer","schema_version":"1.0.0","name":"Typst Importer","version":"0.2.4","tagline":"Render mathematical equations and code blocks","archive_hash":"sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081","archive_size":25708353,"archive_url":"https://extensions.blender.org/download/sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081/add-on-typst-importer-v0.2.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/typst-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"node_align","schema_version":"1.0.0","name":"Node Align(节点对齐)","version":"3.2.0","tagline":"Shift+Q|Ctrl+Q Pie menu-Align Nodes in Multiple Ways(多种方式对齐节点)","archive_hash":"sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8","archive_size":24154,"archive_url":"https://extensions.blender.org/download/sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8/add-on-node-align-v3.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-align/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"gp_tween","schema_version":"1.0.0","name":"GP Tween (c)","version":"2.4.0","tagline":"Quick Grease Pencil Tweening","archive_hash":"sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25","archive_size":169988,"archive_url":"https://extensions.blender.org/download/sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25/add-on-gp-tween-v2.4.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-tween/","maintainer":"cosmosmythos","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write GP Tween nodegroup asset from/to disk","clipboard":"Copy and Paste GP Tween nodegroup"},"tags":["Grease Pencil","Animation","Geometry Nodes"]},{"id":"time_tracker","schema_version":"1.0.0","name":"Time Tracker","version":"0.2.4","tagline":"This extension tracks your time spent in blend files","archive_hash":"sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9","archive_size":23923,"archive_url":"https://extensions.blender.org/download/sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9/add-on-time-tracker-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-tracker/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save timing data to disk"},"tags":["System"]},{"id":"simple_audio_visualizer","schema_version":"1.0.0","name":"Simple Audio Visualizer","version":"1.2.0","tagline":"Creates a simple audio visualizer","archive_hash":"sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190","archive_size":6391,"archive_url":"https://extensions.blender.org/download/sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190/add-on-simple-audio-visualizer-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-audio-visualizer/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import audio from disk"},"tags":["Animation"]},{"id":"easy_clouds","schema_version":"1.0.0","name":"Easy Clouds","version":"2.2.0","tagline":"Procedural clouds that are easy to customize","archive_hash":"sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd","archive_size":10614,"archive_url":"https://extensions.blender.org/download/sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd/add-on-easy-clouds-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easy-clouds/","maintainer":"LunarKitten","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Add Mesh","Node"]},{"id":"MustardSimplify","schema_version":"1.0.0","name":"Mustard Simplify","version":"2025.4.1","tagline":"Tool to simplify scenes for improved viewport performance","archive_hash":"sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1","archive_size":42341,"archive_url":"https://extensions.blender.org/download/sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1/add-on-mustardsimplify-v2025.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mustardsimplify/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"QuickTools_v3","schema_version":"1.0.0","name":"Grease Pencil QuickTools_v3","version":"1.1.5","tagline":"Grease Pencil Toobar in N sidebar with auto mode switch","archive_hash":"sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3","archive_size":53225,"archive_url":"https://extensions.blender.org/download/sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3/add-on-quicktools-v3-v1.1.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/quicktools-v3/","maintainer":"PongBuster","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"named_attribute_list","schema_version":"1.0.0","name":"Named Attribute List(命名属性列表)","version":"2.8.2","tagline":"Quickly Add Attribute Node in GN and Shader(几何节点和材质里快速添加属性节点)","archive_hash":"sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772","archive_size":98415,"archive_url":"https://extensions.blender.org/download/sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772/add-on-named-attribute-list-v2.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/named-attribute-list/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"CurveFitting","schema_version":"1.0.0","name":"Curve Fitting","version":"0.3.0","tagline":"Smooth out uneven vertex arrangements keeping original shape","archive_hash":"sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a","archive_size":22449,"archive_url":"https://extensions.blender.org/download/sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a/add-on-curvefitting-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curvefitting/","maintainer":"zuda77","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"Utilities_Gadget","schema_version":"1.0.0","name":"Utilities Gadget","version":"1.1.5","tagline":"Batch rendering and model conversio","archive_hash":"sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc","archive_size":6095,"archive_url":"https://extensions.blender.org/download/sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc/add-on-utilities-gadget-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/utilities-gadget/","maintainer":"HurcaGuari","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"bbone_Tools","schema_version":"1.0.0","name":"the bendybones toolkit","version":"1.6.0","tagline":"a simple toolkit for rigging with bendybones","archive_hash":"sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79","archive_size":4337,"archive_url":"https://extensions.blender.org/download/sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79/add-on-bbone-tools-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bbone-tools/","maintainer":"Felipe-G","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"viewtools","schema_version":"1.0.0","name":"ViewTools","version":"1.0.0","tagline":"Essential Viewport tools for industrial workflows","archive_hash":"sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922","archive_size":4857,"archive_url":"https://extensions.blender.org/download/sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922/add-on-viewtools-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/viewtools/","maintainer":"Ishara-Sandeepa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","Mesh","Object"]},{"id":"Coloraide","schema_version":"1.0.0","name":"Coloraide","version":"1.5.1","tagline":"Advanced color picking and color management tools","archive_hash":"sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad","archive_size":75163,"archive_url":"https://extensions.blender.org/download/sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad/add-on-coloraide-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/coloraide/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Grease Pencil","3D View"]},{"id":"persiantype","schema_version":"1.0.0","name":"Persian type","version":"2.0.1","tagline":"Add Persian/Arabic type directly to Blender","archive_hash":"sha256:f519fd2e627f369686c5b9272526326b5cfb37e2555deb39f1a17299b8f1cb9e","archive_size":1952767,"archive_url":"https://extensions.blender.org/download/sha256:f519fd2e627f369686c5b9272526326b5cfb37e2555deb39f1a17299b8f1cb9e/add-on-persiantype-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/persiantype/","maintainer":"Damyar","license":["SPDX:GPL-3.0-or-later"]},{"id":"group_input_helper","schema_version":"1.0.0","name":"Group input helper(节点组输入助手)","version":"2.9.3","tagline":"Qucik add/split/merge Group Input node/socket(快速添加拆分合并移动组输入节点接口)","archive_hash":"sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb","archive_size":76074,"archive_url":"https://extensions.blender.org/download/sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb/add-on-group-input-helper-v2.9.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/group-input-helper/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"shutdown_after_render","schema_version":"1.0.0","name":"Shutdown after render","version":"0.4.0","tagline":"Automatically shuts down your PC after your render finishes","archive_hash":"sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a","archive_size":4087,"archive_url":"https://extensions.blender.org/download/sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a/add-on-shutdown-after-render-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shutdown-after-render/","maintainer":"David-Bühler","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"io_scene_pod","schema_version":"1.0.0","name":"UbiSoft Pod formats","version":"0.32.0","tagline":"Import-Export Pod circuits, ghosts, images, and vehicles","archive_hash":"sha256:b00e12689f65337a4e3b6351de79fdd1115f57c9c25779b4da98d24e8ba48755","archive_size":7204352,"archive_url":"https://extensions.blender.org/download/sha256:b00e12689f65337a4e3b6351de79fdd1115f57c9c25779b4da98d24e8ba48755/add-on-io-scene-pod-v0.32.0-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-scene-pod/","maintainer":"Syroot","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export","Scene"]},{"id":"has_paint_layers","schema_version":"1.0.0","name":"HAS Paint Layers","version":"0.8.93","tagline":"Layers for texture painting","archive_hash":"sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255","archive_size":68078,"archive_url":"https://extensions.blender.org/download/sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255/add-on-has-paint-layers-v0.8.93.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/has-paint-layers/","maintainer":"Hirourk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store temporary images"},"tags":["Paint","Bake"]},{"id":"shapekey_keeper","schema_version":"1.0.0","name":"SKkeeper","version":"1.8.2","tagline":"Applies modifiers while keeping shapekeys and drivers","archive_hash":"sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678","archive_size":20217,"archive_url":"https://extensions.blender.org/download/sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678/add-on-shapekey-keeper-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapekey-keeper/","maintainer":"Nidus","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"RetroGrey","schema_version":"1.0.0","name":"RetroGrey","version":"1.3.2","tagline":"Theme inspired by the grey color of 90s computer devices","archive_hash":"sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38","archive_size":6800,"archive_url":"https://extensions.blender.org/download/sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38/theme-retrogrey-v1.3.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/retrogrey/","maintainer":"Oskar_Wasiluk","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"datablock_utils","schema_version":"1.0.0","name":"Data-Block Utilities","version":"1.3.0","tagline":"Show users, merge duplicates, find similar, and more","archive_hash":"sha256:ecbfa6cc02cb6620059c2cac9e6b109532b5626690f5562ac8a1b366412349c1","archive_size":1740275,"archive_url":"https://extensions.blender.org/download/sha256:ecbfa6cc02cb6620059c2cac9e6b109532b5626690f5562ac8a1b366412349c1/add-on-datablock-utils-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/datablock-utils/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System"]},{"id":"ambientcg_material_importer","schema_version":"1.0.0","name":"AmbientCG Material Importer","version":"1.4.0","tagline":"One-click material creation from AmbientCG","archive_hash":"sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082","archive_size":4167,"archive_url":"https://extensions.blender.org/download/sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082/add-on-ambientcg-material-importer-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ambientcg-material-importer/","maintainer":"Nino-Filiu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and cache textures to disk","network":"Makes calls to AmbientCG"},"tags":["Import-Export","Material"]},{"id":"cursor_plus","schema_version":"1.0.0","name":"3D Cursor Plus","version":"1.0.4","tagline":"Axes, undo and few other tools for your 3D Cursor","archive_hash":"sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47","archive_size":79566,"archive_url":"https://extensions.blender.org/download/sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47/add-on-cursor-plus-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cursor-plus/","maintainer":"chokavr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load gizmo presets and Pie menu configuration"},"tags":["3D View"]},{"id":"two_point_perspective","schema_version":"1.0.0","name":"Two-Point Perspective","version":"0.0.2","tagline":"Replaces the active camera with a two-point perspective one","archive_hash":"sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd","archive_size":17509,"archive_url":"https://extensions.blender.org/download/sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd/add-on-two-point-perspective-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/two-point-perspective/","maintainer":"Athina-Syntychaki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Grid_Dimensions","schema_version":"1.0.0","name":"Grid Dimensions/网格标注","version":"1.1.0","tagline":"Grid Dimensions/网格标注","archive_hash":"sha256:7df9c7f626d9990d222a6dc05613f2cafc6edb4b992b995545f91e11a53f0e80","archive_size":37347,"archive_url":"https://extensions.blender.org/download/sha256:7df9c7f626d9990d222a6dc05613f2cafc6edb4b992b995545f91e11a53f0e80/add-on-grid-dimensions-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-dimensions/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"mpfb","schema_version":"1.0.0","name":"MPFB","version":"2.0.14","tagline":"Human character generator and editor","archive_hash":"sha256:c0484d4f74e468262897b575e6535f3d2b14ebb44b68b0b79e5b9121f632e504","archive_size":44911109,"archive_url":"https://extensions.blender.org/download/sha256:c0484d4f74e468262897b575e6535f3d2b14ebb44b68b0b79e5b9121f632e504/add-on-mpfb-v2.0.14.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mpfb/","maintainer":"Joel-Palmius","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save data","network":"(optional) Interact with local instance of MakeHuman"},"tags":["Add Mesh","Rigging"]},{"id":"motion_inspector","schema_version":"1.0.0","name":"Motion inspector","version":"0.2.9","tagline":"Inspect F-Curves and animated object movement","archive_hash":"sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53","archive_size":4834,"archive_url":"https://extensions.blender.org/download/sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53/add-on-motion-inspector-v0.2.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motion-inspector/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"modern_primitive","schema_version":"1.0.0","name":"Modern Primitive","version":"0.0.47","tagline":"Modern Primitive for Non-Destructive Modeling","archive_hash":"sha256:6393172dcda74824d5405b3611965fef7548ad66b9de8264b948357520d4fbde","archive_size":3275996,"archive_url":"https://extensions.blender.org/download/sha256:6393172dcda74824d5405b3611965fef7548ad66b9de8264b948357520d4fbde/add-on-modern-primitive-v0.0.47.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modern-primitive/","maintainer":"Degarashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry-Node from Add-on Directory"},"tags":["Add Mesh","Modeling"]},{"id":"greasepencil_nudge_frames","schema_version":"1.0.0","name":"Grease Pencil Nudge Frames","version":"0.1.1","tagline":"Modify exposure in the dopesheet with D/F","archive_hash":"sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f","archive_size":1738,"archive_url":"https://extensions.blender.org/download/sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f/add-on-greasepencil-nudge-frames-v0.1.1.zip","type":"add-on","blender_version_min":"4.3.1","website":"https://extensions.blender.org/add-ons/greasepencil-nudge-frames/","maintainer":"bergamote","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Grease Pencil"]},{"id":"Non_Destructive_Primitives","schema_version":"1.0.0","name":"ND Primitives","version":"0.2.46","tagline":"Non-Destructive Parametric Primitives in Blender","archive_hash":"sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8","archive_size":290494,"archive_url":"https://extensions.blender.org/download/sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8/add-on-non-destructive-primitives-v0.2.46.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/non-destructive-primitives/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry Nodes Objects from Add-on Folder"},"tags":["Modeling","Add Mesh"]},{"id":"node_pinyin","schema_version":"1.0.0","name":"szm/首字母","version":"1.2.0","tagline":"Enable node and modifier search with PinYin/支持节点和修改器的中文拼音搜索","archive_hash":"sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe","archive_size":40672,"archive_url":"https://extensions.blender.org/download/sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe/add-on-node-pinyin-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-pinyin/","maintainer":"Xinyu-Zhu","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"proto_game_asset_tools","schema_version":"1.0.0","name":"PROTO Game Asset Tools","version":"2.0.0","tagline":"Tools for game assets, improved export for Unreal, Unity, Godot","archive_hash":"sha256:4f2dff5513b046021466dc57e8c1b399682545e1d86b4feb47a56d45b5a853a4","archive_size":82467,"archive_url":"https://extensions.blender.org/download/sha256:4f2dff5513b046021466dc57e8c1b399682545e1d86b4feb47a56d45b5a853a4/add-on-proto-game-asset-tools-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/proto-game-asset-tools/","maintainer":"PROTOWLF","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX to disk","clipboard":"Copy and paste data"},"tags":["Import-Export","Game Engine"]},{"id":"b_subeditor","schema_version":"1.0.0","name":"B SubEditor","version":"1.0.1","tagline":"Sync subtitles in Text Editor/VSE","archive_hash":"sha256:ecf1dd66d0d2812603227a549d07efe010749e17149f7c3c247b07fa68f3cf5d","archive_size":6393,"archive_url":"https://extensions.blender.org/download/sha256:ecf1dd66d0d2812603227a549d07efe010749e17149f7c3c247b07fa68f3cf5d/add-on-b-subeditor-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-subeditor/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with subtitle files"},"tags":["Sequencer","Text Editor","Import-Export"]},{"id":"b_Unicode","schema_version":"1.0.0","name":"B Unicode","version":"1.0.2","tagline":"Access Unicode characters","archive_hash":"sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e","archive_size":5304,"archive_url":"https://extensions.blender.org/download/sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e/add-on-b-unicode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/b-unicode/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Sequencer","Text Editor"]},{"id":"sco_edgewise","schema_version":"1.0.0","name":"SCO EdgeWise","version":"2.0.3","tagline":"Measure distances, edge lengths, and angles in Edit Mode","archive_hash":"sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a","archive_size":137778,"archive_url":"https://extensions.blender.org/download/sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a/add-on-sco-edgewise-v2.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-edgewise/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"font_selector","schema_version":"1.0.0","name":"Font Selector","version":"3.2.2","tagline":"Browse available fonts from blender","archive_hash":"sha256:6f2006ea677059102fc7265f5dd0d9149ba80b93cbcef7d09d06aade32fda3c6","archive_size":1183546,"archive_url":"https://extensions.blender.org/download/sha256:6f2006ea677059102fc7265f5dd0d9149ba80b93cbcef7d09d06aade32fda3c6/add-on-font-selector-v3.2.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/font-selector/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files, Reading font files"},"tags":["Import-Export","System"]},{"id":"vertex_overlap","schema_version":"1.0.0","name":"Vertex Overlap","version":"1.1.0","tagline":"Alerts you to overlapping vertices in real-time","archive_hash":"sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14","archive_size":17220,"archive_url":"https://extensions.blender.org/download/sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14/add-on-vertex-overlap-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-overlap/","maintainer":"Shawn-Shipley","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"quick_resolution_setup","schema_version":"1.0.0","name":"Quick Resolution Setup","version":"1.1.0","tagline":"Quick Resolution Setup","archive_hash":"sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea","archive_size":23899,"archive_url":"https://extensions.blender.org/download/sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea/add-on-quick-resolution-setup-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-resolution-setup/","maintainer":"Hades-Su","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"audio_notifier","schema_version":"1.0.0","name":"Audio Notifier","version":"1.0.5","tagline":"Audio notifications for success, cancel and warning","archive_hash":"sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541","archive_size":36990,"archive_url":"https://extensions.blender.org/download/sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541/add-on-audio-notifier-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/audio-notifier/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"k_tools_mode_highlight","schema_version":"1.0.0","name":"K-Tools: Mode Highlight","version":"1.0.8","tagline":"Automatically change the header color based on the current mode","archive_hash":"sha256:7d1e680b0b1d313a1e874bd7f3b1c45503c1207f402da26284cbfddc1426c212","archive_size":4666,"archive_url":"https://extensions.blender.org/download/sha256:7d1e680b0b1d313a1e874bd7f3b1c45503c1207f402da26284cbfddc1426c212/add-on-k-tools-mode-highlight-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-mode-highlight/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"xray_selection_tools","schema_version":"1.0.0","name":"X-Ray Selection Tools","version":"4.9.2","tagline":"Box, lasso and circle selection tools with x-ray","archive_hash":"sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8","archive_size":85983,"archive_url":"https://extensions.blender.org/download/sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8/add-on-xray-selection-tools-v4.9.2.zip","type":"add-on","blender_version_min":"4.5.2","website":"https://extensions.blender.org/add-ons/xray-selection-tools/","maintainer":"MarshmallowCirno","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"autokey_highlight","schema_version":"1.0.0","name":"Autokey Highlight","version":"1.0.7","tagline":"Highlights the viewport when autokey is enabled","archive_hash":"sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8","archive_size":3186,"archive_url":"https://extensions.blender.org/download/sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8/add-on-autokey-highlight-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autokey-highlight/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View","System"]},{"id":"math_formula","schema_version":"1.0.0","name":"Math Formula","version":"2.2.0","tagline":"Quickly add nodes by typing in a formula","archive_hash":"sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27","archive_size":360600,"archive_url":"https://extensions.blender.org/download/sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27/add-on-math-formula-v2.2.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/math-formula/","maintainer":"WannesMalfait","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and writing custom implementations","clipboard":"Pasting formulas from clipboard"},"tags":["Node"]},{"id":"EdgeFlow","schema_version":"1.0.0","name":"EdgeFlow","version":"1.1.2","tagline":"Helps adjusting mesh geometry to curved surfaces","archive_hash":"sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1","archive_size":34350,"archive_url":"https://extensions.blender.org/download/sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1/add-on-edgeflow-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edgeflow/","maintainer":"Benjamin-Sauder","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"LightHepler","schema_version":"1.0.0","name":"Light Helper","version":"0.4.6","tagline":"Light Helper","archive_hash":"sha256:a99c5697ffcb22e6d7a64cd17d353137206b38b707519f03afcaa23933ba214d","archive_size":20722,"archive_url":"https://extensions.blender.org/download/sha256:a99c5697ffcb22e6d7a64cd17d353137206b38b707519f03afcaa23933ba214d/add-on-lighthepler-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lighthepler/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"lattice_helper","schema_version":"1.0.0","name":"Lattice Helper","version":"1.2.5","tagline":"Apply Lattice modifier to object(s) in object/edit mode","archive_hash":"sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4","archive_size":12464,"archive_url":"https://extensions.blender.org/download/sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4/add-on-lattice-helper-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lattice-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"color_randomizer","schema_version":"1.0.0","name":"Color Randomizer","version":"1.3.0","tagline":"Randomly assign colors to objects","archive_hash":"sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944","archive_size":10414,"archive_url":"https://extensions.blender.org/download/sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944/add-on-color-randomizer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-randomizer/","maintainer":"ilumetric","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"lumos","schema_version":"1.0.0","name":"Lumos","version":"3.2.1","tagline":"Bring your lighting to the next level","archive_hash":"sha256:ba3a80a1e6fd241a4d6a998f0bd26be10c79e60e3e45df390403b1d838bd3ba3","archive_size":43133,"archive_url":"https://extensions.blender.org/download/sha256:ba3a80a1e6fd241a4d6a998f0bd26be10c79e60e3e45df390403b1d838bd3ba3/add-on-lumos-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lumos/","maintainer":"Eqkoss","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"rmKit","schema_version":"1.0.0","name":"rmKit","version":"1.0.13","tagline":"Tools and Utils for Modeling and GameWorkflows","archive_hash":"sha256:25c336e8ad89518cb70c7a460ec07fa94d14bd7ebd6170974817d3ee3240b92c","archive_size":83033,"archive_url":"https://extensions.blender.org/download/sha256:25c336e8ad89518cb70c7a460ec07fa94d14bd7ebd6170974817d3ee3240b92c/add-on-rmkit-v1.0.13.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rmkit/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Mesh","Object","Material"]},{"id":"Duplication_Tool_addon","schema_version":"1.0.0","name":"Duplication Tool","version":"1.0.2","tagline":"Create copies with incremental names and materials","archive_hash":"sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864","archive_size":3052,"archive_url":"https://extensions.blender.org/download/sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864/add-on-duplication-tool-addon-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/duplication-tool-addon/","maintainer":"Vinay-chikkam","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","System"]},{"id":"sakura_poselib","schema_version":"1.0.0","name":"Sakura Poselib","version":"1.4.4","tagline":"Yet another Pose Library with handful features","archive_hash":"sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e","archive_size":56108,"archive_url":"https://extensions.blender.org/download/sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e/add-on-sakura-poselib-v1.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-poselib/","maintainer":"Kafuji","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load Poselib data as Json or CSV"},"tags":["Animation"]},{"id":"audio_exporter","schema_version":"1.0.0","name":"Audio Exporter","version":"1.1.0","tagline":"Export audio separate or combined files in VSE","archive_hash":"sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be","archive_size":6145,"archive_url":"https://extensions.blender.org/download/sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be/add-on-audio-exporter-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/audio-exporter/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it exports audio files"},"tags":["Sequencer"]},{"id":"Shadingplus","schema_version":"1.0.0","name":"Shading +","version":"1.1.2","tagline":"Shading pie for designers and artists","archive_hash":"sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8","archive_size":50492480,"archive_url":"https://extensions.blender.org/download/sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8/add-on-shadingplus-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shadingplus/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"caustics_baking_addon","schema_version":"1.0.0","name":"Caustics_Baking","version":"3.2.1","tagline":"Caustics Baking with Cycles","archive_hash":"sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e","archive_size":42951,"archive_url":"https://extensions.blender.org/download/sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e/add-on-caustics-baking-addon-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/caustics-baking-addon/","maintainer":"Benary","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"export images to disk"},"tags":["Bake","Lighting"]},{"id":"brushstroke_tools","schema_version":"1.0.0","name":"Brushstroke Tools","version":"1.1.2","tagline":"Brushstroke painting tools by the Blender Studio","archive_hash":"sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d","archive_size":29639997,"archive_url":"https://extensions.blender.org/download/sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d/add-on-brushstroke-tools-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/brushstroke-tools/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write brushstroke asset resources from/to disk"},"tags":["Paint","Geometry Nodes","Material"]},{"id":"node_color_tools","schema_version":"1.0.0","name":"Node Color Tools Pie","version":"1.0.3","tagline":"Quick, organized node colors with pie menu ease","archive_hash":"sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7","archive_size":4752,"archive_url":"https://extensions.blender.org/download/sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7/add-on-node-color-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"mesh_analysis_overlay","schema_version":"1.0.0","name":"Mesh Analysis Overlay","version":"4.1.0","tagline":"Mesh Analysis Overlay","archive_hash":"sha256:08b24bce782c7c8c72d47a3e2c8708a571f19538fed30d57d30fa874f7791a5c","archive_size":18588,"archive_url":"https://extensions.blender.org/download/sha256:08b24bce782c7c8c72d47a3e2c8708a571f19538fed30d57d30fa874f7791a5c/add-on-mesh-analysis-overlay-v4.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/mesh-analysis-overlay/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"gamiflow","schema_version":"1.0.0","name":"GamiFlow","version":"1.9.5","tagline":"Easier game asset creation","archive_hash":"sha256:1a06bbd84021bb9cc0ab7911e368282d56d491144ff061d69f850c7d3dc5ee6a","archive_size":160895,"archive_url":"https://extensions.blender.org/download/sha256:1a06bbd84021bb9cc0ab7911e368282d56d491144ff061d69f850c7d3dc5ee6a/add-on-gamiflow-v1.9.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gamiflow/","maintainer":"Mathieu.Einig","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX files to disk"},"tags":["Import-Export","Object"]},{"id":"Runlevel_Two","schema_version":"1.0.0","name":"Runlevel Two","version":"1.2.0","tagline":"A refined, distraction-free color palette, pleasing to the eye","archive_hash":"sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1","archive_size":5962,"archive_url":"https://extensions.blender.org/download/sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1/theme-runlevel-two-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/runlevel-two/","maintainer":"Rene-Smaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Accessibility","Colorful"]},{"id":"blenderdefender_gizmodalops","schema_version":"1.0.0","name":"Gizmodal Ops","version":"1.0.3","tagline":"An add-on that seamlessly blends Gizmo and Modal operations","archive_hash":"sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb","archive_size":24047,"archive_url":"https://extensions.blender.org/download/sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb/add-on-blenderdefender-gizmodalops-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blenderdefender-gizmodalops/","maintainer":"Beedy","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"render_overscan","schema_version":"1.0.0","name":"Render Overscan","version":"0.1.16","tagline":"Applies and manages overscan in renders","archive_hash":"sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa","archive_size":3933,"archive_url":"https://extensions.blender.org/download/sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa/add-on-render-overscan-v0.1.16.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/render-overscan/","maintainer":"efimpetelin","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"strip_array","schema_version":"1.0.0","name":"Strip Array","version":"1.1.0","tagline":"Array of duplicated strips, Customizable, Strips Display","archive_hash":"sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba","archive_size":4825,"archive_url":"https://extensions.blender.org/download/sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba/add-on-strip-array-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/strip-array/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"latticemagic","schema_version":"1.0.0","name":"Lattice Magic","version":"1.0.1","tagline":"Lattice-based deforming tools","archive_hash":"sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e","archive_size":29840,"archive_url":"https://extensions.blender.org/download/sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e/add-on-latticemagic-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/latticemagic/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"Show_Object_Data_Users_in_Viewport","schema_version":"1.0.0","name":"Show Collection/Object/Data Users in Viewport","version":"1.0.6","tagline":"Show Collection/Object/Data Users in the Viewport","archive_hash":"sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699","archive_size":4288,"archive_url":"https://extensions.blender.org/download/sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699/add-on-show-object-data-users-in-viewport-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/show-object-data-users-in-viewport/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"camera_shakify","schema_version":"1.0.0","name":"Camera Shakify","version":"0.5.1","tagline":"Add captured camera shake/wobble to your cameras","archive_hash":"sha256:40bb62e0960b301fe8c7b1de11ec959b8ce6c55ce03ed720c5c3b21c0c764e36","archive_size":78219,"archive_url":"https://extensions.blender.org/download/sha256:40bb62e0960b301fe8c7b1de11ec959b8ce6c55ce03ed720c5c3b21c0c764e36/add-on-camera-shakify-v0.5.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-shakify/","maintainer":"Eat the Future","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Camera"]},{"id":"embroidery_importer","schema_version":"1.0.0","name":"Embroidery Importer","version":"0.9.6","tagline":"Import embroidery files into Blender","archive_hash":"sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7","archive_size":157512,"archive_url":"https://extensions.blender.org/download/sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7/add-on-embroidery-importer-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/embroidery-importer/","maintainer":"javl","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read embroidery files from disk"},"tags":["Import-Export"]},{"id":"mio3_uv","schema_version":"1.0.0","name":"Mio3 UV","version":"2.0.1","tagline":"UV Edit Assistant Tools","archive_hash":"sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc","archive_size":5184961,"archive_url":"https://extensions.blender.org/download/sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc/add-on-mio3-uv-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-uv/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Imports images, nodes, and translations from the bundled files"},"tags":["UV"]},{"id":"S3D_QuickSwitch","schema_version":"1.0.0","name":"Quick Switch","version":"2.1.0","tagline":"Quickly switch between Editor Areas","archive_hash":"sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380","archive_size":6932,"archive_url":"https://extensions.blender.org/download/sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380/add-on-s3d-quickswitch-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/s3d-quickswitch/","maintainer":"Silvie3D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline"]},{"id":"spreadsheet_import","schema_version":"1.0.0","name":"Spreadsheet Import","version":"0.4.0","tagline":"Import data to spreadsheet for use with geometry nodes","archive_hash":"sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba","archive_size":16630,"archive_url":"https://extensions.blender.org/download/sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba/add-on-spreadsheet-import-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spreadsheet-import/","maintainer":"smonbrogg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load CSV and JSON files from disk"},"tags":["Import-Export","Geometry Nodes"]},{"id":"Scene_ViewLayer_Switcher","schema_version":"1.0.0","name":"Scene and ViewLayer Switcher","version":"1.0.5","tagline":"Jump to the next/previous Scene/ViewLayers","archive_hash":"sha256:5d149b675aa806755b27c343bf40b9bf164151bb7dd121d8c669d0188b31e332","archive_size":9142,"archive_url":"https://extensions.blender.org/download/sha256:5d149b675aa806755b27c343bf40b9bf164151bb7dd121d8c669d0188b31e332/add-on-scene-viewlayer-switcher-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-viewlayer-switcher/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"pohlke","schema_version":"1.0.0","name":"Pohlke","version":"1.2.0","tagline":"One-click standard orthographic and oblique projection cameras","archive_hash":"sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e","archive_size":14493,"archive_url":"https://extensions.blender.org/download/sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e/add-on-pohlke-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pohlke/","maintainer":"mononym","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"FishSim","schema_version":"1.0.0","name":"FishSim","version":"4.2.0","tagline":"Fish Swimming Simulation","archive_hash":"sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a","archive_size":16851312,"archive_url":"https://extensions.blender.org/download/sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a/add-on-fishsim-v4.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fishsim/","maintainer":"Nerk","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"sync_render_sets","schema_version":"1.0.0","name":"Sync Render Sets","version":"1.2.1","tagline":"Sync scenes render settings/colorspaces,viewlayers`s passes","archive_hash":"sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362","archive_size":24219,"archive_url":"https://extensions.blender.org/download/sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362/add-on-sync-render-sets-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-render-sets/","maintainer":"CP-Design","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"circular_stacker","schema_version":"1.0.0","name":"Circular Stacker","version":"1.0.0","tagline":"Distribute selected objects in a circular (donut) pattern","archive_hash":"sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451","archive_size":3099,"archive_url":"https://extensions.blender.org/download/sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451/add-on-circular-stacker-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/circular-stacker/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"overscan","schema_version":"1.0.0","name":"Overscan Render","version":"1.2.3","tagline":"Render with an overscan","archive_hash":"sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b","archive_size":3063,"archive_url":"https://extensions.blender.org/download/sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b/add-on-overscan-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Distribute","schema_version":"1.0.0","name":"Distribute","version":"1.1.0","tagline":"Distribute selected objects from first to last on X, Y or Z axis","archive_hash":"sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47","archive_size":1692,"archive_url":"https://extensions.blender.org/download/sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47/add-on-distribute-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/distribute/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"motionpath","schema_version":"1.0.0","name":"Motion Path Creator","version":"2.1.2","tagline":"Create motion paths for bones, vertices, empties and objects","archive_hash":"sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f","archive_size":6955,"archive_url":"https://extensions.blender.org/download/sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f/add-on-motionpath-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motionpath/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"fireray","schema_version":"1.0.0","name":"Fire Ray","version":"2.0.0","tagline":"Reality Capture setup and create an empty on a tracked camera","archive_hash":"sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3","archive_size":2709,"archive_url":"https://extensions.blender.org/download/sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3/add-on-fireray-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fireray/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"HDRIRotator","schema_version":"1.0.0","name":"HDRI Rotator","version":"1.1.3","tagline":"Rotate HDRIs, Shadows and Sun from the viewport","archive_hash":"sha256:104ca5af587bb671e13aa9c56a5a6c373e8e6932f101e961cfc261db57c34c0d","archive_size":18375,"archive_url":"https://extensions.blender.org/download/sha256:104ca5af587bb671e13aa9c56a5a6c373e8e6932f101e961cfc261db57c34c0d/add-on-hdrirotator-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdrirotator/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"auto_active_camera_switcher","schema_version":"1.0.0","name":"Auto Active Camera Switcher","version":"1.0.2","tagline":"Automatically makes the selected camera the active camera","archive_hash":"sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5","archive_size":2653,"archive_url":"https://extensions.blender.org/download/sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5/add-on-auto-active-camera-switcher-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-active-camera-switcher/","maintainer":"Yamato3D-3dnchu.com-","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera"]},{"id":"pcb3d_importer","schema_version":"1.0.0","name":"PCB 3D Importer","version":"2.17.4-fix","tagline":"Import PCB 3D Models from KiCad","archive_hash":"sha256:510b600c3155d7afedef450c05a7c1de9ee25fc1d0583ec6f45cfdd5ed374eed","archive_size":85003351,"archive_url":"https://extensions.blender.org/download/sha256:510b600c3155d7afedef450c05a7c1de9ee25fc1d0583ec6f45cfdd5ed374eed/add-on-pcb3d-importer-v2.17.4-fix-windows-x64-windows-arm64-linux-x64-macos-x64-macos-arm64.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/pcb3d-importer/","maintainer":"Bobbe","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .pcb3d files from disk"},"platforms":["windows-x64","windows-arm64","linux-x64","macos-x64","macos-arm64"],"tags":["Import-Export"]},{"id":"AddonProfiler","schema_version":"1.0.0","name":"Add-on Profiler","version":"2.1.0","tagline":"Monitor and capture add-on profiling data","archive_hash":"sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c/add-on-addonprofiler-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/addonprofiler/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and process benchmark and profile data"},"tags":["Development"]},{"id":"add_frame_range_presets","schema_version":"1.0.0","name":"Add Frame Range Presets","version":"1.1.3","tagline":"Create preset frame ranges in just a click","archive_hash":"sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed","archive_size":16118,"archive_url":"https://extensions.blender.org/download/sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed/add-on-add-frame-range-presets-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-frame-range-presets/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Light_Rain_Theme","schema_version":"1.0.0","name":"Light_Rain_Theme","version":"2.1.3","tagline":"Transparent Light Grey","archive_hash":"sha256:81211810548d9342e3e38c0c581d5a6d6a369d0b0e8aa91f5c619c63a0f6a69a","archive_size":5568,"archive_url":"https://extensions.blender.org/download/sha256:81211810548d9342e3e38c0c581d5a6d6a369d0b0e8aa91f5c619c63a0f6a69a/theme-light-rain-theme-v2.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/light-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"C3DB","schema_version":"1.0.0","name":"3D Cursors Briefcase","version":"0.1.5","tagline":"Store and manage multiple 3D Cursors","archive_hash":"sha256:ada3f81101ccc11fadaa391ca697e11b29e7696dc20f2e4355af9bb4bddd5901","archive_size":6191,"archive_url":"https://extensions.blender.org/download/sha256:ada3f81101ccc11fadaa391ca697e11b29e7696dc20f2e4355af9bb4bddd5901/add-on-c3db-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/c3db/","maintainer":"dupoxy","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"cameraide_settings","schema_version":"1.0.0","name":"Cameraide","version":"1.0.6","tagline":"Camera specific Resolution, Frame Range, Output Path & Format","archive_hash":"sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe","archive_size":34464,"archive_url":"https://extensions.blender.org/download/sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe/add-on-cameraide-settings-v1.0.6.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/cameraide-settings/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"simple_bounce_curve","schema_version":"1.0.0","name":"Simple Bounce Curve","version":"1.1.0","tagline":"Creates a simple bounce curve between selected objects","archive_hash":"sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b","archive_size":2102,"archive_url":"https://extensions.blender.org/download/sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b/add-on-simple-bounce-curve-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-bounce-curve/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Object"]},{"id":"org_tayou_bone_vertex_group_merge","schema_version":"1.0.0","name":"Bone and Vertex Group Merge","version":"1.2.0","tagline":"merge selected bones into the active bone","archive_hash":"sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf","archive_size":1084528,"archive_url":"https://extensions.blender.org/download/sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf/add-on-org-tayou-bone-vertex-group-merge-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/org-tayou-bone-vertex-group-merge/","maintainer":"Tayou","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Custom_Grid_Scales","schema_version":"1.0.0","name":"Custom Grid Scales","version":"1.1.0","tagline":"Adds the ability to quickly change between custom grid scales","archive_hash":"sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01","archive_size":2631,"archive_url":"https://extensions.blender.org/download/sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01/add-on-custom-grid-scales-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.1","website":"https://extensions.blender.org/add-ons/custom-grid-scales/","maintainer":"Jacob-Beatty","license":["SPDX:GPL-3.0-or-later"]},{"id":"more_colors","schema_version":"1.0.0","name":"More Colors!","version":"1.1.0","tagline":"A set of tools to make vertex painting easier","archive_hash":"sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2","archive_size":31239,"archive_url":"https://extensions.blender.org/download/sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2/add-on-more-colors-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/more-colors/","maintainer":"tojynick","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Mesh","Paint"]},{"id":"thomas_rig_legacy","schema_version":"1.0.0","name":"Thomas Rig Legacy","version":"1.1.9","tagline":"Addon for this rig","archive_hash":"sha256:5ca35a8a08ff0c33069bf9fc948dbd398c8b3d9acaf24f7d33a4b8f823a1fec6","archive_size":20535315,"archive_url":"https://extensions.blender.org/download/sha256:5ca35a8a08ff0c33069bf9fc948dbd398c8b3d9acaf24f7d33a4b8f823a1fec6/add-on-thomas-rig-legacy-v1.1.9-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/thomas-rig-legacy/","maintainer":"BlueEvilGFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the skin to Blender-tmp & read MC textures","network":"To download a skin with the Minecraft/Mojang API"},"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Animation","Rigging"]},{"id":"cortecloud_export","schema_version":"1.0.0","name":"CorteCloud Export","version":"1.0.5","tagline":"Manage and Export wood cut list to CorteCloud csv format","archive_hash":"sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191","archive_size":20274,"archive_url":"https://extensions.blender.org/download/sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191/add-on-cortecloud-export-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cortecloud-export/","maintainer":"Filipe-Rocha-Lopes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export csv files"}},{"id":"auto_reload","schema_version":"1.0.0","name":"Auto Reload","version":"3.1.2","tagline":"Automatic reload for external files","archive_hash":"sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4","archive_size":21511,"archive_url":"https://extensions.blender.org/download/sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4/add-on-auto-reload-v3.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-reload/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Checking/Reloading external files from current blend"},"tags":["Import-Export","Pipeline"]},{"id":"Colorista","schema_version":"1.0.0","name":"Colorista","version":"1.1.8","tagline":"A convenient color grading add-on designed for colorists","archive_hash":"sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2","archive_size":950327,"archive_url":"https://extensions.blender.org/download/sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2/add-on-colorista-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/colorista/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read Node"},"tags":["Modeling","Node","Render","Compositing"]},{"id":"popoti_align_helper","schema_version":"1.0.0","name":"POPOTI Align Helper","version":"1.2.7","tagline":"More friendly alignment based on observation perspective","archive_hash":"sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f","archive_size":95518,"archive_url":"https://extensions.blender.org/download/sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f/add-on-popoti-align-helper-v1.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/popoti-align-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"UV_Snapper","schema_version":"1.0.0","name":"UV Snapper","version":"1.1.1","tagline":"Snap selected UVs to a custom atlas","archive_hash":"sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb","archive_size":236058,"archive_url":"https://extensions.blender.org/download/sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb/add-on-uv-snapper-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-snapper/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"theme_moss","schema_version":"1.0.0","name":"Moss","version":"1.0.5","tagline":"Mossy castle dark theme","archive_hash":"sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078","archive_size":5609,"archive_url":"https://extensions.blender.org/download/sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078/theme-theme-moss-v1.0.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-moss/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"mesh_repair_tools","schema_version":"1.0.0","name":"Mesh Repair Tools","version":"4.0.2","tagline":"An integrated toolbox for mesh repair","archive_hash":"sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7","archive_size":13836,"archive_url":"https://extensions.blender.org/download/sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7/add-on-mesh-repair-tools-v4.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-repair-tools/","maintainer":"SineWave","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","User Interface"]},{"id":"profiling_buddy","schema_version":"1.0.0","name":"Profiling Buddy","version":"1.0.0","tagline":"Adds modifier panel to profile execution times","archive_hash":"sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0","archive_size":1756,"archive_url":"https://extensions.blender.org/download/sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0/add-on-profiling-buddy-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/profiling-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Rigging","Geometry Nodes","User Interface"]},{"id":"Proton","schema_version":"1.0.0","name":"Proton","version":"1.1.0","tagline":"A modern dark theme for Blender with purple accents","archive_hash":"sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99","archive_size":5141,"archive_url":"https://extensions.blender.org/download/sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99/theme-proton-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/proton/","maintainer":"VISaberToothIV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neo_Grey_Theme","schema_version":"1.0.0","name":"Neo_Grey_Theme","version":"2.4.2","tagline":"Dust Cloud","archive_hash":"sha256:6882357d6cd78a737e198fcaf53299c4c0bd3cc5c2e8e93d0dcb7c10dbbfe55b","archive_size":5600,"archive_url":"https://extensions.blender.org/download/sha256:6882357d6cd78a737e198fcaf53299c4c0bd3cc5c2e8e93d0dcb7c10dbbfe55b/theme-neo-grey-theme-v2.4.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neo-grey-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"SMEAR","schema_version":"1.0.0","name":"SMEAR","version":"1.1.8","tagline":"Create smear frames for 3D animations","archive_hash":"sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5","archive_size":3313751,"archive_url":"https://extensions.blender.org/download/sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5/add-on-smear-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smear/","maintainer":"Jean-Basset","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"simple_deform_helper","schema_version":"1.0.0","name":"Simple Deform Helper","version":"0.2.7","tagline":"Simple Deform visualization adjustment tool","archive_hash":"sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb","archive_size":173571,"archive_url":"https://extensions.blender.org/download/sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb/add-on-simple-deform-helper-v0.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-deform-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Mesh"]},{"id":"uv_toolkit","schema_version":"1.0.0","name":"UVToolkit","version":"2.1.4","tagline":"A collection of UV editing tools for Blender","archive_hash":"sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859","archive_size":2611931,"archive_url":"https://extensions.blender.org/download/sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859/add-on-uv-toolkit-v2.1.4.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/uv-toolkit/","maintainer":"razed","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","Material"]},{"id":"image_packer","schema_version":"1.0.0","name":"Image Packer","version":"1.0.7","tagline":"Packs images into a single image","archive_hash":"sha256:32ff0572ecfd9fd7af321ae9299f59101c3d222879c7d7aebb2622f1c3f82c2c","archive_size":24146,"archive_url":"https://extensions.blender.org/download/sha256:32ff0572ecfd9fd7af321ae9299f59101c3d222879c7d7aebb2622f1c3f82c2c/add-on-image-packer-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/image-packer/","maintainer":"Quint-Vrolijk","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"Modal_lattice_resolution","schema_version":"1.0.0","name":"Modal Lattice Resolution","version":"0.3.4","tagline":"Create Lattice or Tweak Resolution from 3D viewport, 'L' keymap","archive_hash":"sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b","archive_size":7314,"archive_url":"https://extensions.blender.org/download/sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b/add-on-modal-lattice-resolution-v0.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modal-lattice-resolution/","maintainer":"Tyo79","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"you_are_autosave","schema_version":"1.0.0","name":"You Are Autosave","version":"1.5.0","tagline":"Show a warning when you haven't saved in a while","archive_hash":"sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b","archive_size":17503,"archive_url":"https://extensions.blender.org/download/sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b/add-on-you-are-autosave-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/you-are-autosave/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"univ","schema_version":"1.0.0","name":"UniV","version":"3.9.8","tagline":"UV Toolkit","archive_hash":"sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c","archive_size":538491,"archive_url":"https://extensions.blender.org/download/sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c/add-on-univ-v3.9.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/univ/","maintainer":"Oxicid","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and updates icon files in the add-on directory"},"tags":["UV"]},{"id":"gesture_helper","schema_version":"1.0.0","name":"Gesture Helper","version":"2.2.6","tagline":"Quickly use gestures to run the operator or change properties","archive_hash":"sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5","archive_size":1125093,"archive_url":"https://extensions.blender.org/download/sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5/add-on-gesture-helper-v2.2.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gesture-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Gesture preset"},"tags":["3D View","User Interface"]},{"id":"bone_eyedropper","schema_version":"1.0.0","name":"Bone Eyedropper","version":"1.1.8","tagline":"Eyedrop a bone from active or target and assign it to a property","archive_hash":"sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd","archive_size":139882,"archive_url":"https://extensions.blender.org/download/sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd/add-on-bone-eyedropper-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-eyedropper/","maintainer":"Nifs","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .blend from disk","clipboard":"Copy property paths to clipboard"},"tags":["3D View","User Interface"]},{"id":"quick_export_extension","schema_version":"1.0.0","name":"Quick Export","version":"1.1.0","tagline":"Exports the active object's collection if it has exporters","archive_hash":"sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76","archive_size":2422,"archive_url":"https://extensions.blender.org/download/sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76/add-on-quick-export-extension-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-export-extension/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"Real_Time_Paths","schema_version":"1.0.0","name":"Motion Path Pro","version":"3.1.0","tagline":"Update motion path in real time","archive_hash":"sha256:eaee70d1ffaf5b3454ba6cd5c39d4b779b99bd59c52227aa0fea627276db7ff2","archive_size":15369,"archive_url":"https://extensions.blender.org/download/sha256:eaee70d1ffaf5b3454ba6cd5c39d4b779b99bd59c52227aa0fea627276db7ff2/add-on-real-time-paths-v3.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/real-time-paths/","maintainer":"Hamdi-Amer","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"theme_GreenKM","schema_version":"1.0.0","name":"Green Kode Mono","version":"1.1.6","tagline":"Kinda retro green theme","archive_hash":"sha256:9e27e44e3086d3df5937c923415b4271c6a4d6ff0cf288bb01cc62b362d46567","archive_size":6032,"archive_url":"https://extensions.blender.org/download/sha256:9e27e44e3086d3df5937c923415b4271c6a4d6ff0cf288bb01cc62b362d46567/theme-theme-greenkm-v1.1.6.zip","type":"theme","blender_version_min":"5.0.1","website":"https://extensions.blender.org/themes/theme-greenkm/","maintainer":"DannySi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Quellenform_theme","schema_version":"1.0.0","name":"Quellenform's Theme","version":"0.1.0","tagline":"A dark grey theme with a gentle touch of blue and green colors","archive_hash":"sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d","archive_size":5899,"archive_url":"https://extensions.blender.org/download/sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d/theme-quellenform-theme-v0.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quellenform-theme/","maintainer":"quellenform","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"act_game_asset_creation_toolset","schema_version":"1.0.0","name":"ACT: Game Asset Creation Toolset","version":"2025.2.1","tagline":"Tools for easy create and export low-poly game assets","archive_hash":"sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284","archive_size":49479,"archive_url":"https://extensions.blender.org/download/sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284/add-on-act-game-asset-creation-toolset-v2025.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/act-game-asset-creation-toolset/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX/OBJ/GLTF to disk"},"tags":["3D View","Object","UV","Mesh","Import-Export","Modeling"]},{"id":"node_to_python","schema_version":"1.0.0","name":"Node To Python","version":"4.0.1","tagline":"Turn node groups into Python code","archive_hash":"sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec","archive_size":81184,"archive_url":"https://extensions.blender.org/download/sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec/add-on-node-to-python-v4.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-to-python/","maintainer":"Brendan-Parmer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and writes to files in a user-specified directory"},"tags":["Development","Compositing","Geometry Nodes","Material","Node"]},{"id":"Eclipse","schema_version":"1.0.0","name":"Eclipse","version":"1.2.2","tagline":"Where Darkness Meets Elegance","archive_hash":"sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7","archive_size":5863,"archive_url":"https://extensions.blender.org/download/sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7/theme-eclipse-v1.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/eclipse/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"custom_templates","schema_version":"1.0.0","name":"Custom Templates","version":"1.6.0","tagline":"Use your own .blend files as template options for new projects","archive_hash":"sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e","archive_size":10674,"archive_url":"https://extensions.blender.org/download/sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e/add-on-custom-templates-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/custom-templates/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export, + from folder, Ensure absolute paths in resources"},"tags":["System","User Interface"]},{"id":"world_apply","schema_version":"1.0.0","name":"World Apply","version":"1.0.1","tagline":"Sync viewport world settings with scene world settings","archive_hash":"sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663","archive_size":2866,"archive_url":"https://extensions.blender.org/download/sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663/add-on-world-apply-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/world-apply/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read HDRI files stored in Blender's directories"},"tags":["Lighting"]},{"id":"timeline_buttons","schema_version":"1.0.0","name":"Timeline Buttons","version":"1.0.0","tagline":"Put the buttons in timeline to other animation related editors","archive_hash":"sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815","archive_size":15158,"archive_url":"https://extensions.blender.org/download/sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815/add-on-timeline-buttons-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/timeline-buttons/","maintainer":"tinkerboi","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ddslideshow","schema_version":"1.0.0","name":"DDSlideshow","version":"0.0.5","tagline":"Create a Ken Burns Effect slideshow","archive_hash":"sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b/add-on-ddslideshow-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ddslideshow/","maintainer":"Michael-Lamertz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to load images for the slideshow"},"tags":["Sequencer"]},{"id":"ikea_browser","schema_version":"1.0.0","name":"IKEA Browser","version":"0.4.0","tagline":"Search and import models from ikea.com","archive_hash":"sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2","archive_size":7016,"archive_url":"https://extensions.blender.org/download/sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2/add-on-ikea-browser-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ikea-browser/","maintainer":"Shish","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store downloaded models","network":"Download from ikea.com"},"tags":["Import-Export"]},{"id":"bonsai","schema_version":"1.0.0","name":"Bonsai","version":"0.8.4","tagline":"A native Building Information Model authoring platform using IFC","archive_hash":"sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65","archive_size":119643469,"archive_url":"https://extensions.blender.org/download/sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65/add-on-bonsai-v0.8.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bonsai/","maintainer":"IfcOpenShell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save IFCs, IDS, BCF, etc from disk","network":"Augin / Cove.Tool integration for VR and environmental analysis","clipboard":"Copy and paste error logs"},"platforms":["windows-x64"],"tags":["3D View","Add Mesh","Animation","Camera","Development","Import-Export","Lighting","Material","Modeling","Mesh","Node","Object","Pipeline","Render","Scene","System","User Interface","UV"]},{"id":"Clean_Blue","schema_version":"1.0.0","name":"Clean Blue","version":"1.4.0","tagline":"This is a pleasant light-colored theme","archive_hash":"sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d/theme-clean-blue-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/clean-blue/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"redsquare","schema_version":"1.0.0","name":"RedSquare V2","version":"1.2.1","tagline":"A theme with basic red tones and a more square-ish type of look","archive_hash":"sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e/theme-redsquare-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redsquare/","maintainer":"luccadanielp","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"mengges_dark_theme","schema_version":"1.0.0","name":"MengGe's Dark Theme","version":"1.2.0","tagline":"Dark Theme Pro Max Ultra Plus Lift","archive_hash":"sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc","archive_size":5629,"archive_url":"https://extensions.blender.org/download/sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc/theme-mengges-dark-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mengges-dark-theme/","maintainer":"MengGe_KKD","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"armature_pie","schema_version":"1.0.0","name":"Armature Pie","version":"1.1.2","tagline":"Pick Armatures Comfortably & Solo Collection By Pie Menu","archive_hash":"sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da","archive_size":13793,"archive_url":"https://extensions.blender.org/download/sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da/add-on-armature-pie-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-pie/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"Elegant_Light_Theme","schema_version":"1.0.0","name":"Elegant_Light_Theme","version":"2.2.4","tagline":"Soft Light","archive_hash":"sha256:5a1978d7cf4fe901e61e4e542a06c56f129d67a1c62bbdba5caab77249a361a8","archive_size":5606,"archive_url":"https://extensions.blender.org/download/sha256:5a1978d7cf4fe901e61e4e542a06c56f129d67a1c62bbdba5caab77249a361a8/theme-elegant-light-theme-v2.2.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/elegant-light-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"livery_helper","schema_version":"1.0.0","name":"LiveryHelper","version":"1.0.3","tagline":"Makes creating, editing and customizing car liveries much easier","archive_hash":"sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab","archive_size":5198,"archive_url":"https://extensions.blender.org/download/sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab/add-on-livery-helper-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/livery-helper/","maintainer":"Mast26","license":["SPDX:MIT"],"permissions":{"files":"Loading source livery images"},"tags":["Material"]},{"id":"optiploy","schema_version":"1.0.0","name":"OptiPloy: Rig Spawner","version":"1.8.2","tagline":"Improve your workflow with smarter linking tools","archive_hash":"sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956","archive_size":41364,"archive_url":"https://extensions.blender.org/download/sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956/add-on-optiploy-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/optiploy/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and save .blend and folder entries"},"tags":["Pipeline","Animation","Rigging","Import-Export"]},{"id":"io_scene_mvr","schema_version":"1.0.0","name":"Scene MVR (.mvr) and GDTF (.gdtf)","version":"1.5.0","tagline":"My Virtual Rig and General Device Type Format","archive_hash":"sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9","archive_size":296414,"archive_url":"https://extensions.blender.org/download/sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9/add-on-io-scene-mvr-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-mvr/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"General Device Type Format and My Virtual Rig files"},"tags":["Import-Export","Scene","Lighting","Tracking","Rigging"]},{"id":"CV_Filter_Channels","schema_version":"1.0.0","name":"Filter_Channels","version":"1.0.8","tagline":"Filter channels in Graph Editor for animation","archive_hash":"sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2","archive_size":15830,"archive_url":"https://extensions.blender.org/download/sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2/add-on-cv-filter-channels-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cv-filter-channels/","maintainer":"Carles-V","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"right_mouse_navigation","schema_version":"1.0.0","name":"Right Mouse Navigation","version":"2.7.0","tagline":"Game Engine Movement and Menus","archive_hash":"sha256:2193377712cc67dd4bb865ee41d408735063a7895afbae09bc9974163705e672","archive_size":2198437,"archive_url":"https://extensions.blender.org/download/sha256:2193377712cc67dd4bb865ee41d408735063a7895afbae09bc9974163705e672/add-on-right-mouse-navigation-v2.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/right-mouse-navigation/","maintainer":"SpectralVectors","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Node","User Interface"]},{"id":"texel_density_checker","schema_version":"1.0.0","name":"Texel Density Checker","version":"2025.1.2","tagline":"Toolset for working with Texel Density","archive_hash":"sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35","archive_size":48357,"archive_url":"https://extensions.blender.org/download/sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35/add-on-texel-density-checker-v2025.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texel-density-checker/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","UV"]},{"id":"simple_renaming_panel","schema_version":"1.0.0","name":"Simple Renaming","version":"2.1.4","tagline":"Effortlessly rename multiple objects with this simple addon","archive_hash":"sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5","archive_size":46786,"archive_url":"https://extensions.blender.org/download/sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5/add-on-simple-renaming-panel-v2.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-renaming-panel/","maintainer":"MatthiasPatscheider","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Scene","User Interface"]},{"id":"auto_switch_theme","schema_version":"1.0.0","name":"Auto Switch Theme","version":"1.0.1","tagline":"Set light and dark themes based on your system appearance","archive_hash":"sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1","archive_size":11020,"archive_url":"https://extensions.blender.org/download/sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1/add-on-auto-switch-theme-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-switch-theme/","maintainer":"pablovazquez","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"ik_fk_snapping_tool","schema_version":"1.0.0","name":"IK-FK Snapping Tool","version":"3.0.3","tagline":"Tools to perform IK to FK and FK to IK snapping","archive_hash":"sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd","archive_size":19058,"archive_url":"https://extensions.blender.org/download/sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd/add-on-ik-fk-snapping-tool-v3.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ik-fk-snapping-tool/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"macos_dark_theme","schema_version":"1.0.0","name":"MacOS Dark Theme","version":"2.0.1","tagline":"The MacOS interface style in Blender","archive_hash":"sha256:5a2b3a93e7d4aad0a6adb3e52f382007e292af49730e5335f018b11c3cfdd4f3","archive_size":17990,"archive_url":"https://extensions.blender.org/download/sha256:5a2b3a93e7d4aad0a6adb3e52f382007e292af49730e5335f018b11c3cfdd4f3/theme-macos-dark-theme-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/macos-dark-theme/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"openvat","schema_version":"1.0.0","name":"OpenVAT","version":"1.1.0","tagline":"Encode and preview vertex animation textures","archive_hash":"sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1","archive_size":277888,"archive_url":"https://extensions.blender.org/download/sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1/add-on-openvat-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/openvat/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"]},{"id":"align2custom","schema_version":"1.0.0","name":"Align 2 Custom","version":"2.1.2","tagline":"Align 3D View to custom orientation or 3D cursor","archive_hash":"sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856","archive_size":17939,"archive_url":"https://extensions.blender.org/download/sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856/add-on-align2custom-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align2custom/","maintainer":"fdaubine","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View"]},{"id":"import_mixamo_root_motion","schema_version":"1.0.0","name":"Import Mixamo - Root Motion","version":"1.0.4","tagline":"Batch Import Fbx (Mixamo) And Apply Root Motion","archive_hash":"sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898","archive_size":23759,"archive_url":"https://extensions.blender.org/download/sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898/add-on-import-mixamo-root-motion-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/import-mixamo-root-motion/","maintainer":"DevilMayCry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import FBX from disk"},"tags":["Import-Export"]},{"id":"Quick_Rigid","schema_version":"1.0.0","name":"Quick Rigid","version":"1.2.1","tagline":"Easy access to the most used rigid body settings","archive_hash":"sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb","archive_size":1229239,"archive_url":"https://extensions.blender.org/download/sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb/add-on-quick-rigid-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-rigid/","maintainer":"nova3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Physics","Object"]},{"id":"geonode_shapekeys","schema_version":"1.0.0","name":"GeoNode Shape Keys","version":"1.0.0","tagline":"Sculpt on linked animated characters","archive_hash":"sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c","archive_size":220787,"archive_url":"https://extensions.blender.org/download/sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c/add-on-geonode-shapekeys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-shapekeys/","maintainer":"Mets","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"To load the necessary GeoNodes from its .blend file"},"tags":["Rigging"]},{"id":"mesh_mesh_align_plus","schema_version":"1.0.0","name":"Mesh Align Plus","version":"1.1.0-rc.1","tagline":"Move/align mesh parts+objects based on scene geometry/metrics","archive_hash":"sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719","archive_size":90285,"archive_url":"https://extensions.blender.org/download/sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719/add-on-mesh-mesh-align-plus-v1.1.0-rc.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-mesh-align-plus/","maintainer":"BitByte","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Mesh","Modeling","Object","User Interface"]},{"id":"theme_Houdini","schema_version":"1.0.0","name":"Houdini","version":"1.3.0","tagline":"Theme Inspired By SideFX Houdini","archive_hash":"sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9","archive_size":5502,"archive_url":"https://extensions.blender.org/download/sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9/theme-theme-houdini-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-houdini/","maintainer":"rmantdtg","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"mio3_copy_weight","schema_version":"1.0.0","name":"Mio3 Copy Weight","version":"1.1.0","tagline":"Copies weights of selected vertices across objects","archive_hash":"sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e","archive_size":15521,"archive_url":"https://extensions.blender.org/download/sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e/add-on-mio3-copy-weight-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-copy-weight/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"whispering_ripples","schema_version":"1.0.0","name":"Whispering Ripples","version":"1.3.0","tagline":"In the whisper of the night, ripples of creativity flow freely","archive_hash":"sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1","archive_size":6168,"archive_url":"https://extensions.blender.org/download/sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1/theme-whispering-ripples-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/whispering-ripples/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"sequenced_bake","schema_version":"1.0.0","name":"Sequenced Bake","version":"1.1.2","tagline":"Tools for baking material sequences and generating sprite sheets","archive_hash":"sha256:917f041e203e21f2bdfe94fe45f954102fafcd8383092f1e19fa58b0cc63a5e9","archive_size":36274,"archive_url":"https://extensions.blender.org/download/sha256:917f041e203e21f2bdfe94fe45f954102fafcd8383092f1e19fa58b0cc63a5e9/add-on-sequenced-bake-v1.1.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sequenced-bake/","maintainer":"Anthony-OConnell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Saving and opening image files"},"tags":["Material","Bake","Node"]},{"id":"quick_menu","schema_version":"1.0.0","name":"QuickMenu","version":"2.0.0","tagline":"Quick-Add/Mod & Quick-Cam","archive_hash":"sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2","archive_size":17449,"archive_url":"https://extensions.blender.org/download/sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2/add-on-quick-menu-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-menu/","maintainer":"QiuMu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"auto_track","schema_version":"1.0.0","name":"Auto-tracking","version":"1.0.0","tagline":"VFX motion tracking automation","archive_hash":"sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d","archive_size":3589,"archive_url":"https://extensions.blender.org/download/sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d/add-on-auto-track-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track/","maintainer":"mcd1992","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"snap_bisect","schema_version":"1.0.0","name":"Snap Bisect","version":"1.0.6","tagline":"Bisect operator with snapping to vertices or edge midpoints","archive_hash":"sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a","archive_size":3851,"archive_url":"https://extensions.blender.org/download/sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a/add-on-snap-bisect-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-bisect/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"shape_key_swapper_extension","schema_version":"1.0.0","name":"ShapeKeySwapper","version":"1.0.3","tagline":"Swap vertex positions between 0 and 1 of the active shape key","archive_hash":"sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0","archive_size":1941,"archive_url":"https://extensions.blender.org/download/sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0/add-on-shape-key-swapper-extension-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-swapper-extension/","maintainer":"Maro3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"passpartout_slider","schema_version":"1.0.0","name":"Passpartout Slider","version":"1.0.0","tagline":"Let's you control active camera Passpartout by pressing P","archive_hash":"sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21","archive_size":1819,"archive_url":"https://extensions.blender.org/download/sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21/add-on-passpartout-slider-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/passpartout-slider/","maintainer":"Costa","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Professional_theme","schema_version":"1.0.0","name":"Professional","version":"1.0.1","tagline":"Refined dark theme for professional use","archive_hash":"sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9","archive_size":36987,"archive_url":"https://extensions.blender.org/download/sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9/theme-professional-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/professional-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Piano_White_theme","schema_version":"1.0.0","name":"Piano_White","version":"1.0.2","tagline":"Elegant piano-inspired light theme","archive_hash":"sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d","archive_size":36289,"archive_url":"https://extensions.blender.org/download/sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d/theme-piano-white-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/piano-white-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Pastel_Pink_theme","schema_version":"1.0.0","name":"Pastel_Pink","version":"1.0.0","tagline":"Bright and poppy pastel pink Blender theme","archive_hash":"sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae","archive_size":36506,"archive_url":"https://extensions.blender.org/download/sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae/theme-pastel-pink-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/pastel-pink-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Midnight_theme","schema_version":"1.0.0","name":"Midnight","version":"1.0.1","tagline":"Midnight blue dark theme","archive_hash":"sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c","archive_size":36944,"archive_url":"https://extensions.blender.org/download/sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c/theme-midnight-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/midnight-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Metaseq_theme","schema_version":"1.0.0","name":"Metaseq","version":"1.0.1","tagline":"Light Metasequoia-style Blender theme","archive_hash":"sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c","archive_size":36310,"archive_url":"https://extensions.blender.org/download/sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c/theme-metaseq-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Maya2024_theme","schema_version":"1.0.0","name":"Maya2024","version":"1.0.1","tagline":"Maya-inspired Blender theme","archive_hash":"sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5","archive_size":36471,"archive_url":"https://extensions.blender.org/download/sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5/theme-maya2024-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/maya2024-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Graphite_theme","schema_version":"1.0.0","name":"Graphite","version":"1.0.2","tagline":"Dark cool blue-tinted graphite theme","archive_hash":"sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40","archive_size":36964,"archive_url":"https://extensions.blender.org/download/sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40/theme-graphite-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/graphite-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Emerald_theme","schema_version":"1.0.0","name":"Emerald","version":"1.0.1","tagline":"Cyber-style green theme","archive_hash":"sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d","archive_size":36939,"archive_url":"https://extensions.blender.org/download/sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d/theme-emerald-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/emerald-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Choco_Mint_theme","schema_version":"1.0.0","name":"Choco_Mint","version":"1.0.1","tagline":"Sweet and cool choco mint ice cream theme","archive_hash":"sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a","archive_size":36494,"archive_url":"https://extensions.blender.org/download/sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a/theme-choco-mint-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/choco-mint-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"keyframe_tools_extension","schema_version":"1.0.0","name":"Keyframe Tools","version":"1.0.7","tagline":"A set of tools for inserting, deleting, and moving keyframes","archive_hash":"sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e","archive_size":11009,"archive_url":"https://extensions.blender.org/download/sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e/add-on-keyframe-tools-extension-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-tools-extension/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"omUlete","schema_version":"1.0.0","name":"omUlete","version":"0.98.4","tagline":"A stand-alone exporter for the Panda3D .egg format","archive_hash":"sha256:f66d9695a47dd27cf943ec3d483c6a8192b7a78a9f555410e712713b6567dcbe","archive_size":32752,"archive_url":"https://extensions.blender.org/download/sha256:f66d9695a47dd27cf943ec3d483c6a8192b7a78a9f555410e712713b6567dcbe/add-on-omulete-v0.98.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/omulete/","maintainer":"Jackson-Sutherland","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"save exported egg files"},"tags":["Import-Export","Game Engine"]},{"id":"custom_output_path","schema_version":"1.0.0","name":"Custom Output Path","version":"1.1.7","tagline":"Customize file output paths with placeholders","archive_hash":"sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc","archive_size":23227,"archive_url":"https://extensions.blender.org/download/sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc/add-on-custom-output-path-v1.1.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/custom-output-path/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Render"]},{"id":"render_preset","schema_version":"1.0.0","name":"Render Preset","version":"1.3.4","tagline":"Create and use render presets","archive_hash":"sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3","archive_size":74565,"archive_url":"https://extensions.blender.org/download/sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3/add-on-render-preset-v1.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-preset/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files in a user-defined location"},"tags":["Render","Pipeline"]},{"id":"mesh_maze","schema_version":"1.0.0","name":"Maze any Mesh","version":"1.2.2","tagline":"Convert any mesh to a maze pattern","archive_hash":"sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2","archive_size":18705,"archive_url":"https://extensions.blender.org/download/sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2/add-on-mesh-maze-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-maze/","maintainer":"elfnorcat","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Amethyst_theme","schema_version":"1.0.0","name":"Amethyst","version":"1.0.2","tagline":"Cyberpunk-inspired purple theme","archive_hash":"sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f","archive_size":36951,"archive_url":"https://extensions.blender.org/download/sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f/theme-amethyst-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/amethyst-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"NodePie","schema_version":"1.0.0","name":"Node Pie","version":"1.2.51","tagline":"Add nodes faster with a pie menu","archive_hash":"sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36","archive_size":414208,"archive_url":"https://extensions.blender.org/download/sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36/add-on-nodepie-v1.2.51.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nodepie/","maintainer":"Strike_Digital","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing config files"},"tags":["User Interface","Node"]},{"id":"drag_and_drop_support","schema_version":"1.0.0","name":"Drag and Drop Support","version":"1.3.0","tagline":"Support and improve drag and drop imports in Blender","archive_hash":"sha256:ffca1b51dec3b369d4550b7890bdcfe83ca5e33fbf8b0f77c6feb777640a0980","archive_size":29508,"archive_url":"https://extensions.blender.org/download/sha256:ffca1b51dec3b369d4550b7890bdcfe83ca5e33fbf8b0f77c6feb777640a0980/add-on-drag-and-drop-support-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/drag-and-drop-support/","maintainer":"Natsune-Mochizuki","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import models from the disk"},"tags":["3D View","Import-Export"]},{"id":"deep_gray_something","schema_version":"1.0.0","name":"Deep Gray Something","version":"1.0.1","tagline":"Blender 5 dark theme with blue and green selection highlights","archive_hash":"sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1","archive_size":6009,"archive_url":"https://extensions.blender.org/download/sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1/theme-deep-gray-something-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-gray-something/","maintainer":"blanchsb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast","Accessibility"]},{"id":"matbatchtools","schema_version":"1.0.0","name":"Material Batch Tools","version":"2.3.2","tagline":"Quick batch automation of common material tasks","archive_hash":"sha256:2e401a8e2ad6de13a53c7a9b751d6276cb02b9d9cd1e027d2ff48cd58870a08f","archive_size":35616,"archive_url":"https://extensions.blender.org/download/sha256:2e401a8e2ad6de13a53c7a9b751d6276cb02b9d9cd1e027d2ff48cd58870a08f/add-on-matbatchtools-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matbatchtools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"sourceenginecollisiontools","schema_version":"1.0.0","name":"Source Engine Collision Tools","version":"3.1.0","tagline":"Generate & optimize collision models for use in Source Engine","archive_hash":"sha256:88575696022112376ab270c7bc38eddffcbd4c1ea271396e86c38c8a767ab08d","archive_size":68443,"archive_url":"https://extensions.blender.org/download/sha256:88575696022112376ab270c7bc38eddffcbd4c1ea271396e86c38c8a767ab08d/add-on-sourceenginecollisiontools-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sourceenginecollisiontools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export collision-related QC and VMF files"},"tags":["Mesh","Object","Game Engine"]},{"id":"Key_Ops_Toolkit","schema_version":"1.0.0","name":"Key Ops: Toolkit","version":"0.2.1985","tagline":"Industri Standard Tools & Shortcuts to Speed Up Blender Workflow","archive_hash":"sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40","archive_size":201205,"archive_url":"https://extensions.blender.org/download/sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40/add-on-key-ops-toolkit-v0.2.1985.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/key-ops-toolkit/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export/Import .obj files and use of temp folder"},"tags":["Modeling","Mesh","Object","UV","3D View"]},{"id":"hot_node","schema_version":"1.0.0","name":"Hot Node","version":"1.2.1","tagline":"Add nodes like adding node","archive_hash":"sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4","archive_size":113483,"archive_url":"https://extensions.blender.org/download/sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4/add-on-hot-node-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hot-node/","maintainer":"Trantor","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access file system for storing custom nodes"},"tags":["Node","Geometry Nodes","Material"]},{"id":"ZenUVChecker","schema_version":"1.0.0","name":"Zen UV Checker","version":"1.4.12","tagline":"Check the state of UVs on the model easily with Checker Textures","archive_hash":"sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672","archive_size":2989286,"archive_url":"https://extensions.blender.org/download/sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672/add-on-zenuvchecker-v1.4.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/zenuvchecker/","maintainer":"Sergey_Tyapkin","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to folders for importing Checker Textures"},"tags":["UV"]},{"id":"improved_node_search","schema_version":"1.0.0","name":"Improved Node Search","version":"1.0.5","tagline":"Navigate your node tree faster via more node search options","archive_hash":"sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4","archive_size":11647,"archive_url":"https://extensions.blender.org/download/sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4/add-on-improved-node-search-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/improved-node-search/","maintainer":"Griperis","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"noise_nodes","schema_version":"1.0.0","name":"Noise Nodes","version":"0.7.0","tagline":"Advance Noise Nodes For blender","archive_hash":"sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc","archive_size":1482042,"archive_url":"https://extensions.blender.org/download/sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc/add-on-noise-nodes-v0.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/noise-nodes/","maintainer":"Haseeb-Ahmed-3","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"Modifier_List_Fork","schema_version":"1.0.0","name":"Modifier List","version":"1.9.88","tagline":"Enhanced Modifier UI/Features, now with Edit Mesh Modifier","archive_hash":"sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55","archive_size":164500,"archive_url":"https://extensions.blender.org/download/sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55/add-on-modifier-list-fork-v1.9.88.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifier-list-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save Add-on Prefrences"},"tags":["Modeling","User Interface"]},{"id":"PolyQuilt_Fork","schema_version":"1.0.0","name":"PolyQuilt Retopology Tool","version":"1.45.9","tagline":"Retopology Tool for Blender","archive_hash":"sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5","archive_size":179729,"archive_url":"https://extensions.blender.org/download/sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5/add-on-polyquilt-fork-v1.45.9.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/polyquilt-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"clear_filepaths","schema_version":"1.0.0","name":"Clear Filepaths","version":"1.1.2","tagline":"Removes personal filepaths from your .blend file","archive_hash":"sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9","archive_size":4114,"archive_url":"https://extensions.blender.org/download/sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9/add-on-clear-filepaths-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clear-filepaths/","maintainer":"FlailingFog","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Saves a copy of a .blend file without filepaths"},"platforms":["windows-x64"],"tags":["System"]},{"id":"onyx","schema_version":"1.0.0","name":"Onyx","version":"1.1.0","tagline":"A minimalistic dark theme","archive_hash":"sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6","archive_size":5177,"archive_url":"https://extensions.blender.org/download/sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6/theme-onyx-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/onyx/","maintainer":"Aeraglyx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"incremental_auto_save","schema_version":"1.0.0","name":"Incremental Auto-Save","version":"1.1.1","tagline":"Improvements to Blender's Autosave","archive_hash":"sha256:f97c7e93f3ba3f7f6d8cbe3e0dbc911bb5d0011df70841e4762f80bea70e1cee","archive_size":74530,"archive_url":"https://extensions.blender.org/download/sha256:f97c7e93f3ba3f7f6d8cbe3e0dbc911bb5d0011df70841e4762f80bea70e1cee/add-on-incremental-auto-save-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/incremental-auto-save/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save preferences & .blends in chosen directories"},"tags":["System"]},{"id":"tiny_backup","schema_version":"1.0.0","name":"Tiny Backup","version":"1.0.2","tagline":"A minimalistic backup solution","archive_hash":"sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc","archive_size":13763,"archive_url":"https://extensions.blender.org/download/sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc/add-on-tiny-backup-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tiny-backup/","maintainer":"Thane5","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Save backups on disk"},"tags":["System"]},{"id":"Randomize_Bones_Pose","schema_version":"1.0.0","name":"Randomize_Bones_Pose","version":"2.0.0","tagline":"Randomize_Bones_Pose","archive_hash":"sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4","archive_size":16685,"archive_url":"https://extensions.blender.org/download/sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4/add-on-randomize-bones-pose-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-bones-pose/","maintainer":"IZ.MdVerz","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"omniscient","schema_version":"1.0.0","name":"Omniscient Importer","version":"2.3.5","tagline":"Automated scene setup for shots recorded with Omniscient iOS app","archive_hash":"sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e","archive_size":119480,"archive_url":"https://extensions.blender.org/download/sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e/add-on-omniscient-v2.3.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omniscient/","maintainer":"Omniscient","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .omni file from disk"},"tags":["Tracking","Import-Export","Camera","Compositing","Animation","Mesh","Scene"]},{"id":"pose_shape_keys","schema_version":"1.0.0","name":"Pose Shape Keys","version":"1.0.0","tagline":"Preserve your shape keys through weight changes, and much more","archive_hash":"sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6","archive_size":35835,"archive_url":"https://extensions.blender.org/download/sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6/add-on-pose-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pose-shape-keys/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"select_panel_xdanic","schema_version":"1.0.0","name":"Select panel","version":"0.1.5","tagline":"All selections and more under a panel","archive_hash":"sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793","archive_size":4058,"archive_url":"https://extensions.blender.org/download/sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793/add-on-select-panel-xdanic-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-panel-xdanic/","maintainer":"xdanic","license":["SPDX:GPL-2.0"],"tags":["User Interface"]},{"id":"theme_XP_AliVe","schema_version":"1.0.0","name":"XP_AliVe","version":"1.0.3","tagline":"Blender theme inspired by 2000s","archive_hash":"sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a","archive_size":5978,"archive_url":"https://extensions.blender.org/download/sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a/theme-theme-xp-alive-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xp-alive/","maintainer":"AliVe","license":["SPDX:GPL-2.0-or-later"],"tags":["Colorful","High Contrast","Inspired By","Accessibility"]},{"id":"MustardUI","schema_version":"1.0.0","name":"MustardUI","version":"2026.2.1","tagline":"Easy-to-use UI for human characters","archive_hash":"sha256:c22b64c388d66d3719dce4a2edee1f3f3a39e0f295364da95b68eedb659e085c","archive_size":436947,"archive_url":"https://extensions.blender.org/download/sha256:c22b64c388d66d3719dce4a2edee1f3f3a39e0f295364da95b68eedb659e085c/add-on-mustardui-v2026.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mustardui/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export templates from/to disk"},"tags":["User Interface"]},{"id":"Half_Knife","schema_version":"1.0.0","name":"Half Knife","version":"1.3.85","tagline":"Optimized for fast workflow knife tool for Blender","archive_hash":"sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83","archive_size":15498,"archive_url":"https://extensions.blender.org/download/sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83/add-on-half-knife-v1.3.85.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/half-knife/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"node_quick_maths","schema_version":"1.0.0","name":"Node Quick Maths","version":"1.2.2","tagline":"A fast way to make long math chains in node editors","archive_hash":"sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac","archive_size":22432,"archive_url":"https://extensions.blender.org/download/sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac/add-on-node-quick-maths-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-quick-maths/","maintainer":"Zeptofine","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"easyweight","schema_version":"1.0.0","name":"EasyWeight","version":"1.0.9","tagline":"Weight Painting Workflow Boosters","archive_hash":"sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0","archive_size":42626,"archive_url":"https://extensions.blender.org/download/sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0/add-on-easyweight-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easyweight/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"set_smooth_group","schema_version":"1.0.0","name":"Set Smooth Group","version":"1.1.0","tagline":"Simplify setting smooth groups with sharp edges","archive_hash":"sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b","archive_size":17228,"archive_url":"https://extensions.blender.org/download/sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b/add-on-set-smooth-group-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-smooth-group/","maintainer":"VIktor-Kom","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"toggle_socket_visibility","schema_version":"1.0.0","name":"Toggle Socket Visibility","version":"1.0.0","tagline":"Control which node sockets are visible or not via panel/pop-up","archive_hash":"sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f","archive_size":7638,"archive_url":"https://extensions.blender.org/download/sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f/add-on-toggle-socket-visibility-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-socket-visibility/","maintainer":"quackarooni","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"strange_attractors","schema_version":"1.0.0","name":"Strange Attractors","version":"2.1.0","tagline":"Add Strange Attractor curves","archive_hash":"sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06/add-on-strange-attractors-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/strange-attractors/","maintainer":"7bitretro","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"k_tools_view_sync","schema_version":"1.0.0","name":"Sync | Lock Viewport","version":"2.7.0","tagline":"Sync or Lock multiple viewports at once in real-time","archive_hash":"sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf","archive_size":46836,"archive_url":"https://extensions.blender.org/download/sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf/add-on-k-tools-view-sync-v2.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-view-sync/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"universal_multi_importer","schema_version":"1.0.0","name":"Universal Multi Importer","version":"2.3.3","tagline":"Batch Import many file formats at once, Batch process them","archive_hash":"sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599","archive_size":118110,"archive_url":"https://extensions.blender.org/download/sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599/add-on-universal-multi-importer-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/universal-multi-importer/","maintainer":"Tilapiatsu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Files from disk, save presets to disk"},"tags":["Import-Export","Pipeline"]},{"id":"BAM","schema_version":"1.0.0","name":"[BAM] AutoMat","version":"1.2.1","tagline":"Batch creation of materials from textures folder","archive_hash":"sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649","archive_size":563501,"archive_url":"https://extensions.blender.org/download/sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649/add-on-bam-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bam/","maintainer":"AlexeyHRDesign","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Import-Export"]},{"id":"action_to_scene_range","schema_version":"1.0.0","name":"Action to Scene Range","version":"1.7.0","tagline":"When switching Actions, automatically set the Scene Frame Range","archive_hash":"sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf","archive_size":2520,"archive_url":"https://extensions.blender.org/download/sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf/add-on-action-to-scene-range-v1.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/action-to-scene-range/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"face_set_operators","schema_version":"1.0.0","name":"Face Set Operators","version":"1.0.0","tagline":"Convert sculpt mode attributes into anything you need","archive_hash":"sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6","archive_size":4650,"archive_url":"https://extensions.blender.org/download/sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6/add-on-face-set-operators-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-set-operators/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt","Mesh"]},{"id":"my_best_pie_menu_ever","schema_version":"1.0.0","name":"My Best Pie Menu Ever","version":"2.9.1","tagline":"Quick access to the functions you need","archive_hash":"sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c","archive_size":84510,"archive_url":"https://extensions.blender.org/download/sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c/add-on-my-best-pie-menu-ever-v2.9.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/my-best-pie-menu-ever/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["3D View","User Interface"]},{"id":"mmd_tools","schema_version":"1.0.0","name":"MMD Tools","version":"4.5.8","tagline":"Utility tools for MMD model editing","archive_hash":"sha256:52ecc77ffa9157f6c7149020ce349b5f45b20e8c45468248af6d15687785fda8","archive_size":746979,"archive_url":"https://extensions.blender.org/download/sha256:52ecc77ffa9157f6c7149020ce349b5f45b20e8c45468248af6d15687785fda8/add-on-mmd-tools-v4.5.8.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/mmd-tools/","maintainer":"MMD","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PMX/PMD/VMD/VPD from/to disk"},"tags":["3D View","Camera","Import-Export","Material","Mesh","Object","Physics"]},{"id":"bioxelnodes","schema_version":"1.0.0","name":"Bioxel Nodes","version":"1.0.9","tagline":"For scientific volumetric data visualization in Blender","archive_hash":"sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620","archive_size":28047296,"archive_url":"https://extensions.blender.org/download/sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620/add-on-bioxelnodes-v1.0.9-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bioxelnodes/","maintainer":"icrdr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export volume data from/to disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Render","Import-Export"]},{"id":"molecularnodes","schema_version":"1.0.0","name":"Molecular Nodes","version":"4.5.10","tagline":"A toolbox for molecular import and animation in Blender","archive_hash":"sha256:63b867c8e187308ba03a0b00baeb9c32938da460017cb9ee1446c69cd66ce8b9","archive_size":132883479,"archive_url":"https://extensions.blender.org/download/sha256:63b867c8e187308ba03a0b00baeb9c32938da460017cb9ee1446c69cd66ce8b9/add-on-molecularnodes-v4.5.10-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/molecularnodes/","maintainer":"bradyajohnston","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk and caching downloads","network":"Downloading structural data from the PDB and AFPDB"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"io_scene_psk_psa","schema_version":"1.0.0","name":"Unreal PSK/PSA (.psk/.psa)","version":"9.1.1","tagline":"Import and export PSK and PSA files used in Unreal Engine","archive_hash":"sha256:14a637bb9da65b67a26f0ca3e6e490f2a855a6f5e38be103adcd69ca316793a1","archive_size":80472,"archive_url":"https://extensions.blender.org/download/sha256:14a637bb9da65b67a26f0ca3e6e490f2a855a6f5e38be103adcd69ca316793a1/add-on-io-scene-psk-psa-v9.1.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-scene-psk-psa/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write PSK and PSA files from and to disk"},"tags":["Game Engine","Import-Export"]},{"id":"theme_Plasticity","schema_version":"1.0.0","name":"Plasticity","version":"2.0.0","tagline":"Theme Inspired By Plasticity app","archive_hash":"sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351","archive_size":6395,"archive_url":"https://extensions.blender.org/download/sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351/theme-theme-plasticity-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-plasticity/","maintainer":"SHEK","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast","Inspired By","Accessibility"]},{"id":"open_stage_blender_dmx","schema_version":"1.0.0","name":"DMX","version":"2.1.6","tagline":"Visualization & programming with GDTF&MVR, OSC, PSN, Networking","archive_hash":"sha256:034899c2f1d9e8d08ba6012005a2da4f37bcd5a09a4605e81034f8b046dc4ef8","archive_size":2002292,"archive_url":"https://extensions.blender.org/download/sha256:034899c2f1d9e8d08ba6012005a2da4f37bcd5a09a4605e81034f8b046dc4ef8/add-on-open-stage-blender-dmx-v2.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-stage-blender-dmx/","maintainer":"Sunova","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import GDTF devices. Import/Export MVR scenes and project data","network":"For GDTF Share, sACN, Art-Net, OSC, PSN, MVR-xchange"},"tags":["Lighting","Animation","Scene","Import-Export","Rigging","Tracking","Sequencer","3D View","Camera"]},{"id":"maze_generator","schema_version":"1.0.0","name":"Maze Generator","version":"0.2.5","tagline":"A Maze generator extension for Blender","archive_hash":"sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030","archive_size":22231,"archive_url":"https://extensions.blender.org/download/sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030/add-on-maze-generator-v0.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maze-generator/","maintainer":"Leeroy-Majors","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"node_group_presets","schema_version":"1.0.0","name":"Node Group Presets","version":"0.8.0","tagline":"Save Node Group values as presets","archive_hash":"sha256:201454f4c0a32eed158502d13a0887141aaf4494647a22b4264802f94272b5a0","archive_size":27634,"archive_url":"https://extensions.blender.org/download/sha256:201454f4c0a32eed158502d13a0887141aaf4494647a22b4264802f94272b5a0/add-on-node-group-presets-v0.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-presets/","maintainer":"juaum","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy/paste presets between nodedroups and across files"},"tags":["Geometry Nodes","Material","Node"]},{"id":"booltron","schema_version":"1.0.0","name":"Booltron","version":"3.3.2","tagline":"Super add-on for superfast booleans","archive_hash":"sha256:f353beedfc46a1f321e1abc02a0294ebdfc9fb2c735d9bb0df5307b2701127b6","archive_size":166040,"archive_url":"https://extensions.blender.org/download/sha256:f353beedfc46a1f321e1abc02a0294ebdfc9fb2c735d9bb0df5307b2701127b6/add-on-booltron-v3.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/booltron/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"Dark_Pro","schema_version":"1.0.0","name":"Dark Pro","version":"2.0.2","tagline":"Just a little darker","archive_hash":"sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b","archive_size":5431,"archive_url":"https://extensions.blender.org/download/sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b/theme-dark-pro-v2.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/dark-pro/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"quick_groups","schema_version":"1.0.0","name":"Quick Groups (Instances)","version":"1.0.3","tagline":"Group objects with Ctrl+G using instances","archive_hash":"sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c","archive_size":6862,"archive_url":"https://extensions.blender.org/download/sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c/add-on-quick-groups-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-groups/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling"]},{"id":"t3d_gn_presets","schema_version":"1.0.0","name":"T3D GN Presets","version":"1.6.0","tagline":"A versatile collection of useful node groups for Geometry Nodes","archive_hash":"sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd","archive_size":835788,"archive_url":"https://extensions.blender.org/download/sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd/add-on-t3d-gn-presets-v1.6.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/t3d-gn-presets/","maintainer":"Tams_3d","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Append node-groups from source file"},"tags":["Geometry Nodes"]},{"id":"per_camera_resolution","schema_version":"1.0.0","name":"Per-Camera Resolution","version":"2.3.2","tagline":"Every camera should have its resolution","archive_hash":"sha256:48cecdfc004417c6d0dee452657d0822dd96ea3897e159d5544d9819f3e54b8f","archive_size":11199,"archive_url":"https://extensions.blender.org/download/sha256:48cecdfc004417c6d0dee452657d0822dd96ea3897e159d5544d9819f3e54b8f/add-on-per-camera-resolution-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/per-camera-resolution/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","Camera"]},{"id":"synchronize_workspaces","schema_version":"1.0.0","name":"Synchronize Workspaces","version":"1.14.0","tagline":"Synchronize 3D views between workspaces","archive_hash":"sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5","archive_size":3974,"archive_url":"https://extensions.blender.org/download/sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5/add-on-synchronize-workspaces-v1.14.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/synchronize-workspaces/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"grease_pencil_tool_wheel","schema_version":"1.0.0","name":"GP Tool Wheel","version":"1.0.11","tagline":"Extended pie menu for selecting Grease Pencil tools quickly","archive_hash":"sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6","archive_size":206402,"archive_url":"https://extensions.blender.org/download/sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6/add-on-grease-pencil-tool-wheel-v1.0.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tool-wheel/","maintainer":"SietseB","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Grease Pencil"]},{"id":"commotion","schema_version":"1.0.0","name":"Commotion","version":"2.5.0","tagline":"Animation offset tools for motion graphics","archive_hash":"sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb","archive_size":27868,"archive_url":"https://extensions.blender.org/download/sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb/add-on-commotion-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/commotion/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"find_bad_tracks","schema_version":"1.0.0","name":"Find Bad Tracks","version":"1.0.2","tagline":"Highlight motion tracks that move in suspicious directions","archive_hash":"sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8","archive_size":25067,"archive_url":"https://extensions.blender.org/download/sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8/add-on-find-bad-tracks-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/find-bad-tracks/","maintainer":"Walles","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"cloudrig","schema_version":"1.0.0","name":"CloudRig","version":"2.2.17","tagline":"Rig Generation & Rigging Workflow Tools","archive_hash":"sha256:e038a51e7afdfde638963d1db7eef31cf8a1039fb54cb8b848e178fe74df3441","archive_size":3306156,"archive_url":"https://extensions.blender.org/download/sha256:e038a51e7afdfde638963d1db7eef31cf8a1039fb54cb8b848e178fe74df3441/add-on-cloudrig-v2.2.17.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/cloudrig/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load widgets/metarigs/preferences from disk","clipboard":"Copy/paste Bone Collections between armatures"},"tags":["Rigging"]},{"id":"theme_drcl","schema_version":"1.0.0","name":"drcl","version":"1.0.3","tagline":"A variation of Dracula dark theme","archive_hash":"sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040","archive_size":4955,"archive_url":"https://extensions.blender.org/download/sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040/theme-theme-drcl-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-drcl/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"YB_Animator_Tool","schema_version":"1.0.0","name":"YB Animator Tool","version":"1.1.3","tagline":"export grease pencil layers as keyframes and CSV","archive_hash":"sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b","archive_size":5541,"archive_url":"https://extensions.blender.org/download/sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b/add-on-yb-animator-tool-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/yb-animator-tool/","maintainer":"YB_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Output CSV and sequence diagram"},"tags":["Grease Pencil","Animation","User Interface"]},{"id":"keymesh","schema_version":"1.0.0","name":"Keymesh","version":"2.3.2","tagline":"Create stop-motion animations by sculpting frame-by-frame","archive_hash":"sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a","archive_size":42763,"archive_url":"https://extensions.blender.org/download/sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a/add-on-keymesh-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keymesh/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store generated pose preview images and/or load them from disk"},"tags":["Animation","Sculpt","Mesh"]},{"id":"node_annotator","schema_version":"1.0.0","name":"Node Annotator","version":"0.4.2","tagline":"Easily create good documentation of your node trees","archive_hash":"sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef","archive_size":28721,"archive_url":"https://extensions.blender.org/download/sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef/add-on-node-annotator-v0.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-annotator/","maintainer":"FrankFirsching","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"theme_ps","schema_version":"1.0.0","name":"PS","version":"1.1.3","tagline":"Adobe Photoshop inspired light theme","archive_hash":"sha256:1b69c3dabcffcdd76b87ed15724dd2db995821823b72bdea8946c0709854cbc2","archive_size":5663,"archive_url":"https://extensions.blender.org/download/sha256:1b69c3dabcffcdd76b87ed15724dd2db995821823b72bdea8946c0709854cbc2/theme-theme-ps-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-ps/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Light"]},{"id":"toggle_language","schema_version":"1.0.0","name":"Toggle Language","version":"1.6.2","tagline":"One click to toggle UI between two languages","archive_hash":"sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe","archive_size":31213,"archive_url":"https://extensions.blender.org/download/sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe/add-on-toggle-language-v1.6.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-language/","maintainer":"del1a8dc50179276c0","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_lighting_environment","schema_version":"1.0.0","name":"QLE (Quick Lighting Environment)","version":"1.8.0","tagline":"Adds a Basic Lighting Setup to Your Blender Scene","archive_hash":"sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883","archive_size":105787,"archive_url":"https://extensions.blender.org/download/sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883/add-on-quick-lighting-environment-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-lighting-environment/","maintainer":"don1138","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"SB_path_actions","schema_version":"1.0.0","name":"Path Actions","version":"2.6.0","tagline":"Open blend folder in OS explorer, and more","archive_hash":"sha256:19bc2a56bd8ad64ddb1b4c2a82f5faec4af79b151aea66f50c6b47e33e0385b4","archive_size":42150,"archive_url":"https://extensions.blender.org/download/sha256:19bc2a56bd8ad64ddb1b4c2a82f5faec4af79b151aea66f50c6b47e33e0385b4/add-on-sb-path-actions-v2.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sb-path-actions/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open folders, List Blend files","clipboard":"Copy path to files"},"tags":["System","Development"]},{"id":"print3d_toolbox","schema_version":"1.0.0","name":"3D Print Toolbox","version":"1.3.2","tagline":"Utilities for 3D printing","archive_hash":"sha256:71545a4be21fc2a9d28ae8d810d2cfca1e37da1a5db2d4826f28883c69da20b8","archive_size":145816,"archive_url":"https://extensions.blender.org/download/sha256:71545a4be21fc2a9d28ae8d810d2cfca1e37da1a5db2d4826f28883c69da20b8/add-on-print3d-toolbox-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/print3d-toolbox/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export STL, PLY, OBJ files"},"tags":["Mesh"]},{"id":"green_olive","schema_version":"1.0.0","name":"Green Olive","version":"1.0.3","tagline":"A fine-tuned dark green theme","archive_hash":"sha256:c7544cc6ceb987628e3d7cbf49ac394cb9da92228673cebb1664aa2f0beb8cac","archive_size":5774,"archive_url":"https://extensions.blender.org/download/sha256:c7544cc6ceb987628e3d7cbf49ac394cb9da92228673cebb1664aa2f0beb8cac/theme-green-olive-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/green-olive/","maintainer":"Liuuzaki","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Accessibility"]},{"id":"fls_blcn","schema_version":"1.0.0","name":"Fast Language Switch","version":"0.0.5","tagline":"Fast change the language of the interface","archive_hash":"sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9","archive_size":2475,"archive_url":"https://extensions.blender.org/download/sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9/add-on-fls-blcn-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fls-blcn/","maintainer":"Kk","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"theme_xsi","schema_version":"1.0.0","name":"Softimage XSI","version":"5.0.0","tagline":"Community-made theme inspired by Softimage XSI","archive_hash":"sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443","archive_size":6273,"archive_url":"https://extensions.blender.org/download/sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443/theme-theme-xsi-v5.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xsi/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By"]},{"id":"theme_white","schema_version":"1.0.0","name":"White","version":"1.0.1","tagline":"Community-made theme","archive_hash":"sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0","archive_size":6242,"archive_url":"https://extensions.blender.org/download/sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0/theme-theme-white-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-white/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_print_friendly","schema_version":"1.0.0","name":"Print Friendly","version":"2.0.0","tagline":"Community-made theme optimized for printing","archive_hash":"sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24","archive_size":5585,"archive_url":"https://extensions.blender.org/download/sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24/theme-theme-print-friendly-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-print-friendly/","maintainer":"JasonvanGumster","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_minimal_dark","schema_version":"1.0.0","name":"Minimal Dark","version":"3.1.2","tagline":"A flat dark theme for Blender","archive_hash":"sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a","archive_size":7358,"archive_url":"https://extensions.blender.org/download/sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a/theme-theme-minimal-dark-v3.1.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-minimal-dark/","maintainer":"jlampel","license":["SPDX:GPL-2.0-or-later"]},{"id":"theme_maya","schema_version":"1.0.0","name":"Maya","version":"2.0.0","tagline":"Community-made theme inspired by Maya","archive_hash":"sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a","archive_size":5859,"archive_url":"https://extensions.blender.org/download/sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a/theme-theme-maya-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-maya/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"theme_deep_grey","schema_version":"1.0.0","name":"Deep Grey","version":"2.0.4","tagline":"A comfortable medium dark theme for Blender","archive_hash":"sha256:5ad9d7a6f9522a7319a43fc55255dc1d482d639d7228eacf3d8c52f42cd248bc","archive_size":5593,"archive_url":"https://extensions.blender.org/download/sha256:5ad9d7a6f9522a7319a43fc55255dc1d482d639d7228eacf3d8c52f42cd248bc/theme-theme-deep-grey-v2.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-deep-grey/","maintainer":"TheRedWaxPolice","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"skinify_rig","schema_version":"1.0.0","name":"Skinify Rig","version":"0.11.2","tagline":"Creates a mesh object from selected bones","archive_hash":"sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61","archive_size":6450,"archive_url":"https://extensions.blender.org/download/sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61/add-on-skinify-rig-v0.11.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skinify-rig/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"f2","schema_version":"1.0.0","name":"F2","version":"1.8.5","tagline":"Extends the 'Make Edge/Face' functionality","archive_hash":"sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c","archive_size":5505,"archive_url":"https://extensions.blender.org/download/sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c/add-on-f2-v1.8.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/f2/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"navigation","schema_version":"1.0.0","name":"3D Navigation","version":"1.3.0","tagline":"Navigate the 3D Viewport from the Sidebar","archive_hash":"sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed","archive_size":3238,"archive_url":"https://extensions.blender.org/download/sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed/add-on-navigation-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"amaranth","schema_version":"1.0.0","name":"Amaranth","version":"1.0.29","tagline":"A collection of tools to improve productivity","archive_hash":"sha256:05976c27d5779ad056921a08037cf0dd7506ded1d2059b4d08c0514f889197e3","archive_size":49317,"archive_url":"https://extensions.blender.org/download/sha256:05976c27d5779ad056921a08037cf0dd7506ded1d2059b4d08c0514f889197e3/add-on-amaranth-v1.0.29.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/amaranth/","maintainer":"pablovazquez","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render","Compositing","User Interface","Scene","Lighting"]},{"id":"math_vis_console","schema_version":"1.0.0","name":"Math Vis (Console)","version":"0.2.2","tagline":"Display console defined mathutils variables in the 3D view","archive_hash":"sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a","archive_size":6507,"archive_url":"https://extensions.blender.org/download/sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a/add-on-math-vis-console-v0.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/math-vis-console/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"auto_mirror","schema_version":"1.0.0","name":"Auto Mirror","version":"2.5.4","tagline":"Super fast cutting and mirroring for mesh","archive_hash":"sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7","archive_size":3571,"archive_url":"https://extensions.blender.org/download/sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7/add-on-auto-mirror-v2.5.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-mirror/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"boltfactory","schema_version":"1.0.0","name":"BoltFactory","version":"0.7.1","tagline":"Add a bolt or nut","archive_hash":"sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3","archive_size":35319,"archive_url":"https://extensions.blender.org/download/sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3/add-on-boltfactory-v0.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/boltfactory/","maintainer":"Bolt Factory","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"looptools","schema_version":"1.0.0","name":"LoopTools","version":"4.7.7","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108","archive_size":30534,"archive_url":"https://extensions.blender.org/download/sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108/add-on-looptools-v4.7.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/looptools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"node_arrange","schema_version":"1.0.0","name":"Node Arrange","version":"1.10.1","tagline":"Arrange node trees with one click","archive_hash":"sha256:9f0d135a1041c361c1f06ea836cd40b87dfe255ae30ca696e49ea9164d3dd231","archive_size":1755733,"archive_url":"https://extensions.blender.org/download/sha256:9f0d135a1041c361c1f06ea836cd40b87dfe255ae30ca696e49ea9164d3dd231/add-on-node-arrange-v1.10.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-arrange/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"antlandscape","schema_version":"1.0.0","name":"A.N.T.Landscape","version":"0.2.0","tagline":"Another Noise Tool: Landscape and Displace","archive_hash":"sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0","archive_size":60899,"archive_url":"https://extensions.blender.org/download/sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0/add-on-antlandscape-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/antlandscape/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"material_library","schema_version":"1.0.0","name":"Material Library","version":"0.6.0","tagline":"Material Library VX","archive_hash":"sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019","archive_size":594898,"archive_url":"https://extensions.blender.org/download/sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019/add-on-material-library-v0.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-library/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Material"]},{"id":"copy_attributes_menu","schema_version":"1.0.0","name":"Copy Attributes Menu","version":"0.6.3","tagline":"Copy Attributes Menu","archive_hash":"sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478","archive_size":8270,"archive_url":"https://extensions.blender.org/download/sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478/add-on-copy-attributes-menu-v0.6.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-attributes-menu/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"material_utilities","schema_version":"1.0.0","name":"Material Utilities","version":"2.2.3","tagline":"Menu of material tools (assign, select..) in the 3D View","archive_hash":"sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739","archive_size":16895,"archive_url":"https://extensions.blender.org/download/sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739/add-on-material-utilities-v2.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-utilities/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"edit_linked_library","schema_version":"1.0.0","name":"Edit Linked Library","version":"0.9.2","tagline":"Allows editing of objects, collections, and node groups lin . . ","archive_hash":"sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234","archive_size":3575,"archive_url":"https://extensions.blender.org/download/sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234/add-on-edit-linked-library-v0.9.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-linked-library/","maintainer":"JasonvanGumster","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"simplify_curves_plus","schema_version":"1.0.0","name":"Simplify Curves+","version":"1.1.3","tagline":"Simplify Curves: 3dview, Dopesheet, Graph","archive_hash":"sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851","archive_size":5943,"archive_url":"https://extensions.blender.org/download/sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851/add-on-simplify-curves-plus-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simplify-curves-plus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"modifier_tools","schema_version":"1.0.0","name":"Modifier Tools","version":"0.2.7","tagline":"Modifiers Specials Show/Hide/Apply Selected","archive_hash":"sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a","archive_size":2718,"archive_url":"https://extensions.blender.org/download/sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a/add-on-modifier-tools-v0.2.7.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modifier-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"extra_mesh_objects","schema_version":"1.0.0","name":"Extra Mesh Objects","version":"0.4.0","tagline":"Add extra mesh object types","archive_hash":"sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61","archive_size":130665,"archive_url":"https://extensions.blender.org/download/sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61/add-on-extra-mesh-objects-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-mesh-objects/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"export_paper_model","schema_version":"1.0.0","name":"Export Paper Model","version":"1.4.2","tagline":"Export printable net of a Mesh object","archive_hash":"sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba","archive_size":35606,"archive_url":"https://extensions.blender.org/download/sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba/add-on-export-paper-model-v1.4.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-paper-model/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk"},"tags":["Import-Export"]},{"id":"precision_drawing_tools_pdt","schema_version":"1.0.0","name":"Precision Drawing Tools (PDT)","version":"1.5.3","tagline":"Precision Drawing Tools for Accurate Modelling","archive_hash":"sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266","archive_size":49495,"archive_url":"https://extensions.blender.org/download/sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266/add-on-precision-drawing-tools-pdt-v1.5.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/precision-drawing-tools-pdt/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"extra_curve_objectes","schema_version":"1.0.0","name":"Extra Curve Objects","version":"0.2.0","tagline":"Add extra curve object types","archive_hash":"sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909","archive_size":52956,"archive_url":"https://extensions.blender.org/download/sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909/add-on-extra-curve-objectes-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-curve-objectes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"tinycad_mesh_tools","schema_version":"1.0.0","name":"tinyCAD Mesh tools","version":"1.3.3","tagline":"tinyCAD Mesh tools Add-on","archive_hash":"sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6","archive_size":37134,"archive_url":"https://extensions.blender.org/download/sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6/add-on-tinycad-mesh-tools-v1.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tinycad-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"collection_manager","schema_version":"1.0.0","name":"Collection Manager","version":"2.24.11","tagline":"Manage collections and their objects","archive_hash":"sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5","archive_size":42496,"archive_url":"https://extensions.blender.org/download/sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5/add-on-collection-manager-v2.24.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-manager/","maintainer":"Imaginer","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"import_palettes","schema_version":"1.0.0","name":"Import Palettes","version":"1.0.5","tagline":"Import Palettes","archive_hash":"sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd","archive_size":4151,"archive_url":"https://extensions.blender.org/download/sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd/add-on-import-palettes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-palettes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"autodesk_3ds_format","schema_version":"1.0.0","name":"Autodesk 3D Studio (.3ds)","version":"3.0.1","tagline":"Import-Export 3DS scenes, objects, cameras, lights & animations","archive_hash":"sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9","archive_size":208325,"archive_url":"https://extensions.blender.org/download/sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9/add-on-autodesk-3ds-format-v3.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autodesk-3ds-format/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import-Export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"storypencil_storyboard_tools","schema_version":"1.0.0","name":"Storypencil - Storyboard Tools","version":"1.2.0","tagline":"Storyboard tools","archive_hash":"sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6","archive_size":20608,"archive_url":"https://extensions.blender.org/download/sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6/add-on-storypencil-storyboard-tools-v1.2.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/storypencil-storyboard-tools/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"object_color_rules","schema_version":"1.0.0","name":"Object Color Rules","version":"0.0.2","tagline":"Rules for assigning object color (for object & wireframe co . . ","archive_hash":"sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5","archive_size":4057,"archive_url":"https://extensions.blender.org/download/sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5/add-on-object-color-rules-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/object-color-rules/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"stored_views","schema_version":"1.0.0","name":"Stored Views","version":"0.4.0","tagline":"Save and restore views, pov, layers & display configs","archive_hash":"sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0","archive_size":24199,"archive_url":"https://extensions.blender.org/download/sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0/add-on-stored-views-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stored-views/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it stores/reads view presets"},"tags":["3D View"]},{"id":"cell_fracture","schema_version":"1.0.0","name":"Cell Fracture","version":"0.2.1","tagline":"Fractured Object Creation","archive_hash":"sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2","archive_size":9722,"archive_url":"https://extensions.blender.org/download/sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2/add-on-cell-fracture-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cell-fracture/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"import_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Import AutoCAD DXF Format (.dxf)","version":"0.9.10","tagline":"Import files in the Autocad DXF format (.dxf)","archive_hash":"sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3","archive_size":57092,"archive_url":"https://extensions.blender.org/download/sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3/add-on-import-autocad-dxf-format-dxf-v0.9.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with .dxf files"},"tags":["Import-Export"]},{"id":"bool_tool","schema_version":"1.0.0","name":"Bool Tool","version":"2.0.0","tagline":"Quick boolean operators and tools for hard surface modeling","archive_hash":"sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d","archive_size":167487,"archive_url":"https://extensions.blender.org/download/sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d/add-on-bool-tool-v2.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bool-tool/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"vdm_brush_baker","schema_version":"1.0.0","name":"VDM Brush Baker","version":"1.0.6","tagline":"Bake vector displacement brushes easily from a plane","archive_hash":"sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419","archive_size":5781,"archive_url":"https://extensions.blender.org/download/sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419/add-on-vdm-brush-baker-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vdm-brush-baker/","maintainer":"robin.hohni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on saves textures to disk"},"tags":["Bake","Sculpt"]},{"id":"add_camera_rigs","schema_version":"1.0.0","name":"Add Camera Rigs","version":"1.8.2","tagline":"Adds a Camera Rig with UI","archive_hash":"sha256:b06aa8048718bbea463fc430694b735fd69b934bf8811a02f6fd17d18a7c1f90","archive_size":13706,"archive_url":"https://extensions.blender.org/download/sha256:b06aa8048718bbea463fc430694b735fd69b934bf8811a02f6fd17d18a7c1f90/add-on-add-camera-rigs-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-camera-rigs/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"ivygen","schema_version":"1.0.0","name":"IvyGen","version":"0.1.5","tagline":"Adds generated ivy to a mesh object starting at the 3D cursor","archive_hash":"sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98","archive_size":7172,"archive_url":"https://extensions.blender.org/download/sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98/add-on-ivygen-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ivygen/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"measureit","schema_version":"1.0.0","name":"MeasureIt","version":"1.8.4","tagline":"Tools for measuring objects","archive_hash":"sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042","archive_size":28891,"archive_url":"https://extensions.blender.org/download/sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042/add-on-measureit-v1.8.4.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/measureit/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"tri_lighting","schema_version":"1.0.0","name":"Tri-lighting","version":"0.2.1","tagline":"Add 3 Point Lighting to Selected / Active Object","archive_hash":"sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b","archive_size":3531,"archive_url":"https://extensions.blender.org/download/sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b/add-on-tri-lighting-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tri-lighting/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"grease_pencil_tools","schema_version":"1.0.0","name":"Grease Pencil Tools","version":"2.2.4","tagline":"Extra tools for Grease Pencil","archive_hash":"sha256:de2228934ac042a2aa3cf82af135592b7ef24af5588c12357810ff6b44d5359b","archive_size":51948,"archive_url":"https://extensions.blender.org/download/sha256:de2228934ac042a2aa3cf82af135592b7ef24af5588c12357810ff6b44d5359b/add-on-grease-pencil-tools-v2.2.4.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tools/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Object"]},{"id":"tissue","schema_version":"1.0.0","name":"Tissue","version":"0.3.71","tagline":"Tools for Computational Design","archive_hash":"sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad","archive_size":113361,"archive_url":"https://extensions.blender.org/download/sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad/add-on-tissue-v0.3.71.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tissue/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"icon_viewer","schema_version":"1.0.0","name":"Icon Viewer","version":"1.4.2","tagline":"Click an icon to copy its name to the clipboard","archive_hash":"sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc","archive_size":3814,"archive_url":"https://extensions.blender.org/download/sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc/add-on-icon-viewer-v1.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/icon-viewer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"magic_uv","schema_version":"1.0.0","name":"Magic UV","version":"6.7.1","tagline":"UV Toolset. See Add-ons Preferences for details","archive_hash":"sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571","archive_size":104347,"archive_url":"https://extensions.blender.org/download/sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571/add-on-magic-uv-v6.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/magic-uv/","maintainer":"nutti","license":["SPDX:GPL-2.0-or-later"],"tags":["UV"]},{"id":"export_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Export Autocad DXF Format (.dxf)","version":"2.2.4","tagline":"The script exports Blender geometry to DXF format r12 version","archive_hash":"sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7","archive_size":33206,"archive_url":"https://extensions.blender.org/download/sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7/add-on-export-autocad-dxf-format-dxf-v2.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports DXF file"},"tags":["Import-Export"]},{"id":"discombobulator","schema_version":"1.0.0","name":"Discombobulator","version":"0.1.0","tagline":"Add Discombobulator","archive_hash":"sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d","archive_size":7864,"archive_url":"https://extensions.blender.org/download/sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d/add-on-discombobulator-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/discombobulator/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"animall","schema_version":"1.0.0","name":"AnimAll","version":"0.14.0","tagline":"Animate mesh, lattice, curve and surface data","archive_hash":"sha256:85fcb80112f25a194891242708eb3bc8fdd02890b9a6d9fc83502e059e0d1f86","archive_size":8635,"archive_url":"https://extensions.blender.org/download/sha256:85fcb80112f25a194891242708eb3bc8fdd02890b9a6d9fc83502e059e0d1f86/add-on-animall-v0.14.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/animall/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blender_id_authentication","schema_version":"1.0.0","name":"Blender ID authentication","version":"2.1.3","tagline":"Stores your Blender ID credentials for usage with other add-ons","archive_hash":"sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5/add-on-blender-id-authentication-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-id-authentication/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Requires access to id.blender.org to sync preferences"},"tags":["System"]},{"id":"edit_mesh_tools","schema_version":"1.0.0","name":"Edit Mesh Tools","version":"0.3.6","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0","archive_size":74410,"archive_url":"https://extensions.blender.org/download/sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0/add-on-edit-mesh-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"viewport_pie_menus","schema_version":"1.0.0","name":"3D Viewport Pie Menus","version":"1.7.3","tagline":"Various pie menus to speed up your workflow","archive_hash":"sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100","archive_size":110402,"archive_url":"https://extensions.blender.org/download/sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100/add-on-viewport-pie-menus-v1.7.3.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/viewport-pie-menus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To load brush icons from disk"},"tags":["User Interface"]},{"id":"sapling_tree_gen","schema_version":"1.0.0","name":"Sapling Tree Gen","version":"0.3.7","tagline":"Adds a parametric tree","archive_hash":"sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f","archive_size":36296,"archive_url":"https://extensions.blender.org/download/sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f/add-on-sapling-tree-gen-v0.3.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/sapling-tree-gen/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"bsurfaces_gpl_edition","schema_version":"1.0.0","name":"Bsurfaces GPL Edition","version":"1.8.4","tagline":"Modeling and retopology tool","archive_hash":"sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e","archive_size":31781,"archive_url":"https://extensions.blender.org/download/sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e/add-on-bsurfaces-gpl-edition-v1.8.4.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bsurfaces-gpl-edition/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"curve_tools","schema_version":"1.0.0","name":"Curve Tools","version":"0.4.6","tagline":"Adds some functionality for bezier/nurbs curve/surface modeling","archive_hash":"sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f","archive_size":55633,"archive_url":"https://extensions.blender.org/download/sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f/add-on-curve-tools-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"power_sequencer","schema_version":"1.0.0","name":"Power Sequencer","version":"2.0.4","tagline":"Video editing tools for content creators","archive_hash":"sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a","archive_size":97495,"archive_url":"https://extensions.blender.org/download/sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a/add-on-power-sequencer-v2.0.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/power-sequencer/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"dynamic_sky","schema_version":"1.0.0","name":"Dynamic Sky","version":"1.0.6","tagline":"Creates Dynamic Sky for Cycles","archive_hash":"sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f","archive_size":4358,"archive_url":"https://extensions.blender.org/download/sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f/add-on-dynamic-sky-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-sky/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Lighting"]},{"id":"vrm","schema_version":"1.0.0","name":"VRM format","version":"3.21.1","tagline":"VRM import, export and editing capabilities","archive_hash":"sha256:e2bb23ba073278094fc2c7bc9073726542e9998965a76eee65c6b4c5b39467d9","archive_size":1563645,"archive_url":"https://extensions.blender.org/download/sha256:e2bb23ba073278094fc2c7bc9073726542e9998965a76eee65c6b4c5b39467d9/add-on-vrm-v3.21.1.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/vrm/","maintainer":"saturday06","license":["SPDX:MIT","SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export VRM from/to disk"},"tags":["Import-Export","Animation","Modeling","Material","Physics"]},{"id":"io_scene_max","schema_version":"1.0.0","name":"Import Autodesk MAX (.max)","version":"1.7.5","tagline":"Import 3DSMAX meshes & materials","archive_hash":"sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7","archive_size":83827,"archive_url":"https://extensions.blender.org/download/sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7/add-on-io-scene-max-v1.7.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-max/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Autodesk MAX files"},"tags":["Import-Export","Mesh","Material"]},{"id":"sun_position","schema_version":"1.0.0","name":"Sun Position","version":"4.4.0","tagline":"Show the position of the Sun with objects or an environment","archive_hash":"sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856","archive_size":26592,"archive_url":"https://extensions.blender.org/download/sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856/add-on-sun-position-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sun-position/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"gruvbox_light","schema_version":"1.0.0","name":"Gruvbox Light","version":"1.6.0","tagline":"Gruvbox light theme","archive_hash":"sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae","archive_size":5392,"archive_url":"https://extensions.blender.org/download/sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae/theme-gruvbox-light-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-light/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"gruvbox_dark","schema_version":"1.0.0","name":"Gruvbox Dark","version":"1.6.0","tagline":"Gruvbox dark theme","archive_hash":"sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa","archive_size":5192,"archive_url":"https://extensions.blender.org/download/sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa/theme-gruvbox-dark-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-dark/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"phoenixart_fusion_theme","schema_version":"1.0.0","name":"PhoenixArt Fusion Theme","version":"4.0.3","tagline":"Based on Blackmagic Fusion Theme","archive_hash":"sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066","archive_size":6404,"archive_url":"https://extensions.blender.org/download/sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066/theme-phoenixart-fusion-theme-v4.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/phoenixart-fusion-theme/","maintainer":"phoenixart","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"alien_pink_theme","schema_version":"1.0.0","name":"Alien Pink","version":"6.0.0","tagline":"Stylish and vibrant theme designed specially for you","archive_hash":"sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641","archive_size":6709,"archive_url":"https://extensions.blender.org/download/sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641/theme-alien-pink-theme-v6.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/alien-pink-theme/","maintainer":"Alumx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"copy_object_name_to_data","schema_version":"1.0.0","name":"Copy Object Name to Data","version":"1.1.1","tagline":"A simple operator to copy object names to object data","archive_hash":"sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03","archive_size":14363,"archive_url":"https://extensions.blender.org/download/sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03/add-on-copy-object-name-to-data-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-object-name-to-data/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"nd","schema_version":"1.0.0","name":"ND","version":"2.1.0","tagline":"Non-Destructive Modeling Toolkit","archive_hash":"sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5","archive_size":1546886,"archive_url":"https://extensions.blender.org/download/sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5/add-on-nd-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nd/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import built-in and custom assets"},"tags":["3D View","Lighting","Material","Modeling","Mesh","Object","Scene","UV"]},{"id":"io_export_after_effects","schema_version":"1.0.0","name":"Export: Adobe After Effects (.jsx)","version":"0.2.1","tagline":"Export cameras, images and empties to Adobe After Effects","archive_hash":"sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4","archive_size":16102,"archive_url":"https://extensions.blender.org/download/sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4/add-on-io-export-after-effects-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-export-after-effects/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Export JSX file to disk"},"tags":["Import-Export"]},{"id":"textify","schema_version":"1.0.0","name":"Textify","version":"1.8.0","tagline":"Streamline and Enhance Blender’s Text Editor","archive_hash":"sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4","archive_size":1851559,"archive_url":"https://extensions.blender.org/download/sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4/add-on-textify-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/textify/","maintainer":"Jishnu-kv","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write settings, and manage scripts on disk","clipboard":"Copy class bl_idname and identifiers to clipboard"},"tags":["Text Editor","Development"]},{"id":"Bagapie","schema_version":"1.0.0","name":"Bagapie","version":"11.0.8","tagline":"50+ tools : Scattering, Ivy Gen, Random Array, Architecture","archive_hash":"sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad","archive_size":10833664,"archive_url":"https://extensions.blender.org/download/sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad/add-on-bagapie-v11.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bagapie/","maintainer":"Kiara_Bagattini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create, setup and add assets libraries","network":"Open web browser for documentation and tutorials"},"tags":["Modeling","Node"]},{"id":"y_projectionnode_form_camera_f1","schema_version":"1.0.0","name":"ProjectionNode from Camera","version":"1.3.0","tagline":"Creates a material specified in the Background Image of Camera","archive_hash":"sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75","archive_size":9289,"archive_url":"https://extensions.blender.org/download/sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75/add-on-y-projectionnode-form-camera-f1-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/y-projectionnode-form-camera-f1/","maintainer":"Yukimituki","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"Shadow","schema_version":"1.0.0","name":"Shadow","version":"5.0.2","tagline":"Dark theme","archive_hash":"sha256:0325c737f887420efd31225df8a6d79c7645b4bff72dec4787605ed2d6fbf84b","archive_size":5744,"archive_url":"https://extensions.blender.org/download/sha256:0325c737f887420efd31225df8a6d79c7645b4bff72dec4787605ed2d6fbf84b/theme-shadow-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/shadow/","maintainer":"--Shadow--","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"ucupaint","schema_version":"1.0.0","name":"Ucupaint","version":"2.4.4","tagline":"Layer based painting for Eevee and Cycles","archive_hash":"sha256:287dacc5a96688fae40fece4b5075cfc2ed604ff568a5f6993f8e08b656e797d","archive_size":2060805,"archive_url":"https://extensions.blender.org/download/sha256:287dacc5a96688fae40fece4b5075cfc2ed604ff568a5f6993f8e08b656e797d/add-on-ucupaint-v2.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ucupaint/","maintainer":"ucupumar","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to filesystem for loading and saving images","network":"Access to the network to update contributors and sponsors list"},"tags":["Node","Material","Paint","Bake"]},{"id":"Industrial_AOV_Connector","schema_version":"1.0.0","name":"Industrial AOV Connector","version":"5.0.2","tagline":"Auto generate outputs for advanced compositing","archive_hash":"sha256:4aba26bbe6ffd7ec191a5a4bac5b7321571589c8457f55a2073548faabfc2c56","archive_size":217295,"archive_url":"https://extensions.blender.org/download/sha256:4aba26bbe6ffd7ec191a5a4bac5b7321571589c8457f55a2073548faabfc2c56/add-on-industrial-aov-connector-v5.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-aov-connector/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Delete Useless Default Renders button need this"},"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"hdr_rotation","schema_version":"1.0.0","name":"Hdr Rotation","version":"1.0.7","tagline":"Rotation HDR by Shift+Right Drag in 3D View","archive_hash":"sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68","archive_size":6585,"archive_url":"https://extensions.blender.org/download/sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68/add-on-hdr-rotation-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdr-rotation/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Render"]},{"id":"Dark_Purple_Green","schema_version":"1.0.0","name":"DarkPurpleGreen","version":"1.0.1","tagline":"Dark minimal neon theme","archive_hash":"sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4","archive_size":5871,"archive_url":"https://extensions.blender.org/download/sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4/theme-dark-purple-green-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-purple-green/","maintainer":"MSBH","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"node_editor_switcher","schema_version":"1.0.0","name":"Node Editor Switcher","version":"1.1.0","tagline":"Pie menu, shortcuts and buttons to switch between node editors","archive_hash":"sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3","archive_size":2134,"archive_url":"https://extensions.blender.org/download/sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3/add-on-node-editor-switcher-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-switcher/","maintainer":"Victor-09","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"Adapta_Nokto","schema_version":"1.0.0","name":"Adapta Nokto","version":"1.1.3","tagline":"Adapta Nokto theme","archive_hash":"sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4","archive_size":5612,"archive_url":"https://extensions.blender.org/download/sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4/theme-adapta-nokto-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/adapta-nokto/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"browser_scroll_resize","schema_version":"1.0.0","name":"Browser Scroll Resize","version":"1.0.1","tagline":"Resize File Size Thumbnail on Browsers with Mouse Wheel","archive_hash":"sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da","archive_size":2729,"archive_url":"https://extensions.blender.org/download/sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da/add-on-browser-scroll-resize-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/browser-scroll-resize/","maintainer":"Barrunterio","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"secret_paint","schema_version":"1.0.0","name":"Secret Paint","version":"1.7.31","tagline":"Select an object, select a surface, paint","archive_hash":"sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6","archive_size":1950644,"archive_url":"https://extensions.blender.org/download/sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6/add-on-secret-paint-v1.7.31.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/secret-paint/","maintainer":"orencloud","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export objects and biomes to external blend files","network":"Update from GitHub if installed as addon rather than extension"},"tags":["Modeling","Add Curve"]},{"id":"delete_line_shortcut","schema_version":"1.0.0","name":"Delete Line Shortcut","version":"1.2.2","tagline":"Shortcut to delete a line and copy its content","archive_hash":"sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab","archive_size":15764,"archive_url":"https://extensions.blender.org/download/sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab/add-on-delete-line-shortcut-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/delete-line-shortcut/","maintainer":"matej.zeman02","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Add-on can read and write to the system clipboard."},"tags":["User Interface","Text Editor"]},{"id":"keyframe_visibility","schema_version":"1.0.0","name":"Keyframe Visibility","version":"1.0.2","tagline":"Batch keyframe visibility for objects","archive_hash":"sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84","archive_size":4295,"archive_url":"https://extensions.blender.org/download/sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84/add-on-keyframe-visibility-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-visibility/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"midnight_blue_theme","schema_version":"1.0.0","name":"Midnight Blue","version":"1.0.1","tagline":"Blender blues after midnight","archive_hash":"sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928","archive_size":5982,"archive_url":"https://extensions.blender.org/download/sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928/theme-midnight-blue-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/midnight-blue-theme/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"bulk_asset_tools","schema_version":"1.0.0","name":"Bulk Asset Tools","version":"1.7.3","tagline":"Manage your asset libraries with ease","archive_hash":"sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d","archive_size":10636,"archive_url":"https://extensions.blender.org/download/sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d/add-on-bulk-asset-tools-v1.7.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bulk-asset-tools/","maintainer":"guitargeek","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"blender_path_maker","schema_version":"1.0.0","name":"Path Maker","version":"1.4.4","tagline":"Replaces custom tags in the Output Path","archive_hash":"sha256:ac0e5abd81f0a555aeeea19206daf037427fe28da134f08775b9dc178e6247e2","archive_size":4818,"archive_url":"https://extensions.blender.org/download/sha256:ac0e5abd81f0a555aeeea19206daf037427fe28da134f08775b9dc178e6247e2/add-on-blender-path-maker-v1.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-path-maker/","maintainer":"thornydre","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"SelectsAllIslandsUDIM","schema_version":"1.0.0","name":"Selects all UV islands on one UDIM","version":"1.2.0","tagline":"Highlighting UV-islands and faces of the corresponding UDIM","archive_hash":"sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f","archive_size":3781,"archive_url":"https://extensions.blender.org/download/sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f/add-on-selectsallislandsudim-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selectsallislandsudim/","maintainer":"Ailex","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"lightpainter","schema_version":"1.0.0","name":"Light Painter","version":"1.5.6","tagline":"Do not place your lights, paint them","archive_hash":"sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a","archive_size":112051,"archive_url":"https://extensions.blender.org/download/sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a/add-on-lightpainter-v1.5.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lightpainter/","maintainer":"SMagnusson","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting","Object"]},{"id":"ContextPie","schema_version":"1.0.0","name":"Context Pie","version":"0.9.21","tagline":"Context sensitive pie menu for a simple, fast workflow","archive_hash":"sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66","archive_size":126927,"archive_url":"https://extensions.blender.org/download/sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66/add-on-contextpie-v0.9.21.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/contextpie/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View","UV"]},{"id":"orient_and_origin_to_selected","schema_version":"1.0.0","name":"Orient and Origin to Selected","version":"1.2.0","tagline":"Quickly manipulate the object origin","archive_hash":"sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521","archive_size":42615,"archive_url":"https://extensions.blender.org/download/sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521/add-on-orient-and-origin-to-selected-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orient-and-origin-to-selected/","maintainer":"Orange Turbine","license":["SPDX:GPL-2.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"screencast_keys","schema_version":"1.0.0","name":"Screencast Keys","version":"4.2.1","tagline":"Display keys pressed in Blender","archive_hash":"sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb","archive_size":38532,"archive_url":"https://extensions.blender.org/download/sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb/add-on-screencast-keys-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/screencast-keys/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"tags":["System","User Interface"]},{"id":"Gold_Pro_Theme","schema_version":"1.0.0","name":"Gold Pro","version":"1.1.4","tagline":"Professional blender theme with Gold :)","archive_hash":"sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d","archive_size":5514,"archive_url":"https://extensions.blender.org/download/sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d/theme-gold-pro-theme-v1.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gold-pro-theme/","maintainer":"EmanuelFerro","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"lfs_camera_plane","schema_version":"1.0.0","name":"Camera Plane","version":"3.0.0","tagline":"Import images and stick them to the camera","archive_hash":"sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4","archive_size":17262,"archive_url":"https://extensions.blender.org/download/sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4/add-on-lfs-camera-plane-v3.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/lfs-camera-plane/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["3D View","Import-Export","Object","Camera"]},{"id":"Wireframe_Color_Tools","schema_version":"1.0.0","name":"Wireframe Color Tools","version":"1.0.0","tagline":"Change Object Colors based on different kinds of methods","archive_hash":"sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9","archive_size":3122,"archive_url":"https://extensions.blender.org/download/sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9/add-on-wireframe-color-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wireframe-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Material","Object"]},{"id":"neutral_grey","schema_version":"1.0.0","name":"Neutral Grey","version":"2.0.3","tagline":"A neutral grey theme for Blender","archive_hash":"sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454","archive_size":5558,"archive_url":"https://extensions.blender.org/download/sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454/theme-neutral-grey-v2.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutral-grey/","maintainer":"scopelma","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Accessibility"]},{"id":"deep_dark_sea","schema_version":"1.0.0","name":"Deep Dark Sea","version":"3.0.0","tagline":"Darker than the default dark","archive_hash":"sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298","archive_size":6219,"archive_url":"https://extensions.blender.org/download/sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298/theme-deep-dark-sea-v3.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-dark-sea/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"border_buddy","schema_version":"1.0.0","name":"Border Buddy","version":"0.1.1","tagline":"Your buddy that helps to preserve borders","archive_hash":"sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4","archive_size":2579,"archive_url":"https://extensions.blender.org/download/sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4/add-on-border-buddy-v0.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/border-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"bake_shape_keys","schema_version":"1.0.0","name":"Bake Shape Keys","version":"1.4.0","tagline":"Feature-set for shape keys and shape key animations","archive_hash":"sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd","archive_size":14241,"archive_url":"https://extensions.blender.org/download/sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd/add-on-bake-shape-keys-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-shape-keys/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Mesh"]},{"id":"matalogue","schema_version":"1.0.0","name":"Matalogue","version":"1.5.0","tagline":"All your node trees in one list","archive_hash":"sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2","archive_size":13081,"archive_url":"https://extensions.blender.org/download/sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2/add-on-matalogue-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matalogue/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"NieR_Automata_UI","schema_version":"1.0.0","name":"NieR_Automata_UI","version":"1.2.2","tagline":"Glory to Mankind","archive_hash":"sha256:1902254f5c5c7496b85c73a92e14f7cd7f6b282719303a3827952315460f446e","archive_size":5764,"archive_url":"https://extensions.blender.org/download/sha256:1902254f5c5c7496b85c73a92e14f7cd7f6b282719303a3827952315460f446e/theme-nier-automata-ui-v1.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nier-automata-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Colorful"]},{"id":"preset_startup_manager","schema_version":"1.0.0","name":"Startup Preset Manager","version":"2.10.0","tagline":"Custom startup file creation / hot reloading","archive_hash":"sha256:09db3bb39ffa07a51635b7af748221c1b45c4fca6d49174d2a57366652609ca8","archive_size":4684,"archive_url":"https://extensions.blender.org/download/sha256:09db3bb39ffa07a51635b7af748221c1b45c4fca6d49174d2a57366652609ca8/add-on-preset-startup-manager-v2.10.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/preset-startup-manager/","maintainer":"Gruff-Wright","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline","Scene","System"]},{"id":"time_theme_switcher","schema_version":"1.0.0","name":"Time Theme Switcher","version":"1.0.0","tagline":"Switches between light and dark UI themes at scheduled times","archive_hash":"sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010","archive_size":18346,"archive_url":"https://extensions.blender.org/download/sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010/add-on-time-theme-switcher-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-theme-switcher/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"k_tools_render_preset_manager","schema_version":"1.0.0","name":"K-Tools: Render Preset Manager","version":"1.2.2","tagline":"Save and Load Blender's Settings","archive_hash":"sha256:024bc16b800a7fb54d2b986c79756b3214bbadef5a4f9999a55b6577e2d9d87f","archive_size":75069,"archive_url":"https://extensions.blender.org/download/sha256:024bc16b800a7fb54d2b986c79756b3214bbadef5a4f9999a55b6577e2d9d87f/add-on-k-tools-render-preset-manager-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-render-preset-manager/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .JSON text files from/to disk"},"tags":["Render"]},{"id":"VAT","schema_version":"1.0.0","name":"Vertex Animation Texture Addon (VAT)","version":"1.0.1","tagline":"Tools for vertex animation textures in Blender","archive_hash":"sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065","archive_size":8592,"archive_url":"https://extensions.blender.org/download/sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065/add-on-vat-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vat/","maintainer":"Flement","license":["SPDX:GPL-3.0-or-later"]},{"id":"extrude_along_path","schema_version":"1.0.0","name":"Extrude Along Path","version":"2.2.0","tagline":"Extrude or Rake profile geometry Along a defined Path","archive_hash":"sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283","archive_size":15621,"archive_url":"https://extensions.blender.org/download/sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283/add-on-extrude-along-path-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extrude-along-path/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"dimensions_and_lines","schema_version":"1.0.0","name":"Dimensions and Lines","version":"1.1.0","tagline":"create technical drawings, dimensions and lines","archive_hash":"sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30","archive_size":75526,"archive_url":"https://extensions.blender.org/download/sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30/add-on-dimensions-and-lines-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dimensions-and-lines/","maintainer":"jan.holinka","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"textures_autosave","schema_version":"1.0.0","name":"Autosave Textures","version":"1.0.1","tagline":"Save all modified image textures on blendfile (auto-)save","archive_hash":"sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938","archive_size":2642,"archive_url":"https://extensions.blender.org/download/sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938/add-on-textures-autosave-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/textures-autosave/","maintainer":"mont29","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write image files to disk"},"tags":["Pipeline","Paint"]},{"id":"csv_importer","schema_version":"1.0.0","name":"CSV Importer","version":"0.2.2","tagline":"import csv data to meshes in Blender","archive_hash":"sha256:631249d12f3617113e2f22fa4006a9a96fdb9774e9a0d3a61fb660656314937b","archive_size":46529057,"archive_url":"https://extensions.blender.org/download/sha256:631249d12f3617113e2f22fa4006a9a96fdb9774e9a0d3a61fb660656314937b/add-on-csv-importer-v0.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/csv-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"NLATools","schema_version":"1.0.0","name":"Merge NLA Strips","version":"1.2.0","tagline":"Combine selected NLA strips into one","archive_hash":"sha256:fb71b63b597aa5998c41387cb24ccb78fed7944a43e80418f959080090a4d276","archive_size":4416,"archive_url":"https://extensions.blender.org/download/sha256:fb71b63b597aa5998c41387cb24ccb78fed7944a43e80418f959080090a4d276/add-on-nlatools-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nlatools/","maintainer":"Likkez","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake"]},{"id":"Frigus_Nox","schema_version":"1.0.0","name":"Frigus Nox","version":"1.0.7","tagline":"Frigus Nox theme","archive_hash":"sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06","archive_size":5535,"archive_url":"https://extensions.blender.org/download/sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06/theme-frigus-nox-v1.0.7.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/frigus-nox/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Auto_Sort_Collections","schema_version":"1.0.0","name":"Auto Sort Collections","version":"1.0.2","tagline":"Automatic organisation of collections","archive_hash":"sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079","archive_size":9665,"archive_url":"https://extensions.blender.org/download/sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079/add-on-auto-sort-collections-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sort-collections/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"Cake_Particles","schema_version":"1.0.0","name":"Cake_Particles","version":"5.0.0","tagline":"Bake particles simulation into keyframed animations","archive_hash":"sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f","archive_size":9459,"archive_url":"https://extensions.blender.org/download/sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f/add-on-cake-particles-v5.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cake-particles/","maintainer":"scaryplasmon","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake","Physics","Object"]},{"id":"Quick_Character_Selector","schema_version":"1.0.0","name":"Quick Character Selector","version":"1.1.0","tagline":"Seleccion rapida de armatures","archive_hash":"sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad/add-on-quick-character-selector-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-character-selector/","maintainer":"MatiasMartin","license":["SPDX:GPL-2.0-or-later"],"tags":["Object","Animation"]},{"id":"momo","schema_version":"1.0.0","name":"Momo Light","version":"5.0.5","tagline":"Momo Light - theme inspired by Modo","archive_hash":"sha256:cf00fdad2d18855ecc66619205364da458738a82a0d1e2257ca3011de6fa7f7c","archive_size":6482,"archive_url":"https://extensions.blender.org/download/sha256:cf00fdad2d18855ecc66619205364da458738a82a0d1e2257ca3011de6fa7f7c/theme-momo-v5.0.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"k_tools_visibility_check","schema_version":"1.0.0","name":"Visibility Check","version":"2.5.2","tagline":"Check for mismatched objects in viewport and render view","archive_hash":"sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913","archive_size":6511,"archive_url":"https://extensions.blender.org/download/sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913/add-on-k-tools-visibility-check-v2.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-visibility-check/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render"]},{"id":"snap_utilities_line","schema_version":"1.0.0","name":"Snap Line Tool","version":"6.8.1","tagline":"Extends Blender Snap controls","archive_hash":"sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc","archive_size":32147,"archive_url":"https://extensions.blender.org/download/sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc/add-on-snap-utilities-line-v6.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-utilities-line/","maintainer":"mano-wii","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"dynamic_context_menu","schema_version":"1.0.0","name":"Dynamic Context Menu","version":"1.9.4","tagline":"Object Mode Context Sensitive Spacebar Menu","archive_hash":"sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5","archive_size":15679,"archive_url":"https://extensions.blender.org/download/sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5/add-on-dynamic-context-menu-v1.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-context-menu/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"open_linked","schema_version":"1.0.0","name":"Open Linked","version":"1.0.1","tagline":"Open linked blends from the Outliner","archive_hash":"sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3","archive_size":40897,"archive_url":"https://extensions.blender.org/download/sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3/add-on-open-linked-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-linked/","maintainer":"polygoniq","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"theme_CrimsonAttack","schema_version":"1.0.0","name":"Crimson Attack","version":"1.0.0","tagline":"A Red hue'd version of blue invasion","archive_hash":"sha256:c797984cfd094d88741f76100340a6885e11d0d815da2ad8d15676f99f3d620c","archive_size":6231,"archive_url":"https://extensions.blender.org/download/sha256:c797984cfd094d88741f76100340a6885e11d0d815da2ad8d15676f99f3d620c/theme-theme-crimsonattack-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-crimsonattack/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"mat_helperr","schema_version":"1.0.0","name":"MAT Helper","version":"1.2.1","tagline":"Smart PBR texture importer for UModel .mat & .json exports","archive_hash":"sha256:3386ada34896c54c73e1cffe52a1de9fdedc5a475324ddbcd08b6fa60691b9b6","archive_size":4011,"archive_url":"https://extensions.blender.org/download/sha256:3386ada34896c54c73e1cffe52a1de9fdedc5a475324ddbcd08b6fa60691b9b6/add-on-mat-helperr-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mat-helperr/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Import-Export"]},{"id":"texops","schema_version":"1.0.0","name":"TexOps","version":"1.0.0","tagline":"Texture Conversion, Generation, and Manipulation Operations","archive_hash":"sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9","archive_size":94059,"archive_url":"https://extensions.blender.org/download/sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9/add-on-texops-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texops/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Bake","Import-Export","User Interface"]},{"id":"VibeyTM_Pro","schema_version":"1.0.0","name":"Vibey™ Pro","version":"0.0.1","tagline":"Visually exciting yet fully functional","archive_hash":"sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92","archive_size":18840,"archive_url":"https://extensions.blender.org/download/sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92/theme-vibeytm-pro-v0.0.1.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/vibeytm-pro/","maintainer":"Fedor-Rezhenov","license":["SPDX:GPL-3.0-or-later"]},{"id":"Three_d_Cursor_Snap","schema_version":"1.0.0","name":"Three d Cursor Snap","version":"1.2.0","tagline":"Move 3d cursor like gizmo to snap vertex, edge and face","archive_hash":"sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55","archive_size":3579,"archive_url":"https://extensions.blender.org/download/sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55/add-on-three-d-cursor-snap-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/three-d-cursor-snap/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"gzm_mod","schema_version":"1.0.0","name":"GZM 3D model format","version":"1.0.2","tagline":"Import-export 3D models for the GZM game","archive_hash":"sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2","archive_size":288070,"archive_url":"https://extensions.blender.org/download/sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2/add-on-gzm-mod-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gzm-mod/","maintainer":"777-tanks","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"batch_camera_render","schema_version":"1.0.0","name":"Batch Render Cameras","version":"1.8.1","tagline":"Render animations from multiple selected cameras","archive_hash":"sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036","archive_size":3228,"archive_url":"https://extensions.blender.org/download/sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036/add-on-batch-camera-render-v1.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-camera-render/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create output folders for rendered frames"},"tags":["Render","Camera"]},{"id":"blur_hdri","schema_version":"1.0.0","name":"Blur HDRI","version":"0.0.6","tagline":"Blur HDRI Images by creating a new node with a Gaussian Blur","archive_hash":"sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7","archive_size":23644138,"archive_url":"https://extensions.blender.org/download/sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7/add-on-blur-hdri-v0.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blur-hdri/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Material","Lighting"]},{"id":"node_editor_pro","schema_version":"1.0.0","name":"Node Editor Pro","version":"0.5.0","tagline":"Organize nodes with auto-layout, snap and cleanup","archive_hash":"sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c","archive_size":4809,"archive_url":"https://extensions.blender.org/download/sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c/add-on-node-editor-pro-v0.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-pro/","maintainer":"the_visual_geek","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"data_scale","schema_version":"1.0.0","name":"ID Tools","version":"1.2.0","tagline":"Assortment of tools for the manipulation of data-blocks","archive_hash":"sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646","archive_size":22974,"archive_url":"https://extensions.blender.org/download/sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646/add-on-data-scale-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/data-scale/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Temporarily create .blend files to weigh them"},"tags":["Import-Export"]},{"id":"anim_offset_pro","schema_version":"1.0.0","name":"Anim Offset Pro","version":"1.3.0","tagline":"Offset poses across animation keyframes","archive_hash":"sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd","archive_size":5091,"archive_url":"https://extensions.blender.org/download/sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd/add-on-anim-offset-pro-v1.3.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-offset-pro/","maintainer":"Drika111.","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"dynamic_render_border","schema_version":"1.0.0","name":"Dynamic Render Border","version":"1.0.1","tagline":"Addon to create dynamic render borders for animations","archive_hash":"sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986","archive_size":7352,"archive_url":"https://extensions.blender.org/download/sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986/add-on-dynamic-render-border-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-render-border/","maintainer":"tobiaskummer","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Animation"]},{"id":"vectart_import","schema_version":"1.0.0","name":"Vectart Import","version":"1.0.4","tagline":"Import and preview vector files with layer management","archive_hash":"sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1","archive_size":19068,"archive_url":"https://extensions.blender.org/download/sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1/add-on-vectart-import-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-import/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to read and import SVG files from the disk"},"tags":["Modeling","Object"]},{"id":"shapeFitter","schema_version":"1.0.0","name":"Shape Fitter","version":"1.3.0","tagline":"Fit primitive shapes to verticies","archive_hash":"sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee","archive_size":10012,"archive_url":"https://extensions.blender.org/download/sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee/add-on-shapefitter-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapefitter/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"trimmer","schema_version":"1.0.0","name":"Trimmer","version":"0.3.0","tagline":"Simplified texturing workflow for trim-sheets","archive_hash":"sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5","archive_size":12275,"archive_url":"https://extensions.blender.org/download/sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5/add-on-trimmer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trimmer/","maintainer":"LaXHeXLuX","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"camera_viewer","schema_version":"1.0.0","name":"Camera Viewer","version":"1.1.4","tagline":"You can preview the camera view directly in the 3D viewport","archive_hash":"sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79","archive_size":11337,"archive_url":"https://extensions.blender.org/download/sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79/add-on-camera-viewer-v1.1.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-viewer/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"polyzamboni","schema_version":"1.0.0","name":"PolyZamboni","version":"1.2.2","tagline":"Papercraft in Blender","archive_hash":"sha256:1ae944f663de2898d1401cede5ca6368b941ee738d647321dc298db32d13871c","archive_size":14292071,"archive_url":"https://extensions.blender.org/download/sha256:1ae944f663de2898d1401cede5ca6368b941ee738d647321dc298db32d13871c/add-on-polyzamboni-v1.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polyzamboni/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export PDF/SVG to disk"},"platforms":["windows-x64"],"tags":["3D View","Import-Export"]},{"id":"meshstats","schema_version":"1.0.0","name":"Meshstats","version":"1.3.2","tagline":"Mesh statistics","archive_hash":"sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421","archive_size":55105,"archive_url":"https://extensions.blender.org/download/sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421/add-on-meshstats-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.2","website":"https://extensions.blender.org/add-ons/meshstats/","maintainer":"muhuk","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"requin_blue_theme","schema_version":"1.0.0","name":"Requin Blue","version":"1.2.0","tagline":"This is a Blender theme with a major blue color","archive_hash":"sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42","archive_size":6733,"archive_url":"https://extensions.blender.org/download/sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42/theme-requin-blue-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/themes/requin-blue-theme/","maintainer":"MozzarellaARC","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"auto_dark_mode","schema_version":"1.0.0","name":"Auto Dark Mode","version":"3.0.0","tagline":"Automatically follow the system light/dark mode","archive_hash":"sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b","archive_size":11993,"archive_url":"https://extensions.blender.org/download/sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b/add-on-auto-dark-mode-v3.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-dark-mode/","maintainer":"dprice","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read installed themes"},"tags":["System","User Interface"]},{"id":"blue_genes","schema_version":"1.0.0","name":"Blue Genes","version":"1.0.3","tagline":"Dark Blue, Readable Daily Driver","archive_hash":"sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e","archive_size":5997,"archive_url":"https://extensions.blender.org/download/sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e/theme-blue-genes-v1.0.3.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blue-genes/","maintainer":"SpectralVectors","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"save_with_versioning","schema_version":"1.0.0","name":"Save with Versioning","version":"2.1.0","tagline":"Save incremental and use published files for asset linking","archive_hash":"sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff","archive_size":20710,"archive_url":"https://extensions.blender.org/download/sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff/add-on-save-with-versioning-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/save-with-versioning/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save .blend files"},"tags":["Pipeline"]},{"id":"is_key_free","schema_version":"1.0.0","name":"Is key Free","version":"1.1.3","tagline":"Find free shortcuts, inform about used and print a key list","archive_hash":"sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a/add-on-is-key-free-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/is-key-free/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"node_presets","schema_version":"1.0.0","name":"Node Presets","version":"1.1.0","tagline":"Add node groups directly to the node editors","archive_hash":"sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04","archive_size":2398,"archive_url":"https://extensions.blender.org/download/sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04/add-on-node-presets-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-presets/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Node"]},{"id":"align_tools","schema_version":"1.0.0","name":"Align Tools","version":"0.3.6","tagline":"Align Selected Objects to Active Object","archive_hash":"sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de","archive_size":6743,"archive_url":"https://extensions.blender.org/download/sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de/add-on-align-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"archimesh","schema_version":"1.0.0","name":"Archimesh","version":"1.2.5","tagline":"Generate rooms, doors, windows, and other architecture objects","archive_hash":"sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87","archive_size":323488,"archive_url":"https://extensions.blender.org/download/sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87/add-on-archimesh-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/archimesh/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"scatter_objects","schema_version":"1.0.0","name":"Scatter Objects","version":"0.2.0","tagline":"Distribute object instances on another object","archive_hash":"sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b","archive_size":6876,"archive_url":"https://extensions.blender.org/download/sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b/add-on-scatter-objects-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scatter-objects/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"node_group_utilities","schema_version":"1.0.0","name":"Node Group Utilities","version":"2.1.1","tagline":"Extra options and functions for node groups","archive_hash":"sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5","archive_size":67952,"archive_url":"https://extensions.blender.org/download/sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5/add-on-node-group-utilities-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-utilities/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"flatterer","schema_version":"1.0.0","name":"Flatterer","version":"1.6.0","tagline":"Flat mesh to SVG exporter for laser cutters","archive_hash":"sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559","archive_size":383844,"archive_url":"https://extensions.blender.org/download/sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559/add-on-flatterer-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/flatterer/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG files to disk"},"tags":["Import-Export"]},{"id":"bombsquad_tools","schema_version":"1.0.0","name":"BombSquad Tools","version":"3.0.12","tagline":"Tools for creating BombSquad game assets","archive_hash":"sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00","archive_size":39147,"archive_url":"https://extensions.blender.org/download/sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00/add-on-bombsquad-tools-v3.0.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bombsquad-tools/","maintainer":"aryan02420","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .bob, .cob, and .json files"},"tags":["Import-Export","Scene"]},{"id":"vertex_group_assistant","schema_version":"1.0.0","name":"Vertex Group Assistant","version":"1.0.2","tagline":"Simplifies clothing rigging for avatars","archive_hash":"sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c","archive_size":3846,"archive_url":"https://extensions.blender.org/download/sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c/add-on-vertex-group-assistant-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-assistant/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"blender_Run_Scripts_From_Folder","schema_version":"1.0.0","name":"Run Scripts From Folder","version":"0.0.7","tagline":"Execute script from Script Directiories","archive_hash":"sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47","archive_size":2464,"archive_url":"https://extensions.blender.org/download/sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47/add-on-blender-run-scripts-from-folder-v0.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-run-scripts-from-folder/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read .py files from disk"},"tags":["System"]},{"id":"convert_rotation_mode","schema_version":"1.0.0","name":"Convert Rotation Mode","version":"1.5.1","tagline":"Change rotation mode whilst preserving animation","archive_hash":"sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec","archive_size":23134,"archive_url":"https://extensions.blender.org/download/sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec/add-on-convert-rotation-mode-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/convert-rotation-mode/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste bone transforms"},"tags":["Animation","3D View","Bake"]},{"id":"bdvd_SharpBlade","schema_version":"1.0.0","name":"Sharp Blade","version":"5.2.0","tagline":"Easy on the eyes, deep in the blue. Create freely","archive_hash":"sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24","archive_size":5892,"archive_url":"https://extensions.blender.org/download/sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24/theme-bdvd-sharpblade-v5.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/bdvd-sharpblade/","maintainer":"bdvd","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"dynamic_brush_menus","schema_version":"1.0.0","name":"Dynamic Brush Menus","version":"1.1.10","tagline":"Fast access to brushes & tools in Sculpt and Paint Modes","archive_hash":"sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400","archive_size":15222,"archive_url":"https://extensions.blender.org/download/sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400/add-on-dynamic-brush-menus-v1.1.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-brush-menus/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"image_sequence_to_mp4_video_converter","schema_version":"1.0.0","name":"Image Sequence to MP4 Video Converter","version":"1.0.3","tagline":"Convert image sequences to MP4 with custom resolution","archive_hash":"sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d","archive_size":8152,"archive_url":"https://extensions.blender.org/download/sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d/add-on-image-sequence-to-mp4-video-converter-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/image-sequence-to-mp4-video-converter/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"vertex_group_hierarchy_sorter","schema_version":"1.0.0","name":"Vertex Group Hierarchy Sorter","version":"1.0.4","tagline":"List vertex groups in armature hierarchy order","archive_hash":"sha256:943c36cb19536f4658439ef967455e8ae927620ebcd5421a1b3fe202823258b1","archive_size":15156,"archive_url":"https://extensions.blender.org/download/sha256:943c36cb19536f4658439ef967455e8ae927620ebcd5421a1b3fe202823258b1/add-on-vertex-group-hierarchy-sorter-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-hierarchy-sorter/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"expLODe","schema_version":"1.0.0","name":"expLODe","version":"1.0.2","tagline":"LOD automation script using Python and Blender","archive_hash":"sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74","archive_size":22275,"archive_url":"https://extensions.blender.org/download/sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74/add-on-explode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/explode/","maintainer":"Rainma22","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["Import-Export"]},{"id":"render_notifications_extension","schema_version":"1.0.0","name":"Render Notifications","version":"1.2.2","tagline":"Notifies you via Discord, desktop, or webhook on render events","archive_hash":"sha256:5ac923b73c553303352a38de784606aefa0580e2fa9002a33e09d956fb12c85e","archive_size":2804206,"archive_url":"https://extensions.blender.org/download/sha256:5ac923b73c553303352a38de784606aefa0580e2fa9002a33e09d956fb12c85e/add-on-render-notifications-extension-v1.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/render-notifications-extension/","maintainer":"JimmyNoStar","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Needed to send notifications via webhooks and Discord"},"platforms":["windows-x64"],"tags":["Render","System"]},{"id":"armature_deform_with_linked_groups","schema_version":"1.0.0","name":"Armature Deform with Linked Groups","version":"1.0.0","tagline":"Create an armature deformation using linked vertices","archive_hash":"sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2","archive_size":4824,"archive_url":"https://extensions.blender.org/download/sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2/add-on-armature-deform-with-linked-groups-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-deform-with-linked-groups/","maintainer":"Suchaaver","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Mesh"]},{"id":"eevee_projectors","schema_version":"1.0.0","name":"Eevee Projectors","version":"1.1.1","tagline":"Fake Projector lights in Eeve","archive_hash":"sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e","archive_size":285870,"archive_url":"https://extensions.blender.org/download/sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e/add-on-eevee-projectors-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/eevee-projectors/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","Object"]},{"id":"Arma3ObjectBuilder","schema_version":"1.0.0","name":"Arma 3 Object Builder","version":"2.5.1","tagline":"Comprehensive add-on for modding Arma 3","archive_hash":"sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009","archive_size":270830,"archive_url":"https://extensions.blender.org/download/sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009/add-on-arma3objectbuilder-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/arma3objectbuilder/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export operations on supported file formats"},"tags":["Import-Export","Game Engine","Object"]},{"id":"gp_to_curves","schema_version":"1.0.0","name":"Grease Pencil to Curves","version":"0.4.5","tagline":"Quickly convert Grease Pencil strokes to simple curves and hair","archive_hash":"sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5","archive_size":6977,"archive_url":"https://extensions.blender.org/download/sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5/add-on-gp-to-curves-v0.4.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-to-curves/","maintainer":"DadsCastle","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Add Curve","Modeling"]},{"id":"RigFlex","schema_version":"1.0.0","name":"RigFlex Simple Soft Body Simulation for Armatures","version":"4.2.1","tagline":"Simple Soft Body Simulation for Armatures","archive_hash":"sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064","archive_size":8750,"archive_url":"https://extensions.blender.org/download/sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064/add-on-rigflex-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigflex/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation","Physics","Rigging"]},{"id":"visibility_handler","schema_version":"1.0.0","name":"Visibility handler","version":"1.1.3","tagline":"Copy visibility from viewport to render settings or vice versa","archive_hash":"sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c","archive_size":8680,"archive_url":"https://extensions.blender.org/download/sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c/add-on-visibility-handler-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/visibility-handler/","maintainer":"DanielBystedt","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"FavoriteObjects","schema_version":"1.0.0","name":"Favorite Objects","version":"1.0.5","tagline":"Mark your favorite objects and select them from the Viewport","archive_hash":"sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6","archive_size":5933,"archive_url":"https://extensions.blender.org/download/sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6/add-on-favoriteobjects-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/favoriteobjects/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"property_chart","schema_version":"1.0.0","name":"Property Chart","version":"0.1.2","tagline":"Edit properties simultaneously for selected objects/sequencer","archive_hash":"sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed","archive_size":2959,"archive_url":"https://extensions.blender.org/download/sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed/add-on-property-chart-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/property-chart/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"Connecter","schema_version":"1.0.0","name":"Connecter","version":"0.6.20","tagline":"Streamlined Asset Management: Import & Export with Connecter DAM","archive_hash":"sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310","archive_size":392369,"archive_url":"https://extensions.blender.org/download/sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310/add-on-connecter-v0.6.20-windows-x64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/connecter/","maintainer":"DesignConnected","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export blend files from/to disk"},"platforms":["windows-x64","windows-arm64"],"tags":["Import-Export"]},{"id":"render_multiple_instances","schema_version":"1.0.0","name":"Render Multiple Instances","version":"3.2.1","tagline":"Render animations and Flipbooks faster with multiple instances","archive_hash":"sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc","archive_size":8380,"archive_url":"https://extensions.blender.org/download/sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc/add-on-render-multiple-instances-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-multiple-instances/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and read exports images"},"tags":["Render","Pipeline"]},{"id":"turnaround_camera","schema_version":"1.0.0","name":"Turnaround Camera","version":"0.3.0","tagline":"Add a camera rotation around selected object","archive_hash":"sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa","archive_size":3237,"archive_url":"https://extensions.blender.org/download/sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa/add-on-turnaround-camera-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turnaround-camera/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"carver","schema_version":"1.0.0","name":"Carver","version":"1.2.3","tagline":"Multiple tools to carve or to create objects","archive_hash":"sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b","archive_size":29032,"archive_url":"https://extensions.blender.org/download/sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b/add-on-carver-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/carver/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"lily_lime_theme","schema_version":"1.0.0","name":"LiLy Lime","version":"1.0.0","tagline":"A fresh LiLy Lime-inspired light theme for Blender","archive_hash":"sha256:64af2baa0f398da24c045d1e33265dfcc174fc2e2df0c23dbbdfb10e331829bb","archive_size":9509,"archive_url":"https://extensions.blender.org/download/sha256:64af2baa0f398da24c045d1e33265dfcc174fc2e2df0c23dbbdfb10e331829bb/theme-lily-lime-theme-v1.0.0.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/lily-lime-theme/","maintainer":"Eridanus-Epsilon","license":["SPDX:MIT"],"tags":["Light","Colorful","Inspired By"]},{"id":"Solemn_Theme","schema_version":"1.0.0","name":"Solemn","version":"1.0.1","tagline":"A clean and dark theme","archive_hash":"sha256:2ae08f3759820778a85132a84edc89b77faf2240f844638469d28932bdd57f5e","archive_size":6723,"archive_url":"https://extensions.blender.org/download/sha256:2ae08f3759820778a85132a84edc89b77faf2240f844638469d28932bdd57f5e/theme-solemn-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.1","website":"https://extensions.blender.org/themes/solemn-theme/","maintainer":"czod","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Dark_Max_Pro","schema_version":"1.0.0","name":"Dark Max Pro","version":"1.0.0","tagline":"Pro Dark Max","archive_hash":"sha256:fbdab60a32fc45ac3a8de80366bea7dd8fb2903d315daf9714e496f7516f3f6e","archive_size":5433,"archive_url":"https://extensions.blender.org/download/sha256:fbdab60a32fc45ac3a8de80366bea7dd8fb2903d315daf9714e496f7516f3f6e/theme-dark-max-pro-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-max-pro/","maintainer":"PedroAmorim","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"gp_select","schema_version":"1.0.0","name":"Gp Select","version":"1.1.6","tagline":"Grease Pencil selection, reordering, locking, and Rigging","archive_hash":"sha256:d12d305723072521be56a74564a20f772b3e0a71d6cfac633b2be9de09308ad7","archive_size":10373,"archive_url":"https://extensions.blender.org/download/sha256:d12d305723072521be56a74564a20f772b3e0a71d6cfac633b2be9de09308ad7/add-on-gp-select-v1.1.6.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/gp-select/","maintainer":"hissatsuneko","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Rigging"]},{"id":"stop_motion_style_animator","schema_version":"1.0.0","name":"Stop Motion Animator","version":"0.3.1","tagline":"Convert animations into stop-motion style","archive_hash":"sha256:264e8e39a2015709778e8c3fbb8c70585aabd438ee9737b9df538d1f9ad24917","archive_size":3004,"archive_url":"https://extensions.blender.org/download/sha256:264e8e39a2015709778e8c3fbb8c70585aabd438ee9737b9df538d1f9ad24917/add-on-stop-motion-style-animator-v0.3.1.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/stop-motion-style-animator/","maintainer":"Copperhead","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"alias_repowered","schema_version":"1.0.0","name":"Alias Repowered","version":"1.0.0","tagline":"Classic theme inspired by Alias Poweranimator","archive_hash":"sha256:b2d913d82657c2b4f5e91eb61d5fe3ed131b2601234714a2b6aefc7adc91a525","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:b2d913d82657c2b4f5e91eb61d5fe3ed131b2601234714a2b6aefc7adc91a525/theme-alias-repowered-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/alias-repowered/","maintainer":"Tetrabunz","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Light"]},{"id":"object_reporter","schema_version":"1.0.0","name":"Object Reporter","version":"2.4.5","tagline":"Report, edit, select and export objects by custom properties","archive_hash":"sha256:7691ac2222aebcc83143312b391bb43f44683972a68d6216a69b50d4eef7adfa","archive_size":71155,"archive_url":"https://extensions.blender.org/download/sha256:7691ac2222aebcc83143312b391bb43f44683972a68d6216a69b50d4eef7adfa/add-on-object-reporter-v2.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/object-reporter/","maintainer":"Justinas-Dudenas","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export object property reports to CSV files on disk"},"tags":["Object"]},{"id":"e_topology_smooth","schema_version":"1.0.0","name":"E Topology Smooth","version":"2.7.1","tagline":"Mesh topology smoothing with G0-G4 continuity analysis","archive_hash":"sha256:2428b86c5e340712ce74dfe731cf5601acf3222f187189a2495bc683d42282ba","archive_size":35954186,"archive_url":"https://extensions.blender.org/download/sha256:2428b86c5e340712ce74dfe731cf5601acf3222f187189a2495bc683d42282ba/add-on-e-topology-smooth-v2.7.1-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/e-topology-smooth/","maintainer":"Eridanus-Epsilon","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Mesh","Modeling"]},{"id":"frame_range_renderer","schema_version":"1.0.0","name":"Frame Range Renderer","version":"1.0.0","tagline":"Render specific frames or frame ranges from the Output panel","archive_hash":"sha256:36b5912e8efd5943a737161e6076a0fc4c5dd0aa949bb60850dd6d1e45d2da53","archive_size":8126,"archive_url":"https://extensions.blender.org/download/sha256:36b5912e8efd5943a737161e6076a0fc4c5dd0aa949bb60850dd6d1e45d2da53/add-on-frame-range-renderer-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/frame-range-renderer/","maintainer":"AndreasResch","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Writes output images to disk"}},{"id":"soleshapper","schema_version":"1.0.0","name":"SoleShapper","version":"2.0.1","tagline":"Procedural shoe sole designer with noise deformation","archive_hash":"sha256:3724521212c5bf026c78f3dccef1cee697355dceac3847de85350f9cdf8d3ae7","archive_size":23584,"archive_url":"https://extensions.blender.org/download/sha256:3724521212c5bf026c78f3dccef1cee697355dceac3847de85350f9cdf8d3ae7/add-on-soleshapper-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/soleshapper/","maintainer":"David-Orrick","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import OBJ meshes and export STL or OBJ"},"tags":["Add Mesh"]},{"id":"edge_length_measure","schema_version":"1.0.0","name":"Edge Length Measure","version":"1.0.0","tagline":"Measure mesh edge lengths in Object Mode","archive_hash":"sha256:1fb1319bf07728a6c8cd4478f28a8ebb03072f0f2f10a2f7392c8586bfb73a0e","archive_size":16761,"archive_url":"https://extensions.blender.org/download/sha256:1fb1319bf07728a6c8cd4478f28a8ebb03072f0f2f10a2f7392c8586bfb73a0e/add-on-edge-length-measure-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/edge-length-measure/","maintainer":"binary-angel","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Mesh","Modeling"]},{"id":"tu_addon_id","schema_version":"1.0.0","name":"GeneradorMapsPbr","version":"1.0.0","tagline":"Make texture metallic,specular,Roughtness,NormalMap,Height","archive_hash":"sha256:0b37d42af8905161a45836f5c1be098f1f22b9b171f46995b3c9828791ebe37b","archive_size":6065,"archive_url":"https://extensions.blender.org/download/sha256:0b37d42af8905161a45836f5c1be098f1f22b9b171f46995b3c9828791ebe37b/add-on-tu-addon-id-v1.0.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/tu-addon-id/","maintainer":"Fran-Dominguez-Leiva-2","license":["SPDX:GPL-3.0-or-later"]},{"id":"doblux_geometry_node_group_execute","schema_version":"1.0.0","name":"DOBLUX Button to execute Geometry Node Group","version":"1.1.1","tagline":"one-click execution of any open Geometry Node group","archive_hash":"sha256:2975816a00a2d28d2f8cb8f9ba6c7598208d07ce1e72e6795c847847b4495344","archive_size":2014,"archive_url":"https://extensions.blender.org/download/sha256:2975816a00a2d28d2f8cb8f9ba6c7598208d07ce1e72e6795c847847b4495344/add-on-doblux-geometry-node-group-execute-v1.1.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/doblux-geometry-node-group-execute/","maintainer":"Dan-Oak","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes","User Interface"]},{"id":"Crunchyroll_Dark","schema_version":"1.0.0","name":"Crunchyroll Dark","version":"1.0.0","tagline":"A Crunchyroll theme for Blender","archive_hash":"sha256:c8ce1657172ae7e855e8820d924070caab3bfeedb20a47fc12ec2abbbed17c55","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:c8ce1657172ae7e855e8820d924070caab3bfeedb20a47fc12ec2abbbed17c55/theme-crunchyroll-dark-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/crunchyroll-dark/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"EyeZen","schema_version":"1.0.0","name":"Eye Zen","version":"1.0.3","tagline":"A Relaxing Theme","archive_hash":"sha256:822e900972709f7402a5021b569ec8cc29074656d7a7037fc0a1434023287362","archive_size":5767,"archive_url":"https://extensions.blender.org/download/sha256:822e900972709f7402a5021b569ec8cc29074656d7a7037fc0a1434023287362/theme-eyezen-v1.0.3.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/eyezen/","maintainer":"Sakuta-Narukami","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Print"]},{"id":"randomizer","schema_version":"1.0.0","name":"Material Randomizer Pro","version":"1.10.0","tagline":"Material Randomization Tools","archive_hash":"sha256:8747ea7cad63a28ebba701b426f306ad6fc1bf8c66f7486c222a40120f902d46","archive_size":10795,"archive_url":"https://extensions.blender.org/download/sha256:8747ea7cad63a28ebba701b426f306ad6fc1bf8c66f7486c222a40120f902d46/add-on-randomizer-v1.10.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/randomizer/","maintainer":"lambdawalker","license":["SPDX:GPL-3.0-or-later"]},{"id":"Dark_Pro_Max_Theme","schema_version":"1.0.0","name":"Dark_Pro_Max_Theme","version":"1.0.7","tagline":"Dark Ultra Plus","archive_hash":"sha256:caad069699e852676784dface71c8af7264dd9e13ddd269c30ea148348d39cb3","archive_size":5658,"archive_url":"https://extensions.blender.org/download/sha256:caad069699e852676784dface71c8af7264dd9e13ddd269c30ea148348d39cb3/theme-dark-pro-max-theme-v1.0.7.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-pro-max-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"output_setup_helper","schema_version":"1.0.0","name":"Output Setup Helper","version":"5.0.1","tagline":"Auto setup render outputs and denoising for multi-pass renders","archive_hash":"sha256:2ae18a2f31ec11e134586c3dfae4df83732dbc5c42a39171a04ab3f6c4f2c848","archive_size":4450,"archive_url":"https://extensions.blender.org/download/sha256:2ae18a2f31ec11e134586c3dfae4df83732dbc5c42a39171a04ab3f6c4f2c848/add-on-output-setup-helper-v5.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/output-setup-helper/","maintainer":"lukas.remis","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Render","Pipeline"]},{"id":"poly_copy_paste","schema_version":"1.0.0","name":"Poly Copy Paste","version":"1.0.3","tagline":"Copy / Cut / Paste polygons with Ctrl+C / Ctrl+X / Ctrl+V","archive_hash":"sha256:b40714c0b14ccb768539ac4906e03ef91cd167361be51985671a49c608732942","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:b40714c0b14ccb768539ac4906e03ef91cd167361be51985671a49c608732942/add-on-poly-copy-paste-v1.0.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/poly-copy-paste/","maintainer":"Fisch_Tu","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"reflex_potentials","schema_version":"1.0.0","name":"Reflex Potentials","version":"1.0.3","tagline":"Reflex Potentials","archive_hash":"sha256:f41f8e3805cf75f8cb732dc24733ab839f5b7d633d136bcc59f40635245b1890","archive_size":35482,"archive_url":"https://extensions.blender.org/download/sha256:f41f8e3805cf75f8cb732dc24733ab839f5b7d633d136bcc59f40635245b1890/add-on-reflex-potentials-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/reflex-potentials/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"blender_source_theme","schema_version":"1.0.0","name":"Source","version":"1.0.0","tagline":"This is a Source Engine Based theme for Blender","archive_hash":"sha256:5a6aaaf773d46c437c98caef00c0dfede6a26d4b2ffdd0853fa099fdfe95ac49","archive_size":6684,"archive_url":"https://extensions.blender.org/download/sha256:5a6aaaf773d46c437c98caef00c0dfede6a26d4b2ffdd0853fa099fdfe95ac49/theme-blender-source-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blender-source-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"delete_empty_nla_tracks","schema_version":"1.0.0","name":"Delete Empty NLA Tracks","version":"1.0.0","tagline":"Remove empty NLA tracks from all objects","archive_hash":"sha256:e49031699498ec0f3bfd8904a6a29b30e0848f2d6443915298b63552999b6624","archive_size":2118,"archive_url":"https://extensions.blender.org/download/sha256:e49031699498ec0f3bfd8904a6a29b30e0848f2d6443915298b63552999b6624/add-on-delete-empty-nla-tracks-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/delete-empty-nla-tracks/","maintainer":"Rikokenz","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Blueprint_Theme","schema_version":"1.0.0","name":"Blueprint_Theme","version":"1.0.2","tagline":"True Blueprint Colour","archive_hash":"sha256:d8b64cbdeff3015626d95aa63b25a7925878d4008c223645790907c1ad49a547","archive_size":5669,"archive_url":"https://extensions.blender.org/download/sha256:d8b64cbdeff3015626d95aa63b25a7925878d4008c223645790907c1ad49a547/theme-blueprint-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"fk_ik_snapping_tools","schema_version":"1.0.0","name":"FK/IK Snapping Tools","version":"1.0.0","tagline":"Seamlessly snap FK controls to IK and vice versa","archive_hash":"sha256:002108bd615d7e54428eac30c42e80215c917e61d904ddbd33da0eb3c84118f2","archive_size":3458,"archive_url":"https://extensions.blender.org/download/sha256:002108bd615d7e54428eac30c42e80215c917e61d904ddbd33da0eb3c84118f2/add-on-fk-ik-snapping-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fk-ik-snapping-tools/","maintainer":"atrxi","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"Nostalgia_2bit_UI","schema_version":"1.0.0","name":"Nostalgia_2bit_UI","version":"1.2.0","tagline":"Reminiscence Y2K Era Grey UI","archive_hash":"sha256:5f5dee8bcd3b83269ccc328bfdc9783549224cb06977dbad1f2253fc00ce01bc","archive_size":5558,"archive_url":"https://extensions.blender.org/download/sha256:5f5dee8bcd3b83269ccc328bfdc9783549224cb06977dbad1f2253fc00ce01bc/theme-nostalgia-2bit-ui-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nostalgia-2bit-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"BLeQ_Extension","schema_version":"1.0.0","name":"BLeQ","version":"1.0.5","tagline":"Renderqueue / 3DHomePage / Hardwaremonitor / Tools","archive_hash":"sha256:286cefdc0eaeabc2e348c1e26ac7c5eaec9946603e3570aa5382a1704132c0ac","archive_size":35304,"archive_url":"https://extensions.blender.org/download/sha256:286cefdc0eaeabc2e348c1e26ac7c5eaec9946603e3570aa5382a1704132c0ac/add-on-bleq-extension-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bleq-extension/","maintainer":"Christian-Makarski","license":["SPDX:GPL-3.0-or-later"]},{"id":"driver_copy_io","schema_version":"1.0.0","name":"Driver Copy IO","version":"2.1.1","tagline":"Copy/Paste drivers via JSON using full path","archive_hash":"sha256:58a88728287093155bb2f61c7a7e526c2923c0889872d4613bf2db867dba207d","archive_size":21147,"archive_url":"https://extensions.blender.org/download/sha256:58a88728287093155bb2f61c7a7e526c2923c0889872d4613bf2db867dba207d/add-on-driver-copy-io-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/driver-copy-io/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"modifier_manager","schema_version":"1.0.0","name":"Modifier Manager","version":"1.0.2","tagline":"Manage your modifiers from right click menu","archive_hash":"sha256:0e03355dba011e705ff220940779f32169080136f625866173e8a79077f87f29","archive_size":11707,"archive_url":"https://extensions.blender.org/download/sha256:0e03355dba011e705ff220940779f32169080136f625866173e8a79077f87f29/add-on-modifier-manager-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifier-manager/","maintainer":"KewlSheet","license":["SPDX:GPL-3.0-or-later"]},{"id":"mockup_screenshoter","schema_version":"1.0.0","name":"Mockup Screenshoter","version":"0.9.1","tagline":"Capture your screen to make mockups in Penpot","archive_hash":"sha256:16c2d787b49297921eebec6f3bebf1727606c435f1053f6ed6eab55280bbd96e","archive_size":6437,"archive_url":"https://extensions.blender.org/download/sha256:16c2d787b49297921eebec6f3bebf1727606c435f1053f6ed6eab55280bbd96e/add-on-mockup-screenshoter-v0.9.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mockup-screenshoter/","maintainer":"Blender","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary folder for the screen captures","clipboard":"Copy Penpot-ready json into the clipboard"},"tags":["Development"]},{"id":"SilhouetteToole","schema_version":"1.0.0","name":"SilhouetteToole","version":"1.9.3","tagline":"One-click viewport silhouette mode","archive_hash":"sha256:3d21f4e70cbc54a5ad89ce8169dcec502cad3d4d5a96c3cbd899ddee1ec82bc9","archive_size":2042,"archive_url":"https://extensions.blender.org/download/sha256:3d21f4e70cbc54a5ad89ce8169dcec502cad3d4d5a96c3cbd899ddee1ec82bc9/add-on-silhouettetoole-v1.9.3.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/silhouettetoole/","maintainer":"Quinzy","license":["SPDX:GPL-3.0-or-later"]},{"id":"b3d_ui_langloop","schema_version":"1.0.0","name":"B3D UI Language Loop","version":"1.0.3","tagline":"Quickly cycle Blender interface languages with a shortcut","archive_hash":"sha256:63bf8c9073919e21a7eb49b352d02a54f71057cfe26adce7f9d2337ac9a0b866","archive_size":6240,"archive_url":"https://extensions.blender.org/download/sha256:63bf8c9073919e21a7eb49b352d02a54f71057cfe26adce7f9d2337ac9a0b866/add-on-b3d-ui-langloop-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b3d-ui-langloop/","maintainer":"楊景貴","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Expecto_Patronum_Theme","schema_version":"1.0.0","name":"Expecto_Patronum_Theme","version":"1.0.3","tagline":"Airy Guardian Spirit","archive_hash":"sha256:1ee61a9edc6269794d63c81759358bd43e06b7fae27271ad235ac8b25af0ee05","archive_size":5717,"archive_url":"https://extensions.blender.org/download/sha256:1ee61a9edc6269794d63c81759358bd43e06b7fae27271ad235ac8b25af0ee05/theme-expecto-patronum-theme-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/expecto-patronum-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"tree_clipper","schema_version":"1.0.0","name":"Tree Clipper","version":"0.1.6","tagline":"Export and import Blender node trees as JSON","archive_hash":"sha256:e67f50a0da6699a7257e93f10be341f5e3461d070d808c2281264d8d0ac8de44","archive_size":52846,"archive_url":"https://extensions.blender.org/download/sha256:e67f50a0da6699a7257e93f10be341f5e3461d070d808c2281264d8d0ac8de44/add-on-tree-clipper-v0.1.6.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/tree-clipper/","maintainer":"Lars-Helge-Scheel","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Node"]},{"id":"shapingrecorder","schema_version":"1.0.0","name":"Shaping Recorder","version":"0.7.5","tagline":"Record mesh shaping and viewport moves, replay interpolated","archive_hash":"sha256:a10c5e07c373447ad896741da47cc8a4fc831852c2f09261b57c120f2f8c3596","archive_size":38248,"archive_url":"https://extensions.blender.org/download/sha256:a10c5e07c373447ad896741da47cc8a4fc831852c2f09261b57c120f2f8c3596/add-on-shapingrecorder-v0.7.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapingrecorder/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write image sequences"},"tags":["Modeling"]},{"id":"reforge","schema_version":"1.0.0","name":"Reforge","version":"0.5.2","tagline":"Reforge Blender scenes into Defold assets","archive_hash":"sha256:15bd625739050ad3a4b3641ebdebfac6298330c02dee5d0b1bc08eb96b47f811","archive_size":16167,"archive_url":"https://extensions.blender.org/download/sha256:15bd625739050ad3a4b3641ebdebfac6298330c02dee5d0b1bc08eb96b47f811/add-on-reforge-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reforge/","maintainer":"Alexander-Bulatov","license":["SPDX:GPL-3.0-or-later"]},{"id":"comparable","schema_version":"1.0.0","name":"Comparable","version":"1.0.2","tagline":"Compare two objects or collections in one click","archive_hash":"sha256:b72d64fdb22b697a07806b75fcf932348475e326fc38b27d9230ddc0aae2116d","archive_size":3981,"archive_url":"https://extensions.blender.org/download/sha256:b72d64fdb22b697a07806b75fcf932348475e326fc38b27d9230ddc0aae2116d/add-on-comparable-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/comparable/","maintainer":"ffuthoni","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"screenwriter","schema_version":"1.0.0","name":"Screenwriter","version":"1.0.0","tagline":"Screenplay formatting and syncing tools for Blender","archive_hash":"sha256:ea16e42750bde882d4e1ceed7a74d55e020bb52bed06816615f9d5e162f6c2c6","archive_size":7307,"archive_url":"https://extensions.blender.org/download/sha256:ea16e42750bde882d4e1ceed7a74d55e020bb52bed06816615f9d5e162f6c2c6/add-on-screenwriter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/screenwriter/","maintainer":"zhengyang237","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing .fountain files"}},{"id":"image_zoom_overlay","schema_version":"1.0.0","name":"Image Zoom Overlay","version":"1.0.0","tagline":"Display zoom level in Image Editor with quick presets","archive_hash":"sha256:96407335647d7191ba1522818bd6f5b9e15be10fd896c50a18a5330e4d09e154","archive_size":2896,"archive_url":"https://extensions.blender.org/download/sha256:96407335647d7191ba1522818bd6f5b9e15be10fd896c50a18a5330e4d09e154/add-on-image-zoom-overlay-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/image-zoom-overlay/","maintainer":"pikok85","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to image editor display settings"},"tags":["User Interface"]},{"id":"pataz_notes","schema_version":"1.0.0","name":"Pataz Notes","version":"5.1.1","tagline":"Anotate your blend files","archive_hash":"sha256:41e6e18fe44ba530a0525c3f1543a54589096fe017ad1dac108aa96a03ab72b0","archive_size":4385,"archive_url":"https://extensions.blender.org/download/sha256:41e6e18fe44ba530a0525c3f1543a54589096fe017ad1dac108aa96a03ab72b0/add-on-pataz-notes-v5.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-notes/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"local_view_collection","schema_version":"1.0.0","name":"Local View by collection","version":"1.0.1","tagline":"Quickly isolate into local view the objects of a collection","archive_hash":"sha256:b3787414e05eb4fec2321dfa8869b24a904daca1a94537c0624733dd171b9e7b","archive_size":5631,"archive_url":"https://extensions.blender.org/download/sha256:b3787414e05eb4fec2321dfa8869b24a904daca1a94537c0624733dd171b9e7b/add-on-local-view-collection-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/local-view-collection/","maintainer":"D3W3","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","User Interface"]},{"id":"omoospace","schema_version":"1.0.0","name":"Omoospace","version":"0.2.1","tagline":"Manage your project files in omoospace's way","archive_hash":"sha256:fda909ae9183036292520db5c2e8b564f43f7156c0acb1ede24b38eeab8a04cf","archive_size":1669373,"archive_url":"https://extensions.blender.org/download/sha256:fda909ae9183036292520db5c2e8b564f43f7156c0acb1ede24b38eeab8a04cf/add-on-omoospace-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omoospace/","maintainer":"icrdr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Manage your project files in omoospace's way"},"platforms":["windows-x64"],"tags":["Pipeline"]},{"id":"export_curve_to_json","schema_version":"1.0.0","name":"Export Curve To Json","version":"1.0.2","tagline":"File import/export for curves with JSON","archive_hash":"sha256:3646464bdf053849db751b2222790836064e5e268c70ef559f89bacde467c115","archive_size":18907,"archive_url":"https://extensions.blender.org/download/sha256:3646464bdf053849db751b2222790836064e5e268c70ef559f89bacde467c115/add-on-export-curve-to-json-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-curve-to-json/","maintainer":"Quint-Vrolijk","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"sculpting_extra_meshes_curve","schema_version":"1.0.0","name":"Sculpting Extra Meshes + Curve","version":"1.2.1","tagline":"Add primitives, join, boolean, mirror while in Sculpt Mode","archive_hash":"sha256:1ffdfc6d35b339f74a33a425a63d896b0c1516306e1c70b14974ea032f47f556","archive_size":3706,"archive_url":"https://extensions.blender.org/download/sha256:1ffdfc6d35b339f74a33a425a63d896b0c1516306e1c70b14974ea032f47f556/add-on-sculpting-extra-meshes-curve-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sculpting-extra-meshes-curve/","maintainer":"pixldg","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt"]},{"id":"global_custom_properties","schema_version":"1.0.0","name":"Global Custom Properties","version":"1.0.0","tagline":"Reusable Custom Properties on Objects and Collections","archive_hash":"sha256:9775ca35a3b7fb12a8c36dcbde85c8497a0ddd8938ec180416d9f23d9907d128","archive_size":18782,"archive_url":"https://extensions.blender.org/download/sha256:9775ca35a3b7fb12a8c36dcbde85c8497a0ddd8938ec180416d9f23d9907d128/add-on-global-custom-properties-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/global-custom-properties/","maintainer":"1hue","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"SimpleMIDI","schema_version":"1.0.0","name":"SimpleMIDI","version":"0.1.13","tagline":"Control object parameters through MIDI Input","archive_hash":"sha256:1c9001d8ced49c7dd63ec3c88c69f3095eff57dd00b6d45f136dd6a00b67db16","archive_size":279077,"archive_url":"https://extensions.blender.org/download/sha256:1c9001d8ced49c7dd63ec3c88c69f3095eff57dd00b6d45f136dd6a00b67db16/add-on-simplemidi-v0.1.13-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simplemidi/","maintainer":"yadu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Imports and exports JSON for target maps"},"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"curve_fillet_tool","schema_version":"1.0.0","name":"NURBS/Poly Fillet Tool","version":"1.0.0","tagline":"Fillet and 'unfillet' for paths","archive_hash":"sha256:07d671b719e336aba5192208baf4951d2db3cf161e56350c3fb405fb3b6b1df7","archive_size":17360,"archive_url":"https://extensions.blender.org/download/sha256:07d671b719e336aba5192208baf4951d2db3cf161e56350c3fb405fb3b6b1df7/add-on-curve-fillet-tool-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/curve-fillet-tool/","maintainer":"zaphod","license":["SPDX:GPL-3.0-or-later"]},{"id":"time_stretch_sync","schema_version":"1.0.0","name":"Time Stretch Sync","version":"1.1.0","tagline":"Sync timeline range, playline and operators with timestretching","archive_hash":"sha256:347dd396d927096a9f8c361e79214b2a612a5ca8208274a667ee207195f5df4c","archive_size":13493,"archive_url":"https://extensions.blender.org/download/sha256:347dd396d927096a9f8c361e79214b2a612a5ca8208274a667ee207195f5df4c/add-on-time-stretch-sync-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-stretch-sync/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"render_subcollections","schema_version":"1.0.0","name":"Render Subcollections","version":"1.0.1","tagline":"Automatically renders subcollections one by one","archive_hash":"sha256:54f2c7f20d243d96a7575d8083e92de190a0ceb9149e3757491c82cad3833066","archive_size":3353,"archive_url":"https://extensions.blender.org/download/sha256:54f2c7f20d243d96a7575d8083e92de190a0ceb9149e3757491c82cad3833066/add-on-render-subcollections-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-subcollections/","maintainer":"Nico-Peters","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Camera"]},{"id":"Dissolve2EdgeVertices","schema_version":"1.0.0","name":"Dissolve 2-Edge Vertices","version":"1.1.0","tagline":"Dissolve vertices with two edges to clean up mesh topology","archive_hash":"sha256:6bfec11aea3f67f68c75897824e690f2110b5a0a84f57b8c9681e1b46a60241a","archive_size":1920,"archive_url":"https://extensions.blender.org/download/sha256:6bfec11aea3f67f68c75897824e690f2110b5a0a84f57b8c9681e1b46a60241a/add-on-dissolve2edgevertices-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dissolve2edgevertices/","maintainer":"Jackal","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"beyond_channel_packer","schema_version":"1.0.0","name":"Beyond Channel Packer","version":"1.0.2","tagline":"Pack image channels (RGBA) in the Image Editor","archive_hash":"sha256:713e336af49bf826e91aead72025eadd114580927d24e33e0493583e187b7e77","archive_size":22143,"archive_url":"https://extensions.blender.org/download/sha256:713e336af49bf826e91aead72025eadd114580927d24e33e0493583e187b7e77/add-on-beyond-channel-packer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.9.999","website":"https://extensions.blender.org/add-ons/beyond-channel-packer/","maintainer":"tyler.tofu","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","Paint"]},{"id":"topology_doctor","schema_version":"1.0.0","name":"Topology Doctor","version":"1.0.0","tagline":"One-click topology analysis and repair assistant","archive_hash":"sha256:79c03ca9c72968c3badfb6ecd2e4aba1fbc6fd8818681c453ddc95ad1f4ad3dd","archive_size":16947,"archive_url":"https://extensions.blender.org/download/sha256:79c03ca9c72968c3badfb6ecd2e4aba1fbc6fd8818681c453ddc95ad1f4ad3dd/add-on-topology-doctor-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/topology-doctor/","maintainer":"Arman-Jangmiri","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Required to copy the topology analysis report text to clipboard"}},{"id":"chordsong","schema_version":"1.0.0","name":"Chord Song","version":"1.1.5","tagline":"Vim-like key implementation for Blender","archive_hash":"sha256:c3e04f8a11c9813a505b063ba222c990815f9f667ea8779ee7a4b0c0835c0405","archive_size":175781,"archive_url":"https://extensions.blender.org/download/sha256:c3e04f8a11c9813a505b063ba222c990815f9f667ea8779ee7a4b0c0835c0405/add-on-chordsong-v1.1.5.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/chordsong/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Development"]},{"id":"keyboard_layout_emulation","schema_version":"1.0.0","name":"Keyboard Layout Emulation","version":"1.0.2","tagline":"Emulate QWERTY keyboard shortcuts on non-QWERTY keyboard layouts","archive_hash":"sha256:16913e50665a8e293b248d82aec64859f67c4c0932a3ef41b765cbcb603b2e04","archive_size":32090,"archive_url":"https://extensions.blender.org/download/sha256:16913e50665a8e293b248d82aec64859f67c4c0932a3ef41b765cbcb603b2e04/add-on-keyboard-layout-emulation-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyboard-layout-emulation/","maintainer":"endorh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export keyboard layouts/add-on preferences"},"tags":["User Interface"]},{"id":"ghostview","schema_version":"1.0.0","name":"GhostView","version":"1.0.2","tagline":"Adjust Window Opacity","archive_hash":"sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2","archive_size":1997,"archive_url":"https://extensions.blender.org/download/sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2/add-on-ghostview-v1.0.2-windows-x64-windows-arm64-macos-x64-macos-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ghostview/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","windows-arm64","macos-x64","macos-arm64"],"tags":["User Interface","System"]},{"id":"LightNCreamy","schema_version":"1.0.0","name":"Light N Creamy","version":"1.0.0","tagline":"Modern light and creamy theme","archive_hash":"sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7","archive_size":3828,"archive_url":"https://extensions.blender.org/download/sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7/theme-lightncreamy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/lightncreamy/","maintainer":"nova3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"majik_blender_edu_teacher","schema_version":"1.0.0","name":"Majik Blender Edu","version":"1.1.4","tagline":"Submission integrity tool for educators to verify students' work","archive_hash":"sha256:fc1007990be6653f524611f8c7f1daf8b043dcb0bc55d7fb103d26612786446f","archive_size":3743388,"archive_url":"https://extensions.blender.org/download/sha256:fc1007990be6653f524611f8c7f1daf8b043dcb0bc55d7fb103d26612786446f/add-on-majik-blender-edu-teacher-v1.1.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/majik-blender-edu-teacher/","maintainer":"Zelijah","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write keys and logs as JSON for integrity verification","network":"Access required for JSON file analysis"},"platforms":["windows-x64"],"tags":["Pipeline"]},{"id":"theme_elsyiun_like","schema_version":"1.0.0","name":"elsyiun like","version":"1.1.0","tagline":"A flat dark theme that is easy on the eyes","archive_hash":"sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1","archive_size":5639,"archive_url":"https://extensions.blender.org/download/sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1/theme-theme-elsyiun-like-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-elsyiun-like/","maintainer":"modekichi","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"only_blends_mixer","schema_version":"1.0.0","name":"OnlyBlends.Mixer","version":"0.1.4","tagline":"An extension to turn Blender into a Mixer... of Sounds","archive_hash":"sha256:9b4dfdd0e1da99931f745bd89229c3ed3edb2fa89bedfd0b6afc481b8a3bf347","archive_size":54096,"archive_url":"https://extensions.blender.org/download/sha256:9b4dfdd0e1da99931f745bd89229c3ed3edb2fa89bedfd0b6afc481b8a3bf347/add-on-only-blends-mixer-v0.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-mixer/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline"]},{"id":"viewport_navigation_display","schema_version":"1.0.0","name":"Viewport Navigation Display","version":"1.2.1","tagline":"Visualize and control other viewports from TOP view","archive_hash":"sha256:3764c677ad34d57510e22257ff61646ab4ec8a25d2599486588d2bf9ab2bba01","archive_size":44446,"archive_url":"https://extensions.blender.org/download/sha256:3764c677ad34d57510e22257ff61646ab4ec8a25d2599486588d2bf9ab2bba01/add-on-viewport-navigation-display-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-navigation-display/","maintainer":"Cristiano-Tosoni","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","User Interface"]},{"id":"viewport_fps","schema_version":"1.0.0","name":"Viewport FPS","version":"1.0.2","tagline":"Displays frames per second in current 3D viewport","archive_hash":"sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f","archive_size":3040,"archive_url":"https://extensions.blender.org/download/sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f/add-on-viewport-fps-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-fps/","maintainer":"Pazelock","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","System"]},{"id":"asset_shelf_shortcut_display","schema_version":"1.0.0","name":"Asset Shelf Shortcut Display","version":"1.0.0","tagline":"Adds a line with hotkey/shortcut of the asset in the shelf","archive_hash":"sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad","archive_size":2816,"archive_url":"https://extensions.blender.org/download/sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad/add-on-asset-shelf-shortcut-display-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/asset-shelf-shortcut-display/","maintainer":"The-Loose-Spirit","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_signs","schema_version":"1.0.0","name":"QuickSigns","version":"1.0.1","tagline":"Create 3D text signs with Google Fonts integration","archive_hash":"sha256:d24a17ff92d6a2bbcbc7767c5c4f0a92eee7c6a564e900db4fd993545f9d9959","archive_size":9089,"archive_url":"https://extensions.blender.org/download/sha256:d24a17ff92d6a2bbcbc7767c5c4f0a92eee7c6a564e900db4fd993545f9d9959/add-on-quick-signs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-signs/","maintainer":"Marin-Brouwers","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write font files to local storage","network":"Access Google Fonts API for font search and download"},"tags":["Import-Export"]},{"id":"dy_pack_master","schema_version":"1.0.0","name":"dy Pack Master","version":"1.0.1","tagline":"Make Blender projects portable for render farms","archive_hash":"sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f","archive_size":34845,"archive_url":"https://extensions.blender.org/download/sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f/add-on-dy-pack-master-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dy-pack-master/","maintainer":"cdordelly","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Copies and localizes external assets to project directory"},"tags":["Pipeline","Import-Export","System"]},{"id":"cycles_bake_info","schema_version":"1.0.0","name":"Bake Info","version":"1.0.2","tagline":"fast bake checkup","archive_hash":"sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5/add-on-cycles-bake-info-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cycles-bake-info/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"Areas_by_Materials","schema_version":"1.0.0","name":"Areas by Materials","version":"1.6.0","tagline":"Displays information about areas of materials in selection","archive_hash":"sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9","archive_size":3609,"archive_url":"https://extensions.blender.org/download/sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9/add-on-areas-by-materials-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/areas-by-materials/","maintainer":"Justinas-Dudenas","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","User Interface"]},{"id":"quill","schema_version":"1.0.0","name":"Quill Import/Export","version":"1.4.0","tagline":"Import and export Quill VR illustrations and animations","archive_hash":"sha256:b86a09ba42271d0137a24d2e302efee738944c83cfe84160f1f5f9b681e61636","archive_size":52053,"archive_url":"https://extensions.blender.org/download/sha256:b86a09ba42271d0137a24d2e302efee738944c83cfe84160f1f5f9b681e61636/add-on-quill-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quill/","maintainer":"Joan-Charmant","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export Quill projects from/to disk"},"tags":["Import-Export"]},{"id":"splats","schema_version":"1.0.0","name":"Splats","version":"1.0.1","tagline":"Generate multi-view training data for Gaussian Splatting","archive_hash":"sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2","archive_size":15856,"archive_url":"https://extensions.blender.org/download/sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2/add-on-splats-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/splats/","maintainer":"Dev.Patel","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PLY point clouds and render output files"},"tags":["Render","Camera"]},{"id":"export_curve_as_svg","schema_version":"1.0.0","name":"Export Curve as SVG","version":"1.0.0","tagline":"Export selected Bezier and Poly curves as SVG files","archive_hash":"sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990","archive_size":16937,"archive_url":"https://extensions.blender.org/download/sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990/add-on-export-curve-as-svg-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-curve-as-svg/","maintainer":"Gilberto.R","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"asset_library_tools","schema_version":"1.0.0","name":"Asset Library Tools","version":"1.0.0","tagline":"Filter assets by tags and catalogue backups for asset libraries","archive_hash":"sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37","archive_size":15607,"archive_url":"https://extensions.blender.org/download/sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37/add-on-asset-library-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-library-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write tag indexes and catalogue backup files"},"tags":["System","User Interface","Pipeline"]},{"id":"redlix_theme","schema_version":"1.0.0","name":"Redlix Theme","version":"1.0.0","tagline":"Cooperative brutalist framework - retro-futuristic design system","archive_hash":"sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8","archive_size":4968,"archive_url":"https://extensions.blender.org/download/sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8/theme-redlix-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redlix-theme/","maintainer":"redlix","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"ftw_flattening_toolset","schema_version":"1.0.0","name":"FTW Flattening Toolset","version":"2.0.0","tagline":"UV workflow: flattening, curve alignment, scaling, UV transfer","archive_hash":"sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a","archive_size":1176759,"archive_url":"https://extensions.blender.org/download/sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a/add-on-ftw-flattening-toolset-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw-flattening-toolset/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"]},{"id":"folded_paper_engine","schema_version":"1.0.0","name":"Folded Paper Engine","version":"1.0.6","tagline":"Define gameplay in Blender and play in Godot with a few clicks","archive_hash":"sha256:036c41c8dc4cd88fde3f2259d17e8d2d84b5a396b869bc48ce0fa95a70d324b0","archive_size":13799,"archive_url":"https://extensions.blender.org/download/sha256:036c41c8dc4cd88fde3f2259d17e8d2d84b5a396b869bc48ce0fa95a70d324b0/add-on-folded-paper-engine-v1.0.6.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/folded-paper-engine/","maintainer":"Papercraft-Games","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"tags":["Import-Export","Game Engine","Pipeline"]},{"id":"gather_resources","schema_version":"1.0.0","name":"Gather Resources","version":"0.5.2","tagline":"Collect project media into a local folder","archive_hash":"sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3","archive_size":10373,"archive_url":"https://extensions.blender.org/download/sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3/add-on-gather-resources-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gather-resources/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read project media files and copy them into a local directory"},"tags":["System","Pipeline"]},{"id":"rendercue","schema_version":"1.0.0","name":"RenderCue","version":"1.1.3","tagline":"Sequence. Queue. Render","archive_hash":"sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b","archive_size":52378,"archive_url":"https://extensions.blender.org/download/sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b/add-on-rendercue-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rendercue/","maintainer":"UsamaSQ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save renders to user-defined directories","network":"Send render notifications via Webhooks"},"tags":["Render","Pipeline"]},{"id":"character_pipeline_tracker","schema_version":"1.0.0","name":"Character Pipeline Tracker","version":"1.0.0","tagline":"Track and automate character creation pipeline stages","archive_hash":"sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010","archive_size":27555,"archive_url":"https://extensions.blender.org/download/sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010/add-on-character-pipeline-tracker-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/character-pipeline-tracker/","maintainer":"Evgeny-Lisichik","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"spine_io","schema_version":"1.0.0","name":"Spine IO","version":"0.0.3","tagline":"Export bone-driven Spine 4.3 JSON files","archive_hash":"sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e","archive_size":29815,"archive_url":"https://extensions.blender.org/download/sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e/add-on-spine-io-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spine-io/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read textures and write Spine JSON"},"tags":["Import-Export","Rigging","Animation"]},{"id":"cam_tools","schema_version":"1.0.0","name":"Cam Tools","version":"1.1.0","tagline":"Streamlined camera workflow toolkit","archive_hash":"sha256:1140c5de02db1814f024ce9838b0aa772901ccccb320b6c79613932d61b8fc3c","archive_size":39272,"archive_url":"https://extensions.blender.org/download/sha256:1140c5de02db1814f024ce9838b0aa772901ccccb320b6c79613932d61b8fc3c/add-on-cam-tools-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cam-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"camfree","schema_version":"1.0.0","name":"CamFree","version":"1.0.5","tagline":"Fly/Walk Navigation on Cameras with Constraints","archive_hash":"sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344","archive_size":2409,"archive_url":"https://extensions.blender.org/download/sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344/add-on-camfree-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camfree/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"sort_viewlayers_rmb","schema_version":"1.0.0","name":"RMB Sort View Layers Alphabetically in Outliner-Scenes","version":"0.0.2","tagline":"RMB Sort View Layers Alphabetically in Outliner-Scenes","archive_hash":"sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0","archive_size":2908,"archive_url":"https://extensions.blender.org/download/sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0/add-on-sort-viewlayers-rmb-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sort-viewlayers-rmb/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"voda_theme_cinnamon","schema_version":"1.0.0","name":"Cinnamon","version":"1.0.0","tagline":"Cinnamon-Orange themed Blender with a gradiented kick","archive_hash":"sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d","archive_size":6549,"archive_url":"https://extensions.blender.org/download/sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d/theme-voda-theme-cinnamon-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/voda-theme-cinnamon/","maintainer":"VaVo","license":["SPDX:CC0-1.0"]},{"id":"Studio_Dark","schema_version":"1.0.0","name":"Studio Dark","version":"1.7.2","tagline":"Sharp colors, comfortable contrast, white select, green active","archive_hash":"sha256:3f517f79fcd469336a85f10b9084d183a696c9b9408f8bed106b5a4408b045d8","archive_size":5416,"archive_url":"https://extensions.blender.org/download/sha256:3f517f79fcd469336a85f10b9084d183a696c9b9408f8bed106b5a4408b045d8/theme-studio-dark-v1.7.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/studio-dark/","maintainer":"3DDinosaur","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"khellstr_light","schema_version":"1.0.0","name":"khellstr light theme","version":"1.0.0","tagline":"Balanced Light Theme for Blender","archive_hash":"sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d","archive_size":6493,"archive_url":"https://extensions.blender.org/download/sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d/theme-khellstr-light-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/khellstr-light/","maintainer":"Kimmo-Hellström","license":["SPDX:GPL-3.0-or-later"]},{"id":"Black","schema_version":"1.0.0","name":"Black","version":"5.0.4","tagline":"A black theme, probably the blackest one","archive_hash":"sha256:3167d027740b8693d0a97af41ee0fbedfde3fc378c8900ddb43adf5935600f64","archive_size":5200,"archive_url":"https://extensions.blender.org/download/sha256:3167d027740b8693d0a97af41ee0fbedfde3fc378c8900ddb43adf5935600f64/theme-black-v5.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/black/","maintainer":"Gurra","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"root_maker","schema_version":"1.0.0","name":"RootMaker","version":"1.0.1","tagline":"Create root bone & bake into actions","archive_hash":"sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3","archive_size":6592,"archive_url":"https://extensions.blender.org/download/sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3/add-on-root-maker-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/root-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging","Bake"]},{"id":"k_tools_texture_map_loader","schema_version":"1.0.0","name":"K-Tools: Texture Map Loader","version":"1.0.9","tagline":" An easy way to load Texture Sets in your Shader Material","archive_hash":"sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495","archive_size":787239,"archive_url":"https://extensions.blender.org/download/sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495/add-on-k-tools-texture-map-loader-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-texture-map-loader/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load Node Groups from disk"},"tags":["Material"]},{"id":"MetahumanToManny","schema_version":"1.0.0","name":"MetaHumanToManny","version":"1.2.0","tagline":"Clean up MetaHuman meshes and match them to UE5 Manny","archive_hash":"sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685","archive_size":21164,"archive_url":"https://extensions.blender.org/download/sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685/add-on-metahumantomanny-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/metahumantomanny/","maintainer":"hakan-erunsal","license":["SPDX:GPL-3.0-or-later"]},{"id":"cad_helper","schema_version":"1.0.0","name":"CAD-Helper","version":"0.6.1","tagline":"Blender Extension to manage imported CAD assemblies","archive_hash":"sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6","archive_size":34745,"archive_url":"https://extensions.blender.org/download/sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6/add-on-cad-helper-v0.6.1-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/cad-helper/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Object"]},{"id":"momo_dark","schema_version":"1.0.0","name":"Momo Dark","version":"5.0.2","tagline":"Momo Dark - theme inspired by Modo","archive_hash":"sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36","archive_size":6454,"archive_url":"https://extensions.blender.org/download/sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36/theme-momo-dark-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo-dark/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"rss_theme_cyberpunk","schema_version":"1.0.0","name":"RedSavStudios: Cyberpunk","version":"0.5.5","tagline":"A dark blue cyberpunk-inspired theme with neon highlights","archive_hash":"sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c","archive_size":5501,"archive_url":"https://extensions.blender.org/download/sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c/theme-rss-theme-cyberpunk-v0.5.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-cyberpunk/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"rss_theme_nord","schema_version":"1.0.0","name":"RedSavStudios: Nord (Aurora)","version":"0.5.2","tagline":"Nord Theme With Aurora Accents","archive_hash":"sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50","archive_size":5196,"archive_url":"https://extensions.blender.org/download/sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50/theme-rss-theme-nord-v0.5.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-nord/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"randomize_noise_offset","schema_version":"1.0.0","name":"Randomize Noise Offset","version":"1.0.3","tagline":"Randomize Noise Offset for F-Curves","archive_hash":"sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9","archive_size":2500,"archive_url":"https://extensions.blender.org/download/sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9/add-on-randomize-noise-offset-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-noise-offset/","maintainer":"a.a.andrusenko","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"mirror_image","schema_version":"1.0.0","name":"Mirror Image","version":"1.0.0","tagline":"Applies mirroring to the active image","archive_hash":"sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46","archive_size":2540,"archive_url":"https://extensions.blender.org/download/sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46/add-on-mirror-image-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mirror-image/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"toggle_orbit_method","schema_version":"1.0.0","name":"Toggle Orbit Method (Turntable / Trackball)","version":"1.0.0","tagline":"Quickly toggles between Turntable and Trackball orbit modes","archive_hash":"sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4","archive_size":1369,"archive_url":"https://extensions.blender.org/download/sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4/add-on-toggle-orbit-method-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-orbit-method/","maintainer":"ArgelliKa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"blender_vnf_exporter_extension","schema_version":"1.0.0","name":"VNF Export Extension","version":"1.0.0","tagline":"Export blender mesh to openscad vnf","archive_hash":"sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e","archive_size":14400,"archive_url":"https://extensions.blender.org/download/sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e/add-on-blender-vnf-exporter-extension-v1.0.0-windows-x64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-vnf-exporter-extension/","maintainer":"runerback","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .scad to disk"},"platforms":["windows-x64","linux-x64"],"tags":["Import-Export"]},{"id":"vray_arena_setup","schema_version":"1.0.0","name":"Vray Arena Setup","version":"2.5.0","tagline":"Export VRay Cosmos assets, scene textures, and stage cube setup","archive_hash":"sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f","archive_size":6050,"archive_url":"https://extensions.blender.org/download/sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f/add-on-vray-arena-setup-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/vray-arena-setup/","maintainer":"Darsh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write project and resources directories"},"tags":["Import-Export","Material"]},{"id":"Minimal","schema_version":"1.0.0","name":"Minimal","version":"1.0.0","tagline":"Dark minimal theme","archive_hash":"sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb","archive_size":5620,"archive_url":"https://extensions.blender.org/download/sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb/theme-minimal-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/minimal/","maintainer":"A7medKhaled.me","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"auto_track_weights","schema_version":"1.0.0","name":"Auto Track Weights","version":"0.2.1","tagline":"Automatically adjust the weights of tracking markers","archive_hash":"sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be","archive_size":2415,"archive_url":"https://extensions.blender.org/download/sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be/add-on-auto-track-weights-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track-weights/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"batch_bone_constraints","schema_version":"1.0.0","name":"Batch Bone Constraints","version":"1.1.4","tagline":"Batch bone constraints to the selected multiple armatures","archive_hash":"sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee","archive_size":6589,"archive_url":"https://extensions.blender.org/download/sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee/add-on-batch-bone-constraints-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-bone-constraints/","maintainer":"distinctive-mark","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"theme_BlueInvasion","schema_version":"1.0.0","name":"Blue Invasion","version":"1.0.3-1","tagline":"A theme inspired by Winamp's blue invasion theme","archive_hash":"sha256:aaa50db52785b547c7902f7dea3808dbd06ba8a27b989b96de0640590a7863f2","archive_size":6165,"archive_url":"https://extensions.blender.org/download/sha256:aaa50db52785b547c7902f7dea3808dbd06ba8a27b989b96de0640590a7863f2/theme-theme-blueinvasion-v1.0.3-1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-blueinvasion/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"trident","schema_version":"1.0.0","name":"TRIDENT","version":"0.2.1","tagline":"3D UMAP/t-SNE embeddings into Blender","archive_hash":"sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a","archive_size":128117,"archive_url":"https://extensions.blender.org/download/sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a/add-on-trident-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trident/","maintainer":"ccordi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write data files and build outputs"},"platforms":["windows-x64"],"tags":["3D View","Object"]},{"id":"FrameFlowBlender","schema_version":"1.0.0","name":"Frame Flow Beta","version":"1.4.1","tagline":"Advanced Node Frame Add-on for Blender","archive_hash":"sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f","archive_size":922364,"archive_url":"https://extensions.blender.org/download/sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f/add-on-frameflowblender-v1.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/frameflowblender/","maintainer":"abhi.01","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Text Editor"]},{"id":"pataz_thumbnail_toolz","schema_version":"1.0.0","name":"Pataz Thumbnail Toolz","version":"1.0.0","tagline":"Tools for managing asset thumbnails","archive_hash":"sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac","archive_size":2763,"archive_url":"https://extensions.blender.org/download/sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac/add-on-pataz-thumbnail-toolz-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-thumbnail-toolz/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load files from disk"},"tags":["Pipeline"]},{"id":"io_scene_jsbsim","schema_version":"1.0.0","name":"JSBSim Viewer","version":"0.2.3","tagline":"Import and visualize JSBSim FDM aircraft XML metrics","archive_hash":"sha256:3d97352d2c89e76944575b20004a05aeb07c771412a6ffda6b375f973b8dff5f","archive_size":6721,"archive_url":"https://extensions.blender.org/download/sha256:3d97352d2c89e76944575b20004a05aeb07c771412a6ffda6b375f973b8dff5f/add-on-io-scene-jsbsim-v0.2.3.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/io-scene-jsbsim/","maintainer":"RenanMsV","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"import_meshed_alpha","schema_version":"1.0.0","name":"Import Meshed Alpha","version":"1.0.1","tagline":"Transparency to Geometry","archive_hash":"sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e","archive_size":927961,"archive_url":"https://extensions.blender.org/download/sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e/add-on-import-meshed-alpha-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-meshed-alpha/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Image import"},"platforms":["windows-x64"],"tags":["Mesh","Material"]},{"id":"multi_adjust","schema_version":"1.0.0","name":"Multi Adjust","version":"1.0.1","tagline":"Edits properties of multiple things together","archive_hash":"sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed","archive_size":9515,"archive_url":"https://extensions.blender.org/download/sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed/add-on-multi-adjust-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multi-adjust/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"replace_with_copy","schema_version":"1.0.0","name":"Replace With Copy","version":"1.0.1","tagline":"Batch replace multiple objects with a template","archive_hash":"sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf","archive_size":4116,"archive_url":"https://extensions.blender.org/download/sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf/add-on-replace-with-copy-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/replace-with-copy/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"sierpinski_triangle","schema_version":"1.0.0","name":"Sierpinski Triangle","version":"1.0.4","tagline":"This add-on creates Sierpinski triangles","archive_hash":"sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05","archive_size":4106,"archive_url":"https://extensions.blender.org/download/sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05/add-on-sierpinski-triangle-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sierpinski-triangle/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"]},{"id":"light_generator","schema_version":"1.0.0","name":"Light Generator","version":"1.2.0","tagline":"Generate lights with advanced distribution","archive_hash":"sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05","archive_size":5837,"archive_url":"https://extensions.blender.org/download/sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05/add-on-light-generator-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/light-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting"]},{"id":"nfc_card_keychain_generator","schema_version":"1.0.0","name":"NFC Card and Keychain Generator","version":"1.2.2","tagline":"Generate customizable 3D-printable cards, tags, and keychains","archive_hash":"sha256:61fc9b726002f7cd17ffb5b1e54bfa1827e8edf538881e72749f4faf931dc384","archive_size":513576,"archive_url":"https://extensions.blender.org/download/sha256:61fc9b726002f7cd17ffb5b1e54bfa1827e8edf538881e72749f4faf931dc384/add-on-nfc-card-keychain-generator-v1.2.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/nfc-card-keychain-generator/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For custom SVG import and file saving operations"},"tags":["Modeling","Object"]},{"id":"Physical_Motion_Blur","schema_version":"1.0.0","name":"Physical Motion Blur","version":"1.1.0","tagline":"Adds intuitive shutter speed and angle controls for motion blur","archive_hash":"sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438","archive_size":2605,"archive_url":"https://extensions.blender.org/download/sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438/add-on-physical-motion-blur-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/physical-motion-blur/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render","Animation"]},{"id":"utility_materials","schema_version":"1.0.0","name":"Utility Materials","version":"1.1.5","tagline":"Industrial design theme in the Utility Materials universe","archive_hash":"sha256:1060b83f61823e30cac6147ad365e0e2532132ba85719a73fb8a881b1daee82f","archive_size":5294,"archive_url":"https://extensions.blender.org/download/sha256:1060b83f61823e30cac6147ad365e0e2532132ba85719a73fb8a881b1daee82f/theme-utility-materials-v1.1.5.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/utility-materials/","maintainer":"Utility-Materials","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"AddShaderAttribute","schema_version":"1.0.0","name":"Add Shader Attribute","version":"0.3.0","tagline":"Add attribute directly in shader nodetree","archive_hash":"sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707","archive_size":2591,"archive_url":"https://extensions.blender.org/download/sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707/add-on-addshaderattribute-v0.3.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/addshaderattribute/","maintainer":"atticuslv","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"all_objects_into_assets","schema_version":"1.0.0","name":"All Objects into Assets","version":"1.0.4","tagline":"Create collection assets and catalogs automatically","archive_hash":"sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7","archive_size":9361,"archive_url":"https://extensions.blender.org/download/sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7/add-on-all-objects-into-assets-v1.0.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/all-objects-into-assets/","maintainer":"StellArc","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset library catalogs file"}},{"id":"goldsrc_model_helper","schema_version":"1.0.0","name":"GS Model Helper","version":"2.2.0","tagline":"A set of tools for working with Goldsource models in Blender","archive_hash":"sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df","archive_size":7626,"archive_url":"https://extensions.blender.org/download/sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df/add-on-goldsrc-model-helper-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/goldsrc-model-helper/","maintainer":"DaKashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to rename and clean up materials/textures"}},{"id":"pjavel_theme","schema_version":"1.0.0","name":"Pjavel Theme","version":"1.1.1","tagline":"Green accent theme","archive_hash":"sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece","archive_size":18590,"archive_url":"https://extensions.blender.org/download/sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece/theme-pjavel-theme-v1.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/pjavel-theme/","maintainer":"Zexyp","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"text_editor_for_development","schema_version":"1.0.0","name":"Text editor for Development","version":"1.0.5","tagline":"Text editor enhancements for add-on development","archive_hash":"sha256:8d389ce9fb5bf57b3950054316931cc3daa63248da893778ef0abc615ec2c637","archive_size":49032,"archive_url":"https://extensions.blender.org/download/sha256:8d389ce9fb5bf57b3950054316931cc3daa63248da893778ef0abc615ec2c637/add-on-text-editor-for-development-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/text-editor-for-development/","maintainer":"Martin-Lorentzon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Specify folder to preview for file-browsing/editing","network":"Clone remote Git repositories for add-on templates"},"tags":["Text Editor","Development"]},{"id":"bfds","schema_version":"1.0.0","name":"BFDS fire simulations","version":"7.0.0","tagline":"Create and manage NIST FDS fire simulations","archive_hash":"sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6","archive_size":370951,"archive_url":"https://extensions.blender.org/download/sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6/add-on-bfds-v7.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bfds/","maintainer":"emanuele.gissi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FDS files from/to disk","network":"Display geographic positions, convert coordinates"},"tags":["Import-Export"]},{"id":"sciblend","schema_version":"1.0.0","name":"SciBlend","version":"1.1.2","tagline":"Scientific visualization tools for Blender","archive_hash":"sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d","archive_size":143536802,"archive_url":"https://extensions.blender.org/download/sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d/add-on-sciblend-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/sciblend/","maintainer":"José-Marín","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"navigation_puck_addon","schema_version":"1.0.0","name":"Navigation Puck Addon","version":"1.0.1","tagline":"Navigation Puck like in Sketchbook Pro","archive_hash":"sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51","archive_size":14528,"archive_url":"https://extensions.blender.org/download/sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51/add-on-navigation-puck-addon-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation-puck-addon/","maintainer":"IliaVerpa","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"midicontroller","schema_version":"1.0.0","name":"MidiController","version":"0.1.5","tagline":"Control objects properties through midi","archive_hash":"sha256:582590969edf0568a62062d024a9fe2e52700a3f609280d15ea827d6246359b0","archive_size":357421,"archive_url":"https://extensions.blender.org/download/sha256:582590969edf0568a62062d024a9fe2e52700a3f609280d15ea827d6246359b0/add-on-midicontroller-v0.1.5-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/midicontroller/","maintainer":"Eldin-Zenderink","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"mc_animaker","schema_version":"1.0.0","name":"MC Animaker","version":"1.4.0","tagline":"Bring your Blender animations to life in Minecraft","archive_hash":"sha256:b3533f2c1b1ff605d0c162023d27096d92c4ff705577f72738ebc4981701c830","archive_size":183928,"archive_url":"https://extensions.blender.org/download/sha256:b3533f2c1b1ff605d0c162023d27096d92c4ff705577f72738ebc4981701c830/add-on-mc-animaker-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mc-animaker/","maintainer":"Priqnot","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Resource Packs and Export Minecraft Datapack Files"},"tags":["Game Engine","Import-Export"]},{"id":"smart_transform","schema_version":"1.0.0","name":"Smart Transform","version":"1.0.2","tagline":"filter objects by size or transforms, and more tools","archive_hash":"sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11","archive_size":2671,"archive_url":"https://extensions.blender.org/download/sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11/add-on-smart-transform-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-transform/","maintainer":"Claz_Arts","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"animated_brush","schema_version":"1.0.0","name":"Animated Texture Brush","version":"1.0.2","tagline":"Randomly cycles image sequence texture while painting","archive_hash":"sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be","archive_size":2467,"archive_url":"https://extensions.blender.org/download/sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be/add-on-animated-brush-v1.0.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animated-brush/","maintainer":"Kvendy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"lod_gen","schema_version":"1.0.0","name":"LODGen","version":"0.0.5","tagline":"Generate LODs for Games in 3 Clicks or Less","archive_hash":"sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128","archive_size":15434,"archive_url":"https://extensions.blender.org/download/sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128/add-on-lod-gen-v0.0.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/lod-gen/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"LostSelection","schema_version":"1.0.0","name":"Lost Selection","version":"0.2.0","tagline":"Set of usefull extra selection operators","archive_hash":"sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4","archive_size":32205,"archive_url":"https://extensions.blender.org/download/sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4/add-on-lostselection-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lostselection/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"reset_workspace","schema_version":"1.0.0","name":"Reset Workspace","version":"0.0.4","tagline":"Reset the user interface (with your startup file interface)","archive_hash":"sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32","archive_size":5093,"archive_url":"https://extensions.blender.org/download/sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32/add-on-reset-workspace-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reset-workspace/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"edit_instanced_collection","schema_version":"1.0.0","name":"Edit Instanced Collection","version":"0.0.5","tagline":"Quickly find the instanced collection source","archive_hash":"sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3","archive_size":6971,"archive_url":"https://extensions.blender.org/download/sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3/add-on-edit-instanced-collection-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-instanced-collection/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"add_std_paper_size","schema_version":"1.0.0","name":"Add Std Paper-Format","version":"0.1.0","tagline":"Blender add-on to add planes with standardized paper formats","archive_hash":"sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4","archive_size":19785,"archive_url":"https://extensions.blender.org/download/sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4/add-on-add-std-paper-size-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-std-paper-size/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"Blueprint_Film_Theme","schema_version":"1.0.0","name":"Blueprint_Film_Theme","version":"2.2.3","tagline":"Translucent Aqua","archive_hash":"sha256:e4b43c04d225b114f89c735da4081744f005c0cfd781d05b2086f4287ce997e6","archive_size":5691,"archive_url":"https://extensions.blender.org/download/sha256:e4b43c04d225b114f89c735da4081744f005c0cfd781d05b2086f4287ce997e6/theme-blueprint-film-theme-v2.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-film-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"pbsu_addon_3ds","schema_version":"1.0.0","name":"PBSU 3D Studio (.3ds)","version":"1.0.1","tagline":"Import/export 3DS scenes, objects, cameras, lights & anims","archive_hash":"sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d","archive_size":42631,"archive_url":"https://extensions.blender.org/download/sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d/add-on-pbsu-addon-3ds-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pbsu-addon-3ds/","maintainer":"Arturo-Cervantes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"on_screen_numpad","schema_version":"1.0.0","name":"On-Screen Numpad","version":"1.2.0","tagline":"No need to leave the mouse to enter numbers","archive_hash":"sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20","archive_size":22847,"archive_url":"https://extensions.blender.org/download/sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20/add-on-on-screen-numpad-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/on-screen-numpad/","maintainer":"Pluglug","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Sakura_Rig_GUI","schema_version":"1.0.0","name":"Sakura's Rig Interfaces","version":"3.1.0","tagline":"A control script for use with Sakura's Rigs","archive_hash":"sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0","archive_size":23119,"archive_url":"https://extensions.blender.org/download/sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0/add-on-sakura-rig-gui-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-rig-gui/","maintainer":"SakuraSedaia","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and Store Player Skin Information and Downloaded Rigs","network":"Download Minecraft Skin Information from minecraft.net"},"tags":["Rigging","User Interface"]},{"id":"EMU3BM","schema_version":"1.0.0","name":"Toggle Emulate 3 Button Mouse","version":"1.4.0","tagline":"Toggle Emulate 3 Button Mouse","archive_hash":"sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593","archive_size":1343,"archive_url":"https://extensions.blender.org/download/sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593/add-on-emu3bm-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/emu3bm/","maintainer":"chenkin123","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"BL_EasyCrop","schema_version":"1.0.0","name":"BL Easy Crop","version":"2.0.3","tagline":"Use handles for easy cropping in the Blender VSE Preview window","archive_hash":"sha256:f63200c2f634b927cc0ccf82af20aa4298f36f5f5bfbcfdfc85f20adf4a2d9da","archive_size":31082,"archive_url":"https://extensions.blender.org/download/sha256:f63200c2f634b927cc0ccf82af20aa4298f36f5f5bfbcfdfc85f20adf4a2d9da/add-on-bl-easycrop-v2.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-easycrop/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","User Interface"]},{"id":"space_colonization_tree_generator","schema_version":"1.0.0","name":"Space colonization tree generator","version":"1.0.0","tagline":"A simple add-on which uses the space colonization approach","archive_hash":"sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83","archive_size":6781,"archive_url":"https://extensions.blender.org/download/sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83/add-on-space-colonization-tree-generator-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/space-colonization-tree-generator/","maintainer":"LS","license":["SPDX:GPL-3.0-or-later"]},{"id":"SHIRAKUMO_sf3_io","schema_version":"1.0.0","name":"Shirakumo SF3 IO","version":"1.1.0","tagline":"Export/Import support for Simple File Format Family (SF3) files","archive_hash":"sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c","archive_size":24064,"archive_url":"https://extensions.blender.org/download/sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c/add-on-shirakumo-sf3-io-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-sf3-io/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"permissions":{"files":"Import/export SF3 from/to disk"},"tags":["Import-Export"]},{"id":"normalize_resize_handles","schema_version":"1.0.0","name":"Normalize and Resize Curve Handles","version":"1.0.1","tagline":"Normalize and resize all selected bezier curve handles","archive_hash":"sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a","archive_size":1537,"archive_url":"https://extensions.blender.org/download/sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a/add-on-normalize-resize-handles-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/normalize-resize-handles/","maintainer":"TomasCJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"FocalLengthTweaker","schema_version":"1.0.0","name":"Focal Length Tweaker","version":"1.0.1","tagline":"Control viewport and camera focal length with your mouse","archive_hash":"sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833","archive_size":9686,"archive_url":"https://extensions.blender.org/download/sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833/add-on-focallengthtweaker-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/focallengthtweaker/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","User Interface"]},{"id":"Zeratul_Theme","schema_version":"1.0.0","name":"Zeratul_Theme","version":"3.1.5","tagline":"Invisible Shadow Warrior","archive_hash":"sha256:a3d628b118c45e5085cd691272322368380d6abf6bf677399554f00acca7f410","archive_size":5630,"archive_url":"https://extensions.blender.org/download/sha256:a3d628b118c45e5085cd691272322368380d6abf6bf677399554f00acca7f410/theme-zeratul-theme-v3.1.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zeratul-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blueprint_Theme","schema_version":"1.0.0","name":"Prussian_Blueprint_Theme","version":"2.2.1","tagline":"Blueprint True Color","archive_hash":"sha256:482f3d41ae95cf10ab32d9ad57bed3093edb67334ed7043511174da53c6558d3","archive_size":5748,"archive_url":"https://extensions.blender.org/download/sha256:482f3d41ae95cf10ab32d9ad57bed3093edb67334ed7043511174da53c6558d3/theme-prussian-blueprint-theme-v2.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"render_webhook","schema_version":"1.0.0","name":"Render Webhook","version":"1.0.2","tagline":"Sends a message after render events to a webhook","archive_hash":"sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58","archive_size":2567,"archive_url":"https://extensions.blender.org/download/sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58/add-on-render-webhook-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-webhook/","maintainer":"vignette","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Sending HTTP requests to provided webhook URL"},"tags":["Render","Pipeline"]},{"id":"Prussian_Blue_Pink_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Pink_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356","archive_size":5758,"archive_url":"https://extensions.blender.org/download/sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356/theme-prussian-blue-pink-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-pink-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blue_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135","archive_size":5687,"archive_url":"https://extensions.blender.org/download/sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135/theme-prussian-blue-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Clip_Tools","schema_version":"1.0.0","name":"Clip Tools","version":"1.0.3","tagline":"Add a simple tool to the Movie Clip Editor","archive_hash":"sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391","archive_size":7924,"archive_url":"https://extensions.blender.org/download/sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391/add-on-clip-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clip-tools/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Camera","3D View"]},{"id":"Merge_selected_cameras","schema_version":"1.0.0","name":"Merge Selected Cameras","version":"1.1.1","tagline":"Create one animated camera from your photogrammetry sequence","archive_hash":"sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d","archive_size":4219,"archive_url":"https://extensions.blender.org/download/sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d/add-on-merge-selected-cameras-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/merge-selected-cameras/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking","3D View"]},{"id":"only_blends_gamepad","schema_version":"1.0.0","name":"OnlyBlends.Gamepad","version":"0.5.0","tagline":"Integrate Controller like Gamepads and other inputs via Nodes","archive_hash":"sha256:b545dbe69757dff54cd589a2462a5739cc011580fae6398860b48289e3b8be71","archive_size":72361,"archive_url":"https://extensions.blender.org/download/sha256:b545dbe69757dff54cd589a2462a5739cc011580fae6398860b48289e3b8be71/add-on-only-blends-gamepad-v0.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-gamepad/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Game Engine","Node"]},{"id":"Scene_Duration_Display","schema_version":"1.0.0","name":"Scene Duration Display","version":"1.1.1","tagline":"Displays and syncs timeline duration. Set preview range with I/O","archive_hash":"sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940","archive_size":2361,"archive_url":"https://extensions.blender.org/download/sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940/add-on-scene-duration-display-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-duration-display/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Gray50","schema_version":"1.0.0","name":"Gray50","version":"1.0.2","tagline":"Remake of Blender3.3 light theme","archive_hash":"sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9","archive_size":5795,"archive_url":"https://extensions.blender.org/download/sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9/theme-gray50-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gray50/","maintainer":"Nick2321","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Inspired By"]},{"id":"bl_reset_custom_properties","schema_version":"1.0.0","name":"Reset Custom Properties","version":"1.0.4","tagline":"Reset custom properties to their default values","archive_hash":"sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4","archive_size":5646,"archive_url":"https://extensions.blender.org/download/sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4/add-on-bl-reset-custom-properties-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bl-reset-custom-properties/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View"]},{"id":"shape_key_utilities_enhanced","schema_version":"1.0.0","name":"Shape Key Utilities Enhanced","version":"1.0.0","tagline":"Comprehensive shape key management with locked key operations","archive_hash":"sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f","archive_size":15525,"archive_url":"https://extensions.blender.org/download/sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f/add-on-shape-key-utilities-enhanced-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-utilities-enhanced/","maintainer":"LeafyBush7","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","Modeling"]},{"id":"color_grid_texture_gen","schema_version":"1.0.0","name":"Color Grid Texture Generator","version":"0.1.2","tagline":"Generate customizable color grid textures","archive_hash":"sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f","archive_size":28692,"archive_url":"https://extensions.blender.org/download/sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f/add-on-color-grid-texture-gen-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-grid-texture-gen/","maintainer":"andersmmg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Read Coolors URL from clipboard"},"tags":["Material","UV"]},{"id":"io_import_build_map","schema_version":"1.0.0","name":"BUILD Map Importer","version":"1.4.1","tagline":"Import BUILD Engine maps as used in Duke Nukem 3D, Blood, etc","archive_hash":"sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54","archive_size":57108,"archive_url":"https://extensions.blender.org/download/sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54/add-on-io-import-build-map-v1.4.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-build-map/","maintainer":"Jens.Ne","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .map files and textures from filesystem"},"tags":["Import-Export","Mesh","Material"]},{"id":"distribute_grease_pencil_strokes","schema_version":"1.0.0","name":"Align-Distribute Grease Pencil Strokes","version":"2.1.0","tagline":"Align-Distribute Grease Pencil strokes","archive_hash":"sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2","archive_size":13284,"archive_url":"https://extensions.blender.org/download/sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2/add-on-distribute-grease-pencil-strokes-v2.1.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/distribute-grease-pencil-strokes/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"BL_FastStart","schema_version":"1.0.0","name":"BL Fast Start (MP4/MOV)","version":"1.9.3","tagline":"A checkbox to add a 'Fast Start' copy of MP4/MOV renders","archive_hash":"sha256:e1954e4b7c112e82249144fe3d2c6a17ab77a256c63f5f3d82c424812197c4a4","archive_size":23184,"archive_url":"https://extensions.blender.org/download/sha256:e1954e4b7c112e82249144fe3d2c6a17ab77a256c63f5f3d82c424812197c4a4/add-on-bl-faststart-v1.9.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-faststart/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"quantum_void_fluoamber","schema_version":"1.0.0","name":"Quantum Void FluoAmber","version":"1.0.2","tagline":"A monochromatic dark theme with accent","archive_hash":"sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f","archive_size":3205,"archive_url":"https://extensions.blender.org/download/sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f/theme-quantum-void-fluoamber-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quantum-void-fluoamber/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"vectart_animation","schema_version":"1.0.0","name":"Vectart Animation","version":"1.1.4","tagline":"Animation tools for VectArt curves and objects","archive_hash":"sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb","archive_size":22398,"archive_url":"https://extensions.blender.org/download/sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb/add-on-vectart-animation-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-animation/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blueprints","schema_version":"1.0.0","name":"Blueprints","version":"1.0.3","tagline":"Manage background images ","archive_hash":"sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9","archive_size":3264,"archive_url":"https://extensions.blender.org/download/sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9/add-on-blueprints-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blueprints/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"batch_render_actions","schema_version":"1.0.0","name":"Batch Render Actions","version":"1.0.2","tagline":"Render each animation action to its own folder","archive_hash":"sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff","archive_size":2413,"archive_url":"https://extensions.blender.org/download/sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff/add-on-batch-render-actions-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-render-actions/","maintainer":"Padraig-O-Cinneide","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Render"]},{"id":"rmKit_uv","schema_version":"1.0.0","name":"rmKitUV","version":"2.0.0","tagline":"Collection of Tools","archive_hash":"sha256:cd75170fc5d652ba6e52a70939949480ea78a7417b7608e7c2d2c1fb48b3360e","archive_size":259364,"archive_url":"https://extensions.blender.org/download/sha256:cd75170fc5d652ba6e52a70939949480ea78a7417b7608e7c2d2c1fb48b3360e/add-on-rmkit-uv-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/rmkit-uv/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"read/write hotspots to disk"},"tags":["Mesh","UV","Material"]},{"id":"to_square","schema_version":"1.0.0","name":"To Square","version":"2.2.0","tagline":"Square the selection","archive_hash":"sha256:79d3c5e8865ac768079d866693a23d01fee922856ecb31163b396cb8677ea61e","archive_size":41484,"archive_url":"https://extensions.blender.org/download/sha256:79d3c5e8865ac768079d866693a23d01fee922856ecb31163b396cb8677ea61e/add-on-to-square-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/to-square/","maintainer":"Jean-Yves-Grosbeau","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"acreplay_importer","schema_version":"1.0.0","name":"AC Replay Importer","version":"0.3.0","tagline":"Animate your cars using Assetto Corsa replays","archive_hash":"sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da","archive_size":8688,"archive_url":"https://extensions.blender.org/download/sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da/add-on-acreplay-importer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/acreplay-importer/","maintainer":"abchouhan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import CSV from disk"},"tags":["Animation"]},{"id":"dynamic_head_property_manager","schema_version":"1.0.0","name":"Dynamic Head Property Manager","version":"1.0.6","tagline":"Manage custom facial properties for Roblox Bundles","archive_hash":"sha256:84c215385b159fcf74b57cc95d91602522f845b4e927a1351291d7cb7909566d","archive_size":26306,"archive_url":"https://extensions.blender.org/download/sha256:84c215385b159fcf74b57cc95d91602522f845b4e927a1351291d7cb7909566d/add-on-dynamic-head-property-manager-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-head-property-manager/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"enhanced_svg","schema_version":"1.0.0","name":"Enhanced SVG","version":"0.1.8","tagline":"Import SVG with accurate colors and path processing","archive_hash":"sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2","archive_size":4067305,"archive_url":"https://extensions.blender.org/download/sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2/add-on-enhanced-svg-v0.1.8-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/enhanced-svg/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"M2V","schema_version":"1.0.0","name":"MIDI To Visuals","version":"1.2.0","tagline":"With MIDI file as input create somes 3D animations in blender","archive_hash":"sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1","archive_size":41169,"archive_url":"https://extensions.blender.org/download/sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1/add-on-m2v-v1.2.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/m2v/","maintainer":"Patochun","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"separate_loose_plus","schema_version":"1.0.0","name":"Separate Loose Plus","version":"1.0.0","tagline":"Enhanced mesh separation tools with object tracking","archive_hash":"sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5","archive_size":1973,"archive_url":"https://extensions.blender.org/download/sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5/add-on-separate-loose-plus-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/separate-loose-plus/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"bve_import_export","schema_version":"1.0.0","name":"BVE Import/Export","version":"5.1.3","tagline":"Import/Export DirectX X (.x) or Export CSV files for BVE/OpenBVE","archive_hash":"sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984","archive_size":22514,"archive_url":"https://extensions.blender.org/download/sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984/add-on-bve-import-export-v5.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bve-import-export/","maintainer":"Kusaanko","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export model file from/to disk"},"tags":["Import-Export"]},{"id":"symple","schema_version":"1.0.0","name":"Symple (symmetry groups)","version":"0.1.2","tagline":"Create figures with spherical symmetry with ease","archive_hash":"sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3","archive_size":29123,"archive_url":"https://extensions.blender.org/download/sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3/add-on-symple-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/symple/","maintainer":"Martín-Torres-Valverde","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling","Object"]},{"id":"select_by_index","schema_version":"1.0.0","name":"Select By Index","version":"1.3.0","tagline":"Select all vertices, edges, or faces within an index range","archive_hash":"sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050/add-on-select-by-index-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-by-index/","maintainer":"Eric-Banker","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"blender_lut_exporter","schema_version":"1.0.0","name":"LUT Exporter and Importer","version":"2.0.1","tagline":"Converts adjustment layer into LUT .cube file and back","archive_hash":"sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd","archive_size":5588,"archive_url":"https://extensions.blender.org/download/sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd/add-on-blender-lut-exporter-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/blender-lut-exporter/","maintainer":"ichlubna","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Sequencer"]},{"id":"arc_edge","schema_version":"1.0.0","name":"Arc Edge","version":"1.1.0","tagline":"Arc Edge","archive_hash":"sha256:2a3d3700534566d81d8202a795db594b1e36f407368276319a1141e67419bb4f","archive_size":10986,"archive_url":"https://extensions.blender.org/download/sha256:2a3d3700534566d81d8202a795db594b1e36f407368276319a1141e67419bb4f/add-on-arc-edge-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/arc-edge/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"Render_from_Terminal","schema_version":"1.0.0","name":"Render from Terminal","version":"0.1.5","tagline":"Create script to launch render from terminal","archive_hash":"sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3","archive_size":10030,"archive_url":"https://extensions.blender.org/download/sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3/add-on-render-from-terminal-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-from-terminal/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal"},"tags":["Render","Pipeline"]},{"id":"Fabnodes","schema_version":"1.0.0","name":"Fabnodes","version":"0.0.3","tagline":"Generates G-Code from geometry node attributes","archive_hash":"sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281","archive_size":5343,"archive_url":"https://extensions.blender.org/download/sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281/add-on-fabnodes-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fabnodes/","maintainer":"luigipacheco","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Geometry Nodes"]},{"id":"substance_textures_importer","schema_version":"1.0.0","name":"Substance Textures Importer","version":"7.1.0","tagline":"Import & autoassign images from 3D painting tools like Substance","archive_hash":"sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7","archive_size":35582,"archive_url":"https://extensions.blender.org/download/sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7/add-on-substance-textures-importer-v7.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/substance-textures-importer/","maintainer":"Cosmin_Planchon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk & read/write customs presets"},"tags":["Material","Import-Export","Node"]},{"id":"slot_link","schema_version":"1.0.0","name":"Slot Link","version":"0.0.11","tagline":"Easily manage projects with multiple separate animations","archive_hash":"sha256:aec6c11bef46dadb552838b00e82a63637ee4dd0c77f21a5fef886317a5a6bab","archive_size":21217,"archive_url":"https://extensions.blender.org/download/sha256:aec6c11bef46dadb552838b00e82a63637ee4dd0c77f21a5fef886317a5a6bab/add-on-slot-link-v0.0.11.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/slot-link/","maintainer":"mars","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","User Interface","Import-Export"]},{"id":"mesh_planes_pro","schema_version":"1.0.0","name":"Mesh Planes Pro","version":"2.0.1","tagline":"Ultimate Background Removal for Faster, Seamless Renders","archive_hash":"sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b","archive_size":2471909,"archive_url":"https://extensions.blender.org/download/sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b/add-on-mesh-planes-pro-v2.0.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mesh-planes-pro/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load node groups from blend file"},"tags":["Material","Node","Render","Mesh"]},{"id":"developer_utilities","schema_version":"1.0.0","name":"Developer Utilities","version":"1.1.0","tagline":"Make life of addon developers easier","archive_hash":"sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c","archive_size":9006,"archive_url":"https://extensions.blender.org/download/sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c/add-on-developer-utilities-v1.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/developer-utilities/","maintainer":"scorpion81","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open source files of addons for editing"},"tags":["Development"]},{"id":"srtm_terrain_importer","schema_version":"1.0.0","name":"SRTM Terrain Importer","version":"1.0.5","tagline":"Import SRTM elevation data as accurate 3D terrain","archive_hash":"sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454","archive_size":6645,"archive_url":"https://extensions.blender.org/download/sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454/add-on-srtm-terrain-importer-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/srtm-terrain-importer/","maintainer":"NicolasPriniotakis","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import SRTM HGT files from disk"},"tags":["Import-Export"]},{"id":"Industrial_Light_AOV_Splitter","schema_version":"1.0.0","name":"Industrial Light AOV Splitter","version":"1.0.1","tagline":"Auto create better light aovs (diffuse_env, specular_env...)","archive_hash":"sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7","archive_size":8954,"archive_url":"https://extensions.blender.org/download/sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7/add-on-industrial-light-aov-splitter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-light-aov-splitter/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"servo_animation","schema_version":"1.0.0","name":"Servo Animation","version":"2.1.1","tagline":"Export your Blender animation to servo position values","archive_hash":"sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4","archive_size":161106,"archive_url":"https://extensions.blender.org/download/sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4/add-on-servo-animation-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/servo-animation/","maintainer":"timhendriks93","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Import-Export","Rigging"]},{"id":"LinkageMarkingMenu","schema_version":"1.0.0","name":"Linkage Marking Menu","version":"1.0.5","tagline":"Customizable Marking Menu for Object and Edit modes","archive_hash":"sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c","archive_size":18953,"archive_url":"https://extensions.blender.org/download/sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c/add-on-linkagemarkingmenu-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/linkagemarkingmenu/","maintainer":"Linkage","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"ac_tools","schema_version":"1.0.0","name":"AC Tools","version":"0.1.5","tagline":"AC Tools for track modding","archive_hash":"sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd","archive_size":30842,"archive_url":"https://extensions.blender.org/download/sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd/add-on-ac-tools-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ac-tools/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk, Manage track folders"},"tags":["Development","Object","User Interface"]},{"id":"img_alpha_to_bsdf","schema_version":"1.0.0","name":"Connect image alpha","version":"1.0.6","tagline":"Connecting image alpha to shader alpha","archive_hash":"sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02","archive_size":2692,"archive_url":"https://extensions.blender.org/download/sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02/add-on-img-alpha-to-bsdf-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img-alpha-to-bsdf/","maintainer":"Snakyboopface","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Material"]},{"id":"link_parents","schema_version":"1.0.0","name":"Link Parents","version":"1.2.1","tagline":"Link objects parents & edit Parent Inverse Matrix in UI","archive_hash":"sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395","archive_size":2883,"archive_url":"https://extensions.blender.org/download/sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395/add-on-link-parents-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/link-parents/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Rigging","User Interface"]},{"id":"sco_buttobjects","schema_version":"1.0.0","name":"SCO ButtObjects","version":"2.0.5","tagline":"Easily align Objects in your scene by Active Object or 3D Cursor","archive_hash":"sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb","archive_size":138673,"archive_url":"https://extensions.blender.org/download/sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb/add-on-sco-buttobjects-v2.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-buttobjects/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"Grid_Layout","schema_version":"1.0.0","name":"Grid Layout","version":"1.5.7","tagline":"Tools to help layout your UV layout","archive_hash":"sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c","archive_size":10399,"archive_url":"https://extensions.blender.org/download/sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c/add-on-grid-layout-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-layout/","maintainer":"Hodgson3d","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"povable","schema_version":"1.0.0","name":"POV@Ble","version":"0.1.8","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830","archive_size":329019,"archive_url":"https://extensions.blender.org/download/sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830/add-on-povable-v0.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/povable/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render","Pipeline","Import-Export","Text Editor","Development","User Interface","Scene","Modeling","Object","Material","Mesh","Add Curve","Camera","Lighting","Bake"]},{"id":"b_palettes","schema_version":"1.0.0","name":"B Palettes","version":"1.1.0","tagline":"Import/Export Color Palettes","archive_hash":"sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6","archive_size":5538,"archive_url":"https://extensions.blender.org/download/sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6/add-on-b-palettes-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/b-palettes/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"import_files_svg_cuts_directory","schema_version":"1.0.0","name":"Import SVG Cuts Directory","version":"1.0.1","tagline":"Import object based on a directory of SVG cuts","archive_hash":"sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb","archive_size":5958242,"archive_url":"https://extensions.blender.org/download/sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb/add-on-import-files-svg-cuts-directory-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-files-svg-cuts-directory/","maintainer":"Benedikt-Schaber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import directory of SVGs from disk"},"tags":["Import-Export"]},{"id":"Selected_Bones_To_Vertex_Group","schema_version":"1.0.0","name":"Selected_Bones_To_Vertex_Group","version":"1.0.1","tagline":"Add or delete selected bone to selected mesh","archive_hash":"sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0","archive_size":2074,"archive_url":"https://extensions.blender.org/download/sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0/add-on-selected-bones-to-vertex-group-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selected-bones-to-vertex-group/","maintainer":"mochi_Lin","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"highlighter","schema_version":"1.0.0","name":"Highlighter","version":"0.1.0","tagline":"Syntax highlighting for text objects","archive_hash":"sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046","archive_size":1209500,"archive_url":"https://extensions.blender.org/download/sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046/add-on-highlighter-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/highlighter/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve","Text Editor"]},{"id":"frame_focus","schema_version":"1.0.0","name":"Frame Focus","version":"2.0.1","tagline":"List All Frame Nodes And Focus Easily","archive_hash":"sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc","archive_size":6600,"archive_url":"https://extensions.blender.org/download/sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc/add-on-frame-focus-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/frame-focus/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"neigh_context_switcher","schema_version":"1.0.0","name":"Context Switcher","version":"1.1.2","tagline":"Quick workspace and editor switching via popup at mouse location","archive_hash":"sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d","archive_size":2365,"archive_url":"https://extensions.blender.org/download/sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d/add-on-neigh-context-switcher-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/neigh-context-switcher/","maintainer":"Neigh","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"SelectModeKeymaps","schema_version":"1.0.0","name":"Select Mode Keymaps","version":"1.0.1","tagline":"Assign keymaps to toggle Object/Edit Mode and Select Modes","archive_hash":"sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573","archive_size":5772,"archive_url":"https://extensions.blender.org/download/sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573/add-on-selectmodekeymaps-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/selectmodekeymaps/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"skin_mesh_to_bone","schema_version":"1.0.0","name":"Skin Mesh To Bone","version":"1.0.2","tagline":"Skins selected meshes to a bone on the active armature","archive_hash":"sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf","archive_size":3048,"archive_url":"https://extensions.blender.org/download/sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf/add-on-skin-mesh-to-bone-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-mesh-to-bone/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Faster_FBX_Exporter","schema_version":"1.0.0","name":"Faster FBX Exporter","version":"0.2.4","tagline":"Faster .fbx Exporter for Static Objects With Modifiers","archive_hash":"sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60","archive_size":94222,"archive_url":"https://extensions.blender.org/download/sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60/add-on-faster-fbx-exporter-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/faster-fbx-exporter/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .fbx files"},"tags":["Import-Export"]},{"id":"copyshapekeys","schema_version":"1.0.0","name":"ShapeKey Copy","version":"3.4.1","tagline":"Copy shapekeys from one mesh to another","archive_hash":"sha256:769278803ab26c411354aec6ded13c4017af8c85a8e9e23eba44434c1467d24b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:769278803ab26c411354aec6ded13c4017af8c85a8e9e23eba44434c1467d24b/add-on-copyshapekeys-v3.4.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copyshapekeys/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Animation"]},{"id":"Control_Render_Regions","schema_version":"1.0.0","name":"Control Render Regions","version":"1.0.11","tagline":"Manage renders in region","archive_hash":"sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c","archive_size":2586090,"archive_url":"https://extensions.blender.org/download/sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c/add-on-control-render-regions-v1.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/control-render-regions/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal and render regions"},"platforms":["windows-x64"],"tags":["Render","Pipeline"]},{"id":"ftl_exporter","schema_version":"1.0.0","name":"3dverse Exporter","version":"1.0.1","tagline":"Export blender project to 3dverse (scene, meshes, materials)","archive_hash":"sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291","archive_size":13274,"archive_url":"https://extensions.blender.org/download/sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291/add-on-ftl-exporter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ftl-exporter/","maintainer":"Nathalie-Raffray","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary 3dverse files to then export to server","network":"Need to export blender project to 3dverse server"},"tags":["Import-Export"]},{"id":"Night_Rain_Theme","schema_version":"1.0.0","name":"Night_Rain_Theme","version":"2.1.3","tagline":"Transparent Dark Grey","archive_hash":"sha256:407f94fc4d22e678700cf9e49a8ab3a7eb09eb0a3e01fd3452d7320c3b4ef2d4","archive_size":5591,"archive_url":"https://extensions.blender.org/download/sha256:407f94fc4d22e678700cf9e49a8ab3a7eb09eb0a3e01fd3452d7320c3b4ef2d4/theme-night-rain-theme-v2.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/night-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"nla_midi_copier","schema_version":"1.0.0","name":"NLA Midi Copier","version":"1.2.0","tagline":"NLA and Graph Editor tools for syncing animation to midi files","archive_hash":"sha256:4acdaac298dd38372982087e4cacfa908780bd4993be62204d9df9b194fc30b2","archive_size":115530,"archive_url":"https://extensions.blender.org/download/sha256:4acdaac298dd38372982087e4cacfa908780bd4993be62204d9df9b194fc30b2/add-on-nla-midi-copier-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nla-midi-copier/","maintainer":"Cornerback24","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read midi files from disk"},"tags":["Animation"]},{"id":"blender_mqo","schema_version":"1.0.0","name":"MQO (Metasequoia) Format File Importer/Exporter","version":"2.0.0","tagline":"Import/Export MQO format files","archive_hash":"sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171","archive_size":21616,"archive_url":"https://extensions.blender.org/download/sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171/add-on-blender-mqo-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-mqo/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export MQO from/to disk"},"tags":["Import-Export"]},{"id":"core_debug_tools","schema_version":"1.0.0","name":"Core Debug Tools","version":"0.1.0","tagline":"Debugging utilities for core Blender developers","archive_hash":"sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20","archive_size":629513,"archive_url":"https://extensions.blender.org/download/sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20/add-on-core-debug-tools-v0.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/core-debug-tools/","maintainer":"JacquesLucke","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Build temporary html files to view in the browser"},"tags":["Development"]},{"id":"twformats","schema_version":"1.0.0","name":"Teeworlds and DDNet Map import","version":"0.4.1","tagline":"Import Teeworlds and DDNet maps","archive_hash":"sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5","archive_size":9592799,"archive_url":"https://extensions.blender.org/download/sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5/add-on-twformats-v0.4.1-linux-x64-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/twformats/","maintainer":"Patiga","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export files from/to disk"},"platforms":["linux-x64","windows-x64"],"tags":["Import-Export"]},{"id":"Graphite_Mono_Theme","schema_version":"1.0.0","name":"Graphite_Mono_Theme","version":"3.2.2","tagline":"Steel Grey","archive_hash":"sha256:963c1e26c3ce940633cf85d8002b9d8eba14f29faadb3aec2f09d82c14afee6d","archive_size":5817,"archive_url":"https://extensions.blender.org/download/sha256:963c1e26c3ce940633cf85d8002b9d8eba14f29faadb3aec2f09d82c14afee6d/theme-graphite-mono-theme-v3.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/graphite-mono-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"io_import_pixelart","schema_version":"1.0.0","name":"Import Pixel Art","version":"1.2.1","tagline":"Imports pixel art as colored cubes or squares for each pixel","archive_hash":"sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1","archive_size":5860,"archive_url":"https://extensions.blender.org/download/sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1/add-on-io-import-pixelart-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-pixelart/","maintainer":"bloody_albatross","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import pixel art from disk"},"tags":["Import-Export"]},{"id":"scene_workspaces","schema_version":"1.0.0","name":"Scene Workspaces","version":"1.1.1","tagline":"Filter and sort your workspaces, scene by scene","archive_hash":"sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a","archive_size":8786,"archive_url":"https://extensions.blender.org/download/sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a/add-on-scene-workspaces-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-workspaces/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System","User Interface"]},{"id":"clean_game_asset_exporter","schema_version":"1.0.0","name":"Clean Game Asset Exporter","version":"1.0.0","tagline":"Game asset exporter for the Defold game engine","archive_hash":"sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3","archive_size":4988,"archive_url":"https://extensions.blender.org/download/sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3/add-on-clean-game-asset-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clean-game-asset-exporter/","maintainer":"DeBolt","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export game asset files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"aligning_horizontally_mini","schema_version":"1.0.0","name":"Aligning Horizontally Mini","version":"1.0.1","tagline":"Align selected objects in a customizable grid in the 3D viewport","archive_hash":"sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35","archive_size":3511,"archive_url":"https://extensions.blender.org/download/sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35/add-on-aligning-horizontally-mini-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/aligning-horizontally-mini/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"lead_edge_maze_ash_creator","schema_version":"1.0.0","name":"Lead Edge Maze Ash Creator","version":"2.4.1","tagline":"Lead Edge Maze Ash","archive_hash":"sha256:003291b86247ce09847fd955f2f3fcc0433162af279eb1d262a35e0fd36fb541","archive_size":11149,"archive_url":"https://extensions.blender.org/download/sha256:003291b86247ce09847fd955f2f3fcc0433162af279eb1d262a35e0fd36fb541/add-on-lead-edge-maze-ash-creator-v2.4.1.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/lead-edge-maze-ash-creator/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"f1dg3t_blender_red","schema_version":"1.0.0","name":"F1dg3t Red","version":"1.1.0","tagline":"Perfect for Shadow State 2","archive_hash":"sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680","archive_size":6491,"archive_url":"https://extensions.blender.org/download/sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680/theme-f1dg3t-blender-red-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/f1dg3t-blender-red/","maintainer":"F1dg3t","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"VMD","schema_version":"1.0.0","name":"vmdesk","version":"2.2.1","tagline":"Interactive editor environment in 3D Viewport","archive_hash":"sha256:b5c7a5eedbe797da05704f34d02a5e1f88bbf05048d1ec330280eeeafcf11a3c","archive_size":10113852,"archive_url":"https://extensions.blender.org/download/sha256:b5c7a5eedbe797da05704f34d02a5e1f88bbf05048d1ec330280eeeafcf11a3c/add-on-vmd-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vmd/","maintainer":"Y.T-LAW","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export from disk to user-supplied path","clipboard":"Copy and paste from shortcut/UI"},"tags":["3D View","Modeling","Mesh","Object","User Interface"]},{"id":"govietools","schema_version":"1.0.0","name":"Govie Tools","version":"1.0.20","tagline":"Optimize your model for use in the Govie Editor","archive_hash":"sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476","archive_size":123018,"archive_url":"https://extensions.blender.org/download/sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476/add-on-govietools-v1.0.20.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/govietools/","maintainer":"3D-Interaction-Technologies","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export GLB to disk"},"tags":["Scene","Import-Export"]},{"id":"microscopynodes","schema_version":"1.0.0","name":"Microscopy Nodes","version":"2.2.7","tagline":"Handling microscopy data in Blender, up to 5D volumes","archive_hash":"sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b","archive_size":49077670,"archive_url":"https://extensions.blender.org/download/sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b/add-on-microscopynodes-v2.2.7-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/microscopynodes/","maintainer":"Aafke-Gros","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk, writing to cache folder","network":"Loading OME-zarr files from the internet from a given URL"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"new_object_from_selected_geometry","schema_version":"1.0.0","name":"New Object From Selected Geometry","version":"1.0.2","tagline":"Creates a new object from the selected geometry in Edit mode","archive_hash":"sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f","archive_size":13392,"archive_url":"https://extensions.blender.org/download/sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f/add-on-new-object-from-selected-geometry-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/new-object-from-selected-geometry/","maintainer":"Giambattista-Caltabiano","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Metaseq_Classic_theme","schema_version":"1.0.0","name":"Metaseq_Classic","version":"1.0.1","tagline":"Classic light Metasequoia-style theme","archive_hash":"sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a","archive_size":36342,"archive_url":"https://extensions.blender.org/download/sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a/theme-metaseq-classic-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-classic-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Xromm_Tools","schema_version":"1.0.0","name":"XROMM toolkit","version":"0.9.6","tagline":"XROMM toolkit for Blender","archive_hash":"sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771","archive_size":18986,"archive_url":"https://extensions.blender.org/download/sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771/add-on-xromm-tools-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/xromm-tools/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"io_scene_ase","schema_version":"1.0.0","name":"ASCII Scene Export (.ase)","version":"2.2.1","tagline":"Export .ase files used in Unreal Engine 1 & 2","archive_hash":"sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494","archive_size":13786,"archive_url":"https://extensions.blender.org/download/sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494/add-on-io-scene-ase-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-ase/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .ase files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"blender_magicavoxel","schema_version":"1.0.0","name":"MagicaVoxel VOX format","version":"1.5.7","tagline":"Importer addon for MagicaVoxel vox files","archive_hash":"sha256:30f41041bb989380687699ec6b47ec6457e438c922ff71be6e93f99b68fe8d0d","archive_size":24371,"archive_url":"https://extensions.blender.org/download/sha256:30f41041bb989380687699ec6b47ec6457e438c922ff71be6e93f99b68fe8d0d/add-on-blender-magicavoxel-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-magicavoxel/","maintainer":"AstrorEnales","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"permissions":{"files":"Import VOX from disk"},"tags":["Import-Export"]},{"id":"odyssey_eobet_remix","schema_version":"1.0.0","name":"Odyssey eobet Remix","version":"2.0.1","tagline":"Theme highlighting the active object","archive_hash":"sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743","archive_size":5970,"archive_url":"https://extensions.blender.org/download/sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743/theme-odyssey-eobet-remix-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/odyssey-eobet-remix/","maintainer":"eobet","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"PieMenu_Everywhere","schema_version":"1.0.0","name":"PieMenu Everywhere","version":"1.4.5","tagline":"Maximize your efficiency with PieMenu Everywhere","archive_hash":"sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84","archive_size":438388,"archive_url":"https://extensions.blender.org/download/sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84/add-on-piemenu-everywhere-v1.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/piemenu-everywhere/","maintainer":"DeathShot-747","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline","3D View","Node"]},{"id":"Partybots_converter","schema_version":"1.0.0","name":"Partybots converter","version":"1.0.4","tagline":"This is a addon to build partybots maps","archive_hash":"sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00","archive_size":5333,"archive_url":"https://extensions.blender.org/download/sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00/add-on-partybots-converter-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/partybots-converter/","maintainer":"vuyghu2020","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To write the compiled output to the clipbord"},"tags":["3D View","Object","Game Engine"]},{"id":"add_airfoil","schema_version":"1.0.0","name":"Add Airfoil","version":"2.0.0","tagline":"Import Airfoil Dat Files into Blender","archive_hash":"sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae","archive_size":2356,"archive_url":"https://extensions.blender.org/download/sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae/add-on-add-airfoil-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-airfoil/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"atomic_blender_cluster","schema_version":"1.0.0","name":"Atomic Blender Cluster","version":"1.0.0","tagline":"Creating atom clusters or nanoparticles in Blender","archive_hash":"sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18","archive_size":11917,"archive_url":"https://extensions.blender.org/download/sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18/add-on-atomic-blender-cluster-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-cluster/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"add_positive_cube","schema_version":"1.0.0","name":"Add Positive Cube","version":"1.0.2","tagline":"Adds a cube with its origin at the corner","archive_hash":"sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807","archive_size":2022,"archive_url":"https://extensions.blender.org/download/sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807/add-on-add-positive-cube-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-positive-cube/","maintainer":"jefftml","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","3D View"]},{"id":"theme_modo","schema_version":"1.0.0","name":"Modo","version":"2.0.0","tagline":"Community-made theme inspired by Modo","archive_hash":"sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f","archive_size":5822,"archive_url":"https://extensions.blender.org/download/sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f/theme-theme-modo-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-modo/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"stl_format_legacy","schema_version":"1.0.0","name":"STL format (legacy)","version":"1.1.4","tagline":"Import-Export STL files","archive_hash":"sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6","archive_size":7513,"archive_url":"https://extensions.blender.org/download/sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6/add-on-stl-format-legacy-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stl-format-legacy/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"atomic_blender_pdb_xyz","schema_version":"1.0.0","name":"Atomic Blender PDB/XYZ","version":"1.9.1","tagline":"Importing atoms listed in PDB and XYZ files into Blender","archive_hash":"sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268","archive_size":51000,"archive_url":"https://extensions.blender.org/download/sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268/add-on-atomic-blender-pdb-xyz-v1.9.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-pdb-xyz/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"geodesic_domes","schema_version":"1.0.0","name":"Geodesic Domes","version":"0.3.6","tagline":"Create geodesic dome type objects","archive_hash":"sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0","archive_size":25222,"archive_url":"https://extensions.blender.org/download/sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0/add-on-geodesic-domes-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geodesic-domes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"ui_animation_render","schema_version":"1.0.0","name":"UI Animation Render","version":"0.1.0","tagline":"Render animations of the Blender UI","archive_hash":"sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29","archive_size":2426,"archive_url":"https://extensions.blender.org/download/sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29/add-on-ui-animation-render-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ui-animation-render/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"pov_at_ble","schema_version":"1.0.0","name":"POV@Ble (Legacy)","version":"0.1.6","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339","archive_size":302310,"archive_url":"https://extensions.blender.org/download/sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339/add-on-pov-at-ble-v0.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pov-at-ble/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render"]},{"id":"inset_straight_skeleton","schema_version":"1.0.0","name":"Inset Straight Skeleton","version":"1.1.0","tagline":"Make an inset inside selection using straight skeleton algo . . ","archive_hash":"sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553","archive_size":33199,"archive_url":"https://extensions.blender.org/download/sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553/add-on-inset-straight-skeleton-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/inset-straight-skeleton/","maintainer":"howardt","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"refine_tracking_solution","schema_version":"1.0.0","name":"Refine tracking solution","version":"1.1.6","tagline":"Refine motion solution by adjusting track weight","archive_hash":"sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f","archive_size":2210,"archive_url":"https://extensions.blender.org/download/sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f/add-on-refine-tracking-solution-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/refine-tracking-solution/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"assign_shape_keys","schema_version":"1.0.0","name":"Assign Shape Keys","version":"1.0.2","tagline":"Assigns one or more Bezier curves as shape keys to another . . ","archive_hash":"sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1","archive_size":10143,"archive_url":"https://extensions.blender.org/download/sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1/add-on-assign-shape-keys-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/assign-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"export_pointcache_formatpc2","schema_version":"1.0.0","name":"Export Pointcache Format(.pc2)","version":"1.1.4","tagline":"Export mesh Pointcache data (.pc2)","archive_hash":"sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805","archive_size":2683,"archive_url":"https://extensions.blender.org/download/sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805/add-on-export-pointcache-formatpc2-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-pointcache-formatpc2/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .pc2 file"},"tags":["Import-Export"]},{"id":"corrective_shape_keys","schema_version":"1.0.0","name":"Corrective Shape Keys","version":"1.0.0","tagline":"Creates a corrective shape key for the current pose","archive_hash":"sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19","archive_size":4821,"archive_url":"https://extensions.blender.org/download/sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19/add-on-corrective-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/corrective-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"freestyle_svg_exporter","schema_version":"1.0.0","name":"Freestyle SVG Exporter","version":"1.0.0","tagline":"Exports Freestyle's stylized edges in SVG format","archive_hash":"sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b","archive_size":7691,"archive_url":"https://extensions.blender.org/download/sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b/add-on-freestyle-svg-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/freestyle-svg-exporter/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"edit_operator_source","schema_version":"1.0.0","name":"Edit Operator Source","version":"1.2.4","tagline":"Opens source file of chosen operator or call locations","archive_hash":"sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc","archive_size":2897,"archive_url":"https://extensions.blender.org/download/sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc/add-on-edit-operator-source-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-operator-source/","maintainer":"scorpion81","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"copy_render_settings","schema_version":"1.0.0","name":"Copy Render Settings","version":"2.0.0","tagline":"Allows to copy a selection of render settings from current . . ","archive_hash":"sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0","archive_size":7786,"archive_url":"https://extensions.blender.org/download/sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0/add-on-copy-render-settings-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-render-settings/","maintainer":"mont29","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"newtek_mdd_format","schema_version":"1.0.0","name":"NewTek MDD format","version":"1.0.3","tagline":"Import-Export MDD as mesh shape keys","archive_hash":"sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759","archive_size":4368,"archive_url":"https://extensions.blender.org/download/sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759/add-on-newtek-mdd-format-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/newtek-mdd-format/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with MDD format files"},"tags":["Import-Export"]},{"id":"demo_mode","schema_version":"1.0.0","name":"Demo Mode","version":"1.0.0","tagline":"Demo mode lets you select multiple blend files and loop ove . . ","archive_hash":"sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62","archive_size":9071,"archive_url":"https://extensions.blender.org/download/sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62/add-on-demo-mode-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/demo-mode/","maintainer":"campbell","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"scene_information","schema_version":"1.0.0","name":"Scene Information","version":"0.3.1","tagline":"Show information about the .blend","archive_hash":"sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6","archive_size":1816,"archive_url":"https://extensions.blender.org/download/sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6/add-on-scene-information-v0.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-information/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"paint_palettes","schema_version":"1.0.0","name":"Paint Palettes","version":"0.9.4","tagline":"Palettes for color and weight paint modes","archive_hash":"sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321","archive_size":6133,"archive_url":"https://extensions.blender.org/download/sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321/add-on-paint-palettes-v0.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-palettes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Paint"]},{"id":"nuke_animation_format_chan","schema_version":"1.0.0","name":"Nuke Animation Format (.chan)","version":"1.0.0","tagline":"Import/Export object's animation with nuke","archive_hash":"sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9","archive_size":4340,"archive_url":"https://extensions.blender.org/download/sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9/add-on-nuke-animation-format-chan-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nuke-animation-format-chan/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export"]},{"id":"btracer","schema_version":"1.0.0","name":"BTracer","version":"1.2.4","tagline":"Tools for converting/animating objects/particles into curves","archive_hash":"sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064","archive_size":17367,"archive_url":"https://extensions.blender.org/download/sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064/add-on-btracer-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/btracer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"web3d_x3d_vrml2_format","schema_version":"1.0.0","name":"Web3D X3D/VRML2 format","version":"2.5.1","tagline":"Import-Export X3D, Import VRML2","archive_hash":"sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604","archive_size":100153,"archive_url":"https://extensions.blender.org/download/sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604/add-on-web3d-x3d-vrml2-format-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/","maintainer":"Bujus_Krachus","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to access files for import/export","network":"Required to download web resources for import"},"tags":["Import-Export"]},{"id":"export_camera_animation","schema_version":"1.0.0","name":"Export Camera Animation","version":"0.1.2","tagline":"Export Cameras & Markers to a Python script","archive_hash":"sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed","archive_size":2057,"archive_url":"https://extensions.blender.org/download/sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed/add-on-export-camera-animation-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-camera-animation/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .py file"},"tags":["Import-Export"]},{"id":"cadbase_library","schema_version":"1.0.0","name":"CADBase Library","version":"0.3.0","tagline":"Add-on enables data sync with remote storage (cloud)","archive_hash":"sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be","archive_size":190158,"archive_url":"https://extensions.blender.org/download/sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be/add-on-cadbase-library-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cadbase-library/","maintainer":"mnnxp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export library data from/to disk","network":"Need to to sync library data with a remote server","clipboard":"Copy component link to clipboard"},"tags":["Import-Export"]},{"id":"forts_map","schema_version":"1.0.0","name":"Forts Map Importer","version":"1.0.1","tagline":"Import Forts Map","archive_hash":"sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66","archive_size":4234,"archive_url":"https://extensions.blender.org/download/sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66/add-on-forts-map-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/forts-map/","maintainer":"Gonnetz","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Import-Export"]},{"id":"democap_tools","schema_version":"1.0.0","name":"DEMoCap Tools","version":"1.0.4","tagline":"Tools for importing DEMoCap motion captures into Blender","archive_hash":"sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e","archive_size":114185,"archive_url":"https://extensions.blender.org/download/sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e/add-on-democap-tools-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/democap-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading motion capture files","network":"Connect to DEMoCap (Live Connection)"},"tags":["Import-Export","3D View","Object","Animation"]},{"id":"dragengine_tools","schema_version":"1.0.0","name":"Drag[en]gine Import/Export","version":"1.29.1","tagline":"Import/Export Drag[en]gine Resources including helper tools","archive_hash":"sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a","archive_size":115706,"archive_url":"https://extensions.blender.org/download/sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a/add-on-dragengine-tools-v1.29.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragengine-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing/Exporting resources"},"tags":["Import-Export","3D View","Mesh","Object","Animation"]}],"version":"v1"} \ No newline at end of file diff --git a/extensions/blender_org/.blender_ext/index.json@76300 b/extensions/blender_org/.blender_ext/index.json@76300 new file mode 100644 index 0000000..dad0b4a --- /dev/null +++ b/extensions/blender_org/.blender_ext/index.json@76300 @@ -0,0 +1 @@ +{"blocklist":[],"data":[{"id":"two_point_ex","schema_version":"1.0.0","name":"Two Point Ex","version":"1.0.0","tagline":"A retro theme inspired by Blender 2.2x and before","archive_hash":"sha256:862589b1ae300cc5d200cdf9f952068e7532641704b058b3e1b6daf20cd55ba4","archive_size":5902,"archive_url":"https://extensions.blender.org/download/sha256:862589b1ae300cc5d200cdf9f952068e7532641704b058b3e1b6daf20cd55ba4/theme-two-point-ex-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/two-point-ex/","maintainer":"eyecandy","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Inspired By"]},{"id":"storytools","schema_version":"1.0.0","name":"Storytools - Storyboard Tools","version":"3.3.0","tagline":"Set of tools for Storyboarding and 2D animation","archive_hash":"sha256:23ca38b0aab86e844042941e8eddd547a775414b908fe77a5c76016a048bd338","archive_size":303321,"archive_url":"https://extensions.blender.org/download/sha256:23ca38b0aab86e844042941e8eddd547a775414b908fe77a5c76016a048bd338/add-on-storytools-v3.3.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/storytools/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Grease Pencil","3D View"]},{"id":"pseudo_rendering_farm","schema_version":"1.0.0","name":"Pseudo Rendering Farm","version":"0.9.0","tagline":"Spawns multiple background processes to render the current file","archive_hash":"sha256:b65dfe192b329567a471b886fe34a29e12cb5c27ab419097bffa2f19dad13504","archive_size":3685,"archive_url":"https://extensions.blender.org/download/sha256:b65dfe192b329567a471b886fe34a29e12cb5c27ab419097bffa2f19dad13504/add-on-pseudo-rendering-farm-v0.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pseudo-rendering-farm/","maintainer":"mklimenko","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to manage output files and temporary benchmark data"},"tags":["Render"]},{"id":"home_builder_5","schema_version":"1.0.0","name":"Home Builder 5","version":"5.0.1","tagline":"Design interior spaces with parametric cabinets","archive_hash":"sha256:cce25cf135ae3870912977f7b6eb83388e5bd610b65292576496f1fdd94ea7d7","archive_size":16932274,"archive_url":"https://extensions.blender.org/download/sha256:cce25cf135ae3870912977f7b6eb83388e5bd610b65292576496f1fdd94ea7d7/add-on-home-builder-5-v5.0.1-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/home-builder-5/","maintainer":"AndrewPeel","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/load project files, export PDFs and layouts"},"platforms":["windows-x64"],"tags":["Add Mesh","Scene"]},{"id":"shapekey_axis_control","schema_version":"1.0.0","name":"ShapeKey Axis Control","version":"4.0.42","tagline":"Control shape keys using a 2D Axis HUD Joystick","archive_hash":"sha256:612c61ada4461e4fb063fbfdd9dccb8e20166a9a4b24ba90d95761022d650cee","archive_size":9690484,"archive_url":"https://extensions.blender.org/download/sha256:612c61ada4461e4fb063fbfdd9dccb8e20166a9a4b24ba90d95761022d650cee/add-on-shapekey-axis-control-v4.0.42.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapekey-axis-control/","maintainer":"Axnise","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"grease_mesh","schema_version":"1.0.0","name":"Grease Mesh","version":"1.0.2","tagline":"Easy toolbox for creating meshes from Grease Pencil","archive_hash":"sha256:acf6531410c08022f3abe058a19505280980e3ac516a1b35777ae43c2d7c11e9","archive_size":33612,"archive_url":"https://extensions.blender.org/download/sha256:acf6531410c08022f3abe058a19505280980e3ac516a1b35777ae43c2d7c11e9/add-on-grease-mesh-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grease-mesh/","maintainer":"Tonis","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Grease Pencil","Modeling"]},{"id":"palette","schema_version":"1.0.0","name":"Palette","version":"1.1.5","tagline":"Load 600+ terminal palettes as complete Blender UI themes","archive_hash":"sha256:bf9563590e4eb6603e3d33bc4dd54bcc272dc3ed28bcd9bffb751e1ec337230c","archive_size":53305,"archive_url":"https://extensions.blender.org/download/sha256:bf9563590e4eb6603e3d33bc4dd54bcc272dc3ed28bcd9bffb751e1ec337230c/add-on-palette-v1.1.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/palette/","maintainer":"NXSTYNATE","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Caches themes locally","network":"Downloads color schemes from GitHub repositories"},"tags":["User Interface"]},{"id":"b_onion_skin","schema_version":"1.0.0","name":"B Onion Skin","version":"1.0.0","tagline":"Onion skinning for 3D animation","archive_hash":"sha256:6e976d6e74649431a61224918b7d505da2b5620419e3def201841386c1277fc9","archive_size":10458,"archive_url":"https://extensions.blender.org/download/sha256:6e976d6e74649431a61224918b7d505da2b5620419e3def201841386c1277fc9/add-on-b-onion-skin-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-onion-skin/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"import_paint_brush","schema_version":"1.0.0","name":"Import Paint Brushes","version":"0.4.0","tagline":"Parsing several brush formats of painting software","archive_hash":"sha256:8757073919c0d49df138f4ebe5c4c126e4a68acdeb4622188637bfc1ca37abdf","archive_size":29373,"archive_url":"https://extensions.blender.org/download/sha256:8757073919c0d49df138f4ebe5c4c126e4a68acdeb4622188637bfc1ca37abdf/add-on-import-paint-brush-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-paint-brush/","maintainer":"chsh2","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import brush files from disk"},"tags":["Import-Export","Paint","Sculpt","Grease Pencil"]},{"id":"texture_mixer","schema_version":"1.0.0","name":"Texture Mixer","version":"0.1.1","tagline":"Layer-based PBR mixing and texture management","archive_hash":"sha256:b32909cebb5fe5369de8344f38d6ee6f7aca7d8e75305ad168e0002fb2a5971b","archive_size":287099,"archive_url":"https://extensions.blender.org/download/sha256:b32909cebb5fe5369de8344f38d6ee6f7aca7d8e75305ad168e0002fb2a5971b/add-on-texture-mixer-v0.1.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/texture-mixer/","maintainer":"MoonRaider","license":["SPDX:GPL-3.0-or-later"]},{"id":"poly_copy_paste","schema_version":"1.0.0","name":"Poly Copy Paste","version":"1.0.3","tagline":"Copy / Cut / Paste polygons with Ctrl+C / Ctrl+X / Ctrl+V","archive_hash":"sha256:b40714c0b14ccb768539ac4906e03ef91cd167361be51985671a49c608732942","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:b40714c0b14ccb768539ac4906e03ef91cd167361be51985671a49c608732942/add-on-poly-copy-paste-v1.0.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/poly-copy-paste/","maintainer":"Fisch_Tu","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"delete_empty_nla_tracks","schema_version":"1.0.0","name":"Delete Empty NLA Tracks","version":"1.0.0","tagline":"Remove empty NLA tracks from all objects","archive_hash":"sha256:e49031699498ec0f3bfd8904a6a29b30e0848f2d6443915298b63552999b6624","archive_size":2118,"archive_url":"https://extensions.blender.org/download/sha256:e49031699498ec0f3bfd8904a6a29b30e0848f2d6443915298b63552999b6624/add-on-delete-empty-nla-tracks-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/delete-empty-nla-tracks/","maintainer":"Rikokenz","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Cyberpunk_2077_UI","schema_version":"1.0.0","name":"Cyberpunk_2077_UI","version":"1.1.2","tagline":"Colorful Futuristic Dystopian","archive_hash":"sha256:b558a5d6e3b0a50ddd9a64482abcaec1fd77375b6343f4ddd7b5aa5276ff8d46","archive_size":5549,"archive_url":"https://extensions.blender.org/download/sha256:b558a5d6e3b0a50ddd9a64482abcaec1fd77375b6343f4ddd7b5aa5276ff8d46/theme-cyberpunk-2077-ui-v1.1.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cyberpunk-2077-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"smart_selection_propagation","schema_version":"1.0.0","name":"Smart Selection Propagation","version":"1.0.0","tagline":"Advanced topology-based selection of similar mesh elements","archive_hash":"sha256:e297789ec5d939ad212de504908c143b963108c3bc4c2b28f23a87fccab6da13","archive_size":6632,"archive_url":"https://extensions.blender.org/download/sha256:e297789ec5d939ad212de504908c143b963108c3bc4c2b28f23a87fccab6da13/add-on-smart-selection-propagation-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-selection-propagation/","maintainer":"atrxi","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling","3D View"]},{"id":"ROSE2_theme","schema_version":"1.0.0","name":"theme ROSE","version":"1.0.0","tagline":"Soft pink theme, dark","archive_hash":"sha256:22a391c485c6efc8c7d4dfe060ff17d177d47fcf205abaa0763fc474e609b640","archive_size":6432,"archive_url":"https://extensions.blender.org/download/sha256:22a391c485c6efc8c7d4dfe060ff17d177d47fcf205abaa0763fc474e609b640/theme-rose2-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rose2-theme/","maintainer":"5Lunes","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"arknights_endfield_theme","schema_version":"1.0.0","name":"Arknights: Endfield","version":"1.0.1","tagline":"Theme inspired by Arknights: Endfield game UI","archive_hash":"sha256:8c151906dba63d9240bb2fa29b0024df03bfd516d5bc665d260d19b7e2de7d52","archive_size":5545,"archive_url":"https://extensions.blender.org/download/sha256:8c151906dba63d9240bb2fa29b0024df03bfd516d5bc665d260d19b7e2de7d52/theme-arknights-endfield-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/arknights-endfield-theme/","maintainer":"RAZUMNO","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"motion_sounds","schema_version":"1.0.0","name":"Motion Sounds","version":"0.9.0","tagline":"Add sounds to your animation based on motion events","archive_hash":"sha256:62f25e1acafc6b4af5389f1b9d4e685ef0cb44062b74bff00ff70e08109d90e0","archive_size":187022,"archive_url":"https://extensions.blender.org/download/sha256:62f25e1acafc6b4af5389f1b9d4e685ef0cb44062b74bff00ff70e08109d90e0/add-on-motion-sounds-v0.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motion-sounds/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"fk_ik_snapping_tools","schema_version":"1.0.0","name":"FK/IK Snapping Tools","version":"1.0.0","tagline":"Seamlessly snap FK controls to IK and vice versa","archive_hash":"sha256:002108bd615d7e54428eac30c42e80215c917e61d904ddbd33da0eb3c84118f2","archive_size":3458,"archive_url":"https://extensions.blender.org/download/sha256:002108bd615d7e54428eac30c42e80215c917e61d904ddbd33da0eb3c84118f2/add-on-fk-ik-snapping-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fk-ik-snapping-tools/","maintainer":"atrxi","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"gv_point_cloud_exporter","schema_version":"1.0.0","name":"PointCloud and Splat Exporter (.ply, .splat)","version":"0.1.2","tagline":"Export PointCloud and Splat data to PLY and SPLAT format","archive_hash":"sha256:b90aded08f08dc965ba8967b19b55e808de53e30df52231cb5d12c3941c21433","archive_size":15659,"archive_url":"https://extensions.blender.org/download/sha256:b90aded08f08dc965ba8967b19b55e808de53e30df52231cb5d12c3941c21433/add-on-gv-point-cloud-exporter-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gv-point-cloud-exporter/","maintainer":"GiancarloV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files on disk","network":"Send anonymous usage analytics to Plausible Analytics. (Opt-In)"},"tags":["Import-Export"]},{"id":"ThreeMF_io","schema_version":"1.0.0","name":"3MF Import/Export","version":"2.3.0","tagline":"Import and export 3D Manufacturing Format (3MF) files","archive_hash":"sha256:f758d86ad3b97418320aa2e5e48893525915f1f7fa37b15398ec1ba02e80641d","archive_size":269761,"archive_url":"https://extensions.blender.org/download/sha256:f758d86ad3b97418320aa2e5e48893525915f1f7fa37b15398ec1ba02e80641d/add-on-threemf-io-v2.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/threemf-io/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For import and export of 3MF files"},"tags":["Import-Export"]},{"id":"tetrominode","schema_version":"1.0.0","name":"Tetrominode","version":"0.4.6","tagline":"Play Tetris in Blender using Geometry Nodes","archive_hash":"sha256:c0f2fdedf0d3999ac0734992540b50bda5a982a38503097fd9b6521186bced0a","archive_size":254981,"archive_url":"https://extensions.blender.org/download/sha256:c0f2fdedf0d3999ac0734992540b50bda5a982a38503097fd9b6521186bced0a/add-on-tetrominode-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tetrominode/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Animation"]},{"id":"modular_tree","schema_version":"1.0.0","name":"Modular Tree","version":"5.5.0","tagline":"Procedural node based 3D tree generation","archive_hash":"sha256:ca71341d8ca1cf0d1da72a9d4591da0d90a4f83f6c8329de59c47e46da566453","archive_size":3442853,"archive_url":"https://extensions.blender.org/download/sha256:ca71341d8ca1cf0d1da72a9d4591da0d90a4f83f6c8329de59c47e46da566453/add-on-modular-tree-v5.5.0-windows-x64.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modular-tree/","maintainer":"Brandyn-Britton","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export pivot painter textures"},"platforms":["windows-x64"],"tags":["Mesh","Add Curve"]},{"id":"oebs_icon_viewer","schema_version":"1.0.0","name":"OEBS Icon Viewer","version":"1.4.0","tagline":"Browse and Search Blender Icons","archive_hash":"sha256:4e795ee297e73aaec5f6e3c8409241de1854dc6e4b287b474b306f0e043a3042","archive_size":11719,"archive_url":"https://extensions.blender.org/download/sha256:4e795ee297e73aaec5f6e3c8409241de1854dc6e4b287b474b306f0e043a3042/add-on-oebs-icon-viewer-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/oebs-icon-viewer/","maintainer":"Eric-Mwangi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To copy icon names to the clipboard"},"tags":["Development","System"]},{"id":"easeit","schema_version":"1.0.0","name":"Easeit","version":"1.0.1","tagline":"Quickly apply easing presets to animation keyframes","archive_hash":"sha256:beea61edf4d85ca09c8e7653f893bd9bef25e7aecb7324931522fa2312400c3f","archive_size":60285,"archive_url":"https://extensions.blender.org/download/sha256:beea61edf4d85ca09c8e7653f893bd9bef25e7aecb7324931522fa2312400c3f/add-on-easeit-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easeit/","maintainer":"AndyCuccaro","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"siemen_lens_blender_autotrack","schema_version":"1.0.0","name":"AutoTrack","version":"4.0.2","tagline":"Automatic 3D Tracking and Solving","archive_hash":"sha256:fb4b325e22b8037fdb7c590efc56ee61c97af94c41a89285ca69169febee4d47","archive_size":19409,"archive_url":"https://extensions.blender.org/download/sha256:fb4b325e22b8037fdb7c590efc56ee61c97af94c41a89285ca69169febee4d47/add-on-siemen-lens-blender-autotrack-v4.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/siemen-lens-blender-autotrack/","maintainer":"Siemen-Lens","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Animation","Compositing","3D View"]},{"id":"node_note","schema_version":"1.0.0","name":"Node Note/节点随记","version":"1.2.5","tagline":"Powerful node notes with text and images/强大的节点图文笔记工具","archive_hash":"sha256:c6703456610b8285b384aff2a28af3d19f79591d8b333eef1a883aa5fb48415e","archive_size":32788,"archive_url":"https://extensions.blender.org/download/sha256:c6703456610b8285b384aff2a28af3d19f79591d8b333eef1a883aa5fb48415e/add-on-node-note-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-note/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import image or use font from disk","clipboard":"Paste text/image from the clipboard and copy text to clipboard"},"tags":["Node"]},{"id":"theme_mockup","schema_version":"1.0.0","name":"Mockup","version":"1.0.0","tagline":"Mockups to use with the (low-fi) Design System components","archive_hash":"sha256:e3588ff217ac36cfab5f0046a6f305b6cd21005a3b6039564169ab070569674e","archive_size":5395,"archive_url":"https://extensions.blender.org/download/sha256:e3588ff217ac36cfab5f0046a6f305b6cd21005a3b6039564169ab070569674e/theme-theme-mockup-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-mockup/","maintainer":"Blender","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"topology_doctor","schema_version":"1.0.0","name":"Topology Doctor","version":"1.0.0","tagline":"One-click topology analysis and repair assistant","archive_hash":"sha256:79c03ca9c72968c3badfb6ecd2e4aba1fbc6fd8818681c453ddc95ad1f4ad3dd","archive_size":16947,"archive_url":"https://extensions.blender.org/download/sha256:79c03ca9c72968c3badfb6ecd2e4aba1fbc6fd8818681c453ddc95ad1f4ad3dd/add-on-topology-doctor-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/topology-doctor/","maintainer":"Arman-Jangmiri","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Required to copy the topology analysis report text to clipboard"}},{"id":"mio3_flex","schema_version":"1.0.0","name":"Mio3 Flex","version":"1.0.4","tagline":"Reshape meshes into smooth freeform curves using paths","archive_hash":"sha256:bf945d9b3e16c43a7c073367785f0ec7e1fb274283ab31398dd8cd6b66334f05","archive_size":30030,"archive_url":"https://extensions.blender.org/download/sha256:bf945d9b3e16c43a7c073367785f0ec7e1fb274283ab31398dd8cd6b66334f05/add-on-mio3-flex-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mio3-flex/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"hdri_lightbrush","schema_version":"1.0.0","name":"HDRI LightBrush","version":"1.0.1","tagline":"Paint HDRIs on 3D sphere for precise studio lighting control","archive_hash":"sha256:2dd62f9b14e0adbeb049c31a26e9b4c36230e6d57140b494c62d2f4d2ed8f5dc","archive_size":144003,"archive_url":"https://extensions.blender.org/download/sha256:2dd62f9b14e0adbeb049c31a26e9b4c36230e6d57140b494c62d2f4d2ed8f5dc/add-on-hdri-lightbrush-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdri-lightbrush/","maintainer":"CadTamas","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export HDRI files (.exr, .hdr, .jpg, .png)"},"tags":["Lighting","Paint"]},{"id":"gamepadcontrol","schema_version":"1.0.0","name":"Gamepad Control","version":"0.1.2","tagline":"Use gamepads as input device to control Blender","archive_hash":"sha256:91cd1c62ff1c6f009b15f2058627ca927f91ccc237ad1cfd5b59af71bd04cc62","archive_size":4828055,"archive_url":"https://extensions.blender.org/download/sha256:91cd1c62ff1c6f009b15f2058627ca927f91ccc237ad1cfd5b59af71bd04cc62/add-on-gamepadcontrol-v0.1.2-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/gamepadcontrol/","maintainer":"Frank-Moelendoerp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export settings and controller modes"},"platforms":["windows-x64"],"tags":["System","User Interface"]},{"id":"LightNCreamy","schema_version":"1.0.0","name":"Light N Creamy","version":"1.0.0","tagline":"Modern light and creamy theme","archive_hash":"sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7","archive_size":3828,"archive_url":"https://extensions.blender.org/download/sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7/theme-lightncreamy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/lightncreamy/","maintainer":"nova3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"PivotTools","schema_version":"1.0.0","name":"Pivot Tools","version":"1.48.13","tagline":"Fast pivot placement with Auto Pick, BBox targets, Saved Pivots","archive_hash":"sha256:c4457381883495799f87d72226140492d101fecadb9f3021309503feb74438f8","archive_size":8530,"archive_url":"https://extensions.blender.org/download/sha256:c4457381883495799f87d72226140492d101fecadb9f3021309503feb74438f8/add-on-pivottools-v1.48.13.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/pivottools/","maintainer":"Quinzy","license":["SPDX:GPL-3.0-or-later"]},{"id":"geo_nodes_guide","schema_version":"1.0.0","name":"Geo Nodes Guide","version":"0.1.0","tagline":"Live documentation and examples for Geometry Nodes","archive_hash":"sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792","archive_size":93537,"archive_url":"https://extensions.blender.org/download/sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792/add-on-geo-nodes-guide-v0.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/geo-nodes-guide/","maintainer":"Addonyte","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Geometry Nodes"]},{"id":"linkforge","schema_version":"1.0.0","name":"LinkForge","version":"1.3.0","tagline":"The Linter & Bridge for Robotics","archive_hash":"sha256:1ba7280ffe1b72443d06c95bb086d614ba0348da32e129c1c43f0c943bab20ad","archive_size":363492,"archive_url":"https://extensions.blender.org/download/sha256:1ba7280ffe1b72443d06c95bb086d614ba0348da32e129c1c43f0c943bab20ad/add-on-linkforge-v1.3.0-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/linkforge/","maintainer":"Arouna-Patouossa-Mounchili","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export URDF/XACRO files"},"platforms":["windows-x64"],"tags":["Import-Export","Rigging","Physics","Pipeline"]},{"id":"retarget","schema_version":"1.0.0","name":"Retarget","version":"3.0.0","tagline":"Retargeting, convert to Rigify, Animation tools, Much more","archive_hash":"sha256:2154dfaf1459223f66b0a61906f919fc6a69ff43ab648670cfd7dddbd3cb8da0","archive_size":152869,"archive_url":"https://extensions.blender.org/download/sha256:2154dfaf1459223f66b0a61906f919fc6a69ff43ab648670cfd7dddbd3cb8da0/add-on-retarget-v3.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/retarget/","maintainer":"KBS-DEV","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"lodify_optimizer","schema_version":"1.0.0","name":"LODify","version":"2.8.0","tagline":"Full-Scenario Perf Opt: Textures, Decimation & Viewport Mgmt","archive_hash":"sha256:8c28c8a75273218a2c6002cfa1490da2da4694e2d398f9b3c06e4efdcce02bb9","archive_size":7066184,"archive_url":"https://extensions.blender.org/download/sha256:8c28c8a75273218a2c6002cfa1490da2da4694e2d398f9b3c06e4efdcce02bb9/add-on-lodify-optimizer-v2.8.0-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lodify-optimizer/","maintainer":"小T_sune","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to read and write texture files for resizing"},"platforms":["windows-x64"],"tags":["Object"]},{"id":"red_velvet_theme","schema_version":"1.0.0","name":"Red Velvet Theme","version":"1.0.0","tagline":"A cosmic red cyberpunk-inspired theme","archive_hash":"sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7/theme-red-velvet-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/red-velvet-theme/","maintainer":"Thunder-Artist","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"outliner_preview","schema_version":"1.0.0","name":"Outliner Model Preview","version":"1.1.1","tagline":"Preview selected model in the Outliner","archive_hash":"sha256:723fc74ef862d5adb00696ea998e3b5aebccb0d8b1be265eecaefcbdb630a1b5","archive_size":31912,"archive_url":"https://extensions.blender.org/download/sha256:723fc74ef862d5adb00696ea998e3b5aebccb0d8b1be265eecaefcbdb630a1b5/add-on-outliner-preview-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/outliner-preview/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"ftw3dforge_image_projector","schema_version":"1.0.0","name":"FTW3DForge Image Projector","version":"2.1.0","tagline":"Project images onto 3D meshes with real-time preview and baking","archive_hash":"sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf","archive_size":16305,"archive_url":"https://extensions.blender.org/download/sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf/add-on-ftw3dforge-image-projector-v2.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw3dforge-image-projector/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["UV","Mesh","Import-Export","Material"]},{"id":"smart_box_select","schema_version":"1.0.0","name":"Smart Box Select","version":"1.0.2","tagline":"Box/Lasso select with object activation","archive_hash":"sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa","archive_size":3800,"archive_url":"https://extensions.blender.org/download/sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa/add-on-smart-box-select-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-box-select/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"splashsurf_studio","schema_version":"1.0.0","name":"Splashsurf Studio","version":"1.0.1","tagline":"Surface reconstruction for particle-based fluid simulations","archive_hash":"sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c","archive_size":2732095,"archive_url":"https://extensions.blender.org/download/sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c/add-on-splashsurf-studio-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/splashsurf-studio/","maintainer":"Fabian-Löschner","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Add Mesh","Mesh","Object"]},{"id":"global_copy_nodes","schema_version":"1.0.0","name":"Global Copy Nodes","version":"1.0.5","tagline":"Copy nodes across .blend projects","archive_hash":"sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e","archive_size":21986,"archive_url":"https://extensions.blender.org/download/sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e/add-on-global-copy-nodes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/global-copy-nodes/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires reading & writing node copy buffer to disk"},"tags":["System","Node"]},{"id":"overscan_addon","schema_version":"1.0.0","name":"Overscan Addon","version":"1.1.1","tagline":"Adds Overscan to your renders","archive_hash":"sha256:3c95e0eb67926e0a9d4f546b139aca201d56da18403a021f4dbd4c2964a47ddb","archive_size":6772,"archive_url":"https://extensions.blender.org/download/sha256:3c95e0eb67926e0a9d4f546b139aca201d56da18403a021f4dbd4c2964a47ddb/add-on-overscan-addon-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan-addon/","maintainer":"eknath-kambagiri","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"sidebar_tab_search","schema_version":"1.0.0","name":"Sidebar Tab Search","version":"1.0.0","tagline":"Quick search and switch between Sidebar (N-Panel) tabs","archive_hash":"sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd","archive_size":18766,"archive_url":"https://extensions.blender.org/download/sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd/add-on-sidebar-tab-search-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sidebar-tab-search/","maintainer":"McKaa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"gizmo_resizer","schema_version":"1.0.0","name":"Gizmo Resizer","version":"2.3.0","tagline":"Resize viewport Gizmo with Numpad keys","archive_hash":"sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe","archive_size":15888,"archive_url":"https://extensions.blender.org/download/sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe/add-on-gizmo-resizer-v2.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gizmo-resizer/","maintainer":"CorentinBileau","license":["SPDX:GPL-3.0-or-later"]},{"id":"Mask_To_Vertex_Color_Pro","schema_version":"1.0.0","name":"MaskToVertexColorPro","version":"2.0.4","tagline":"Mask To VertexColor Pro Tools","archive_hash":"sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a","archive_size":30127,"archive_url":"https://extensions.blender.org/download/sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a/add-on-mask-to-vertex-color-pro-v2.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mask-to-vertex-color-pro/","maintainer":"墨泪MoLei_VFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images are required as masks"},"tags":["Paint","Material"]},{"id":"b_guides","schema_version":"1.0.0","name":"B Guides","version":"1.0.1","tagline":"composition with guides and rulers for the VSE and 3D Viewport","archive_hash":"sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57","archive_size":24706,"archive_url":"https://extensions.blender.org/download/sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57/add-on-b-guides-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-guides/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Sequencer"]},{"id":"selection_mode_cycler","schema_version":"1.0.0","name":"Selection Mode Cycler","version":"1.1.0","tagline":"Cycles through mesh selection modes in Edit Mode","archive_hash":"sha256:80a605bad154cec84404fa1f3a5b9db50846912d98fe07b5d790a03843d4ba12","archive_size":1414,"archive_url":"https://extensions.blender.org/download/sha256:80a605bad154cec84404fa1f3a5b9db50846912d98fe07b5d790a03843d4ba12/add-on-selection-mode-cycler-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/selection-mode-cycler/","maintainer":"Lise-2","license":["SPDX:GPL-3.0-or-later"]},{"id":"colornova","schema_version":"1.0.0","name":"COLOR-NOVA // SPECTRAL UV | M-87","version":"1.0.1","tagline":"Essential UV contrast. Absolute clarity for professional focus","archive_hash":"sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc","archive_size":6257,"archive_url":"https://extensions.blender.org/download/sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc/theme-colornova-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/colornova/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast","Colorful"]},{"id":"select_similar_geometry","schema_version":"1.0.0","name":"Select Similar Geometry","version":"1.3.0","tagline":"Select objects by percentage of matching vertices","archive_hash":"sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21","archive_size":397646,"archive_url":"https://extensions.blender.org/download/sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21/add-on-select-similar-geometry-v1.3.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/select-similar-geometry/","maintainer":"JuanRomero","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"matgeo","schema_version":"1.0.0","name":"MatGeo","version":"1.0.0","tagline":"Convert Materials to Geometry Nodes","archive_hash":"sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556","archive_size":9103,"archive_url":"https://extensions.blender.org/download/sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556/add-on-matgeo-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/matgeo/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Geometry Nodes","Node"]},{"id":"Cross_Select","schema_version":"1.0.0","name":"Cross Select","version":"1.0.6","tagline":"Select scene objects similar like RHINO or CAD","archive_hash":"sha256:bc66d1d42aa0f0a9f666fa5fd13e97ab31b2502dc679fc4ca305a0f745ce2e65","archive_size":30023,"archive_url":"https://extensions.blender.org/download/sha256:bc66d1d42aa0f0a9f666fa5fd13e97ab31b2502dc679fc4ca305a0f745ce2e65/add-on-cross-select-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cross-select/","maintainer":"RARA","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View","Scene","Node"]},{"id":"Dark_3d","schema_version":"1.0.0","name":"Dark 3d","version":"1.0.0","tagline":"Shaded Buttons","archive_hash":"sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad","archive_size":6664,"archive_url":"https://extensions.blender.org/download/sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad/theme-dark-3d-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-3d/","maintainer":"SammyTheBest","license":["SPDX:GPL-3.0-or-later"]},{"id":"bone_math","schema_version":"1.0.0","name":"Bone Math","version":"0.1.0","tagline":"Calculate pole angles, plus other bone related math","archive_hash":"sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c","archive_size":4795,"archive_url":"https://extensions.blender.org/download/sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c/add-on-bone-math-v0.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bone-math/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"surface_diagnostics","schema_version":"1.0.0","name":"Surface Diagnostics","version":"1.4.3","tagline":"Set of tools for diagnosing surface quality","archive_hash":"sha256:962fd2c89467104fae0bf139c1118e079fa7ff65ae8fbf692c741e2ef6c0d103","archive_size":1241115,"archive_url":"https://extensions.blender.org/download/sha256:962fd2c89467104fae0bf139c1118e079fa7ff65ae8fbf692c741e2ef6c0d103/add-on-surface-diagnostics-v1.4.3.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/surface-diagnostics/","maintainer":"JLBöhm","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Geometry Nodes"]},{"id":"savepoints","schema_version":"1.0.0","name":"SavePoints","version":"1.5.2","tagline":"Visual version control, easy restore, and automatic timelapse","archive_hash":"sha256:a3299c0dde53838e75fd7f4c75750f4cfc579203ea0382fcc55484f37f9d9cab","archive_size":100533,"archive_url":"https://extensions.blender.org/download/sha256:a3299c0dde53838e75fd7f4c75750f4cfc579203ea0382fcc55484f37f9d9cab/add-on-savepoints-v1.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/savepoints/","maintainer":"unclepomedev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create version history and move deleted versions to trash"},"tags":["System","Pipeline","Render"]},{"id":"sprite_sheet_maker","schema_version":"1.0.0","name":"Sprite Sheet Maker","version":"5.1.1","tagline":"3D to 2D sprite sheet converter with optional pixelation","archive_hash":"sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329","archive_size":8711545,"archive_url":"https://extensions.blender.org/download/sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329/add-on-sprite-sheet-maker-v5.1.1-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sprite-sheet-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Animation","Render"]},{"id":"kanagawa","schema_version":"1.0.0","name":"Kanagawa","version":"1.0.1","tagline":"kanagawa.nvim for Blender","archive_hash":"sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d","archive_size":6190,"archive_url":"https://extensions.blender.org/download/sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d/theme-kanagawa-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/kanagawa/","maintainer":"timberlinefpv","license":["SPDX:GPL-3.0-or-later"]},{"id":"io_scene_owm","schema_version":"1.0.0","name":"OWM Import","version":"3.3.0","tagline":"Import files from the Overwatch extraction tools (DataTool)","archive_hash":"sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44","archive_size":279606,"archive_url":"https://extensions.blender.org/download/sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44/add-on-io-scene-owm-v3.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-owm/","maintainer":"overtools","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing files from disk"},"tags":["Import-Export"]},{"id":"io_xnalara","schema_version":"1.0.0","name":"XPS Import/Export","version":"2.2.6","tagline":"Import-Export for XNALara/XPS files","archive_hash":"sha256:c80378ac07423326908c18f542d132bc69ba043ff10d6eb67ebb828affb81ace","archive_size":172698,"archive_url":"https://extensions.blender.org/download/sha256:c80378ac07423326908c18f542d132bc69ba043ff10d6eb67ebb828affb81ace/add-on-io-xnalara-v2.2.6.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-xnalara/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"windows_xp_theme","schema_version":"1.0.0","name":"Windows XP","version":"1.0.0","tagline":"A light theme directly inspired by Windows XP","archive_hash":"sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a","archive_size":6634,"archive_url":"https://extensions.blender.org/download/sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a/theme-windows-xp-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/windows-xp-theme/","maintainer":"Alkalide","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"ZZZ","schema_version":"1.0.0","name":"ZZZ Theme","version":"1.0.1","tagline":"High-contrast dark theme with Zenless Zone Zero's signature","archive_hash":"sha256:c8dabb06a7b621ccd164b2de14001434b7fe9db60528059c65124a879371d29f","archive_size":5472,"archive_url":"https://extensions.blender.org/download/sha256:c8dabb06a7b621ccd164b2de14001434b7fe9db60528059c65124a879371d29f/theme-zzz-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zzz/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast"]},{"id":"Cyberpunk2077","schema_version":"1.0.0","name":"Cyberpunk 2077","version":"1.2.1","tagline":"A Cyberpunk 2077 theme for Blender","archive_hash":"sha256:5ed092e04488fc5446e0f030fbb143a223ec88178719fddf4f32ebba7d295a17","archive_size":5792,"archive_url":"https://extensions.blender.org/download/sha256:5ed092e04488fc5446e0f030fbb143a223ec88178719fddf4f32ebba7d295a17/theme-cyberpunk2077-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cyberpunk2077/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"mintLavender","schema_version":"1.0.0","name":"Mint Lavender Chill","version":"1.0.3","tagline":"A Mint lavender theme for Blender with Lo-fi aesthetics","archive_hash":"sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5","archive_size":5321,"archive_url":"https://extensions.blender.org/download/sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5/theme-mintlavender-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mintlavender/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"sleek_navy","schema_version":"1.0.0","name":"Sleek Navy","version":"1.0.0","tagline":"A clean dark-blue Blender theme","archive_hash":"sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420","archive_size":5546,"archive_url":"https://extensions.blender.org/download/sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420/theme-sleek-navy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/sleek-navy/","maintainer":"Martel6ix","license":["SPDX:MIT"]},{"id":"multirow","schema_version":"1.0.0","name":"Multirow","version":"1.0.1","tagline":"Text strips with line break","archive_hash":"sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1","archive_size":4445,"archive_url":"https://extensions.blender.org/download/sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1/add-on-multirow-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/multirow/","maintainer":"flakmoppen","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","Text Editor","User Interface"]},{"id":"viewport_camera_positions","schema_version":"1.0.0","name":"Lutaya Viewport Camera","version":"1.0.1","tagline":"Save and switch between camera positions with orthographic views","archive_hash":"sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b","archive_size":4336,"archive_url":"https://extensions.blender.org/download/sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b/add-on-viewport-camera-positions-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-camera-positions/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load camera position configurations"},"tags":["3D View","Camera"]},{"id":"sequence_loader","schema_version":"1.0.0","name":"Sequence Loader","version":"0.4.0","tagline":"Just-in-time loader for meshio-supported mesh file sequences","archive_hash":"sha256:20c6e8c30cd2c2aa4be1c56817a32562680841c20df0b7a6cff103d543f566ff","archive_size":629459,"archive_url":"https://extensions.blender.org/download/sha256:20c6e8c30cd2c2aa4be1c56817a32562680841c20df0b7a6cff103d543f566ff/add-on-sequence-loader-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sequence-loader/","maintainer":"Stefan-Jeske","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Core functionality to load files from disk"},"tags":["Import-Export"]},{"id":"automata_theme","schema_version":"1.0.0","name":"Automata","version":"2.0.0","tagline":"NieR inspired theme","archive_hash":"sha256:7999157fafef87293070f20c98d798e754bf156147cdc753687ffba29bb7a198","archive_size":5950,"archive_url":"https://extensions.blender.org/download/sha256:7999157fafef87293070f20c98d798e754bf156147cdc753687ffba29bb7a198/theme-automata-theme-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/automata-theme/","maintainer":"NSA-Cloud","license":["SPDX:GPL-3.0-or-later"]},{"id":"ani_offset","schema_version":"1.0.0","name":"Ani Offset","version":"3.2.2","tagline":"Propagate pose offsets across selected keyframes","archive_hash":"sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154","archive_size":3526,"archive_url":"https://extensions.blender.org/download/sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154/add-on-ani-offset-v3.2.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ani-offset/","maintainer":"Drika111","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"asset_optimizer","schema_version":"1.0.0","name":"Game Asset Optimizer","version":"1.0.2","tagline":"Optimize 3D models for Unity and Unreal Engine workflows","archive_hash":"sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b","archive_size":19580,"archive_url":"https://extensions.blender.org/download/sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b/add-on-asset-optimizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-optimizer/","maintainer":"Sudip-Soni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export optimized assets for Unity and Unreal Engine"},"tags":["Modeling","Mesh","Pipeline"]},{"id":"turntable_camera","schema_version":"1.0.0","name":"Turntable Camera","version":"0.1.2","tagline":"Camera Turntable Setup","archive_hash":"sha256:fa20577f3c12d4b6dd05802b7aacf3dd8d433753fc19b3bb8da3adb23ac2b3c5","archive_size":17413,"archive_url":"https://extensions.blender.org/download/sha256:fa20577f3c12d4b6dd05802b7aacf3dd8d433753fc19b3bb8da3adb23ac2b3c5/add-on-turntable-camera-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turntable-camera/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"copy_paste_nodes","schema_version":"1.0.0","name":"Copy/Paste Nodes","version":"0.1.5","tagline":"Copy nodes to and from the system clipboard as JSON","archive_hash":"sha256:5cd02f7fe4229a03fddb190f98410f4f1b5c049707de5587c3eb4c14a9609a88","archive_size":10746,"archive_url":"https://extensions.blender.org/download/sha256:5cd02f7fe4229a03fddb190f98410f4f1b5c049707de5587c3eb4c14a9609a88/add-on-copy-paste-nodes-v0.1.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copy-paste-nodes/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste nodes to the clipboard"},"tags":["Node"]},{"id":"mixamo_rig","schema_version":"1.0.0","name":"Mixamo Rig","version":"1.1.8","tagline":"Generate a control rig from Mixamo Fbx skeleton","archive_hash":"sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96","archive_size":171560,"archive_url":"https://extensions.blender.org/download/sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96/add-on-mixamo-rig-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.5.999","website":"https://extensions.blender.org/add-ons/mixamo-rig/","maintainer":"tyler.tofu","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Rigging"]},{"id":"img2mat_pro","schema_version":"1.0.0","name":"img2mat_pro","version":"1.10.0","tagline":"Extract color materials and paint palettes from images","archive_hash":"sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990","archive_size":9875,"archive_url":"https://extensions.blender.org/download/sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990/add-on-img2mat-pro-v1.10.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img2mat-pro/","maintainer":"stevewarner","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","User Interface","Pipeline"]},{"id":"anim_reviewer","schema_version":"1.0.0","name":"Anim Reviewer","version":"1.0.1","tagline":"Enhance blender playblast capabilities for animation review","archive_hash":"sha256:621573abf70024412858e7565266f3f4b0baccab858c1374bb70dc6a63c1a0e1","archive_size":1334632,"archive_url":"https://extensions.blender.org/download/sha256:621573abf70024412858e7565266f3f4b0baccab858c1374bb70dc6a63c1a0e1/add-on-anim-reviewer-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/anim-reviewer/","maintainer":"FhyTan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save playblast videos in specified output folder"},"tags":["3D View","Animation","Camera","Pipeline"]},{"id":"export_render_as_dng","schema_version":"1.0.0","name":"Export Render as DNG","version":"1.0.2","tagline":"Export renders and images as Bayer-style DNG files","archive_hash":"sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85","archive_size":25960,"archive_url":"https://extensions.blender.org/download/sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85/add-on-export-render-as-dng-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-render-as-dng/","maintainer":"FloBEAUG","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export DNG to disk"}},{"id":"Origin_move_like_maya","schema_version":"1.0.0","name":"Origin_move_like_maya (Press D)","version":"1.4.0","tagline":"Move pivot independently with snapping and gizmo like maya","archive_hash":"sha256:5e718aa81233aba65fd1aa186cb1588d551da1b21509fa373d75f11e29c17534","archive_size":3563,"archive_url":"https://extensions.blender.org/download/sha256:5e718aa81233aba65fd1aa186cb1588d551da1b21509fa373d75f11e29c17534/add-on-origin-move-like-maya-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/origin-move-like-maya/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"printing_helper","schema_version":"1.0.0","name":"Printing Helper","version":"0.1.2","tagline":"Set the resolution required for printing more simply","archive_hash":"sha256:3c3a5ea8c40c1cf91c3102b5c7d690ef8ae38a6a562daf4f2200574c2faabeae","archive_size":12655,"archive_url":"https://extensions.blender.org/download/sha256:3c3a5ea8c40c1cf91c3102b5c7d690ef8ae38a6a562daf4f2200574c2faabeae/add-on-printing-helper-v0.1.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/printing-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Camera"]},{"id":"bh_smart_sym","schema_version":"1.0.0","name":"BH Smart Sym","version":"0.9.0","tagline":"Interactive 3D arrows for quick face symmetrize","archive_hash":"sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34","archive_size":5272,"archive_url":"https://extensions.blender.org/download/sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34/add-on-bh-smart-sym-v0.9.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bh-smart-sym/","maintainer":"bogatyr4ik","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"camera_aspect_ratio_guides","schema_version":"1.0.0","name":"Camera Aspect Ratio Guides","version":"2.0.0","tagline":"Professional composition guides with safe areas","archive_hash":"sha256:50bae340eccf1df4cc77e0a2667e08f8ba9f7c894fce9c5854e0f0dd5b29c394","archive_size":11678,"archive_url":"https://extensions.blender.org/download/sha256:50bae340eccf1df4cc77e0a2667e08f8ba9f7c894fce9c5854e0f0dd5b29c394/add-on-camera-aspect-ratio-guides-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.5.0","website":"https://extensions.blender.org/add-ons/camera-aspect-ratio-guides/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Modify compositor nodes for render burn-in"},"tags":["Camera","Render","Compositing"]},{"id":"theme_GoldExperience","schema_version":"1.0.0","name":"Gold Experience","version":"1.0.1","tagline":"A theme if you really like yellow","archive_hash":"sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb/theme-theme-goldexperience-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-goldexperience/","maintainer":"lonku","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"catppucin4blender","schema_version":"1.0.0","name":"Catppuccin Theme","version":"5.1.5","tagline":"Catppuccin for Blender","archive_hash":"sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875","archive_size":7103,"archive_url":"https://extensions.blender.org/download/sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875/theme-catppucin4blender-v5.1.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/catppucin4blender/","maintainer":"Albert-Bici","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark","Colorful"]},{"id":"camerafly","schema_version":"1.0.0","name":"Camerafly","version":"2.1.3","tagline":"Fly around with the Dolly Rig of the Camera Rigs Addon","archive_hash":"sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d","archive_size":23698,"archive_url":"https://extensions.blender.org/download/sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d/add-on-camerafly-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camerafly/","maintainer":"MichaelSchieber","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"face_angle_analyzer","schema_version":"1.0.0","name":"Face Angle Analyzer","version":"8.9.4","tagline":"Measure and visualize face angles against global axes","archive_hash":"sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0","archive_size":6292,"archive_url":"https://extensions.blender.org/download/sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0/add-on-face-angle-analyzer-v8.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-angle-analyzer/","maintainer":"Astralis","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"rigi_all","schema_version":"1.0.0","name":"Rigi-All","version":"1.5.2","tagline":"Speeds up the Rigify process","archive_hash":"sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17","archive_size":31809,"archive_url":"https://extensions.blender.org/download/sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17/add-on-rigi-all-v1.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigi-all/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Quick_Asset_Saver","schema_version":"1.0.0","name":"Quick Asset Manager","version":"2.0.3","tagline":"Quickly Create, Edit, Organize, or Delete your local asset files","archive_hash":"sha256:34196edd29b75d18cca2c3cd001fa751781314ee608d025ef702669cee0b5973","archive_size":66307,"archive_url":"https://extensions.blender.org/download/sha256:34196edd29b75d18cca2c3cd001fa751781314ee608d025ef702669cee0b5973/add-on-quick-asset-saver-v2.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-asset-saver/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To read and write to asset library directories"},"tags":["User Interface","System"]},{"id":"bone_widget","schema_version":"1.0.0","name":"Bone Widget","version":"2.3.3","tagline":"Easily Create Bone Widgets","archive_hash":"sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970","archive_size":293994,"archive_url":"https://extensions.blender.org/download/sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970/add-on-bone-widget-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-widget/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export json and image files from/to disk"},"tags":["Rigging"]},{"id":"Bone_Animation_Copy_Tool","schema_version":"1.0.0","name":"Bone Animation Copy Tool","version":"1.1.5","tagline":"Copy animation between armatures using bone constraints","archive_hash":"sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2","archive_size":9772,"archive_url":"https://extensions.blender.org/download/sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2/add-on-bone-animation-copy-tool-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-animation-copy-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"orbiter","schema_version":"1.0.0","name":"Orbiter","version":"1.1.0","tagline":"Orbit around objects in the viewport","archive_hash":"sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a","archive_size":3393,"archive_url":"https://extensions.blender.org/download/sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a/add-on-orbiter-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orbiter/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"spline_generator","schema_version":"1.0.0","name":"Spline Generator","version":"1.0.3","tagline":"Generate parametric spline","archive_hash":"sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145","archive_size":8307,"archive_url":"https://extensions.blender.org/download/sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145/add-on-spline-generator-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spline-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Add Curve"]},{"id":"beautiful_dream","schema_version":"1.0.0","name":"Beautiful Dream","version":"1.0.4","tagline":"This is a variant of Whispering Ripples","archive_hash":"sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96","archive_size":5810,"archive_url":"https://extensions.blender.org/download/sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96/theme-beautiful-dream-v1.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/beautiful-dream/","maintainer":"KBS-DEV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"graph_generator","schema_version":"1.0.0","name":"Graph Generator","version":"1.2.2","tagline":"Generate graph between saved keyframes","archive_hash":"sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4","archive_size":9526,"archive_url":"https://extensions.blender.org/download/sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4/add-on-graph-generator-v1.2.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/graph-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"wisteria","schema_version":"1.0.0","name":"Wisteria","version":"1.0.1","tagline":"Gray with hints of purple","archive_hash":"sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915","archive_size":5690,"archive_url":"https://extensions.blender.org/download/sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915/theme-wisteria-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/wisteria/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"trajectory_anim","schema_version":"1.0.0","name":"Trajectory Anim","version":"1.2.1","tagline":"Animate quickly by drawing trajectory line","archive_hash":"sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d","archive_size":43987,"archive_url":"https://extensions.blender.org/download/sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d/add-on-trajectory-anim-v1.2.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/trajectory-anim/","maintainer":"trisnox","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Analysis_Toolkit","schema_version":"1.0.0","name":"Analysis Toolkit","version":"1.0.1","tagline":"Measurement calculations, illuminance, distance, speed, and more","archive_hash":"sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823","archive_size":25910,"archive_url":"https://extensions.blender.org/download/sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823/add-on-analysis-toolkit-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/analysis-toolkit/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Lighting"]},{"id":"ns_toolkit_mesh_cleanup_pro","schema_version":"1.0.0","name":"NS Toolkit - Mesh Cleanup Pro","version":"1.0.1","tagline":"Professional mesh cleanup with topology visualization tools","archive_hash":"sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e","archive_size":9410,"archive_url":"https://extensions.blender.org/download/sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e/add-on-ns-toolkit-mesh-cleanup-pro-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ns-toolkit-mesh-cleanup-pro/","maintainer":"nandur","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"OLED","schema_version":"1.0.0","name":"OLED","version":"1.0.0","tagline":"OLED theme for Blender","archive_hash":"sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee/theme-oled-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/oled/","maintainer":"NARZ","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"CYNexusLX490","schema_version":"1.0.0","name":"CyanoNexus LX490","version":"1.0.1","tagline":"Stellar-grade Blender theme – tri-spectrum of CyanoNexus LX490","archive_hash":"sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9","archive_size":6218,"archive_url":"https://extensions.blender.org/download/sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9/theme-cynexuslx490-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cynexuslx490/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"editorbar","schema_version":"1.0.0","name":"EditorBar","version":"0.4.7","tagline":"Turn Outliner & Properties editors into a toggleable sidebar","archive_hash":"sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a","archive_size":24251,"archive_url":"https://extensions.blender.org/download/sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a/add-on-editorbar-v0.4.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/editorbar/","maintainer":"atetraxx","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"manage_file_paths","schema_version":"1.0.0","name":"Manage File Paths","version":"1.0.1","tagline":"A list of image file paths with indicators for missing files","archive_hash":"sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906","archive_size":3273,"archive_url":"https://extensions.blender.org/download/sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906/add-on-manage-file-paths-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/manage-file-paths/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check if image files exist on disk"},"tags":["Material","System"]},{"id":"import_meshed_alpha","schema_version":"1.0.0","name":"Import Meshed Alpha","version":"1.0.1","tagline":"Transparency to Geometry","archive_hash":"sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e","archive_size":927961,"archive_url":"https://extensions.blender.org/download/sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e/add-on-import-meshed-alpha-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-meshed-alpha/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Image import"},"platforms":["windows-x64"],"tags":["Mesh","Material"]},{"id":"matcolex","schema_version":"1.0.0","name":"MatColeX","version":"1.7.8","tagline":"Collect, Organize, and Apply Shaders from Your 3D View","archive_hash":"sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5","archive_size":9589,"archive_url":"https://extensions.blender.org/download/sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5/add-on-matcolex-v1.7.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matcolex/","maintainer":"budijozz","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","3D View","Modeling"]},{"id":"wfc_3d_generator","schema_version":"1.0.0","name":"WFC 3D Generator","version":"1.3.8","tagline":"Simple WFC 3D generator for procedural creation of objects","archive_hash":"sha256:2bcf439320138f409932ef702a986c28a8cba0acb9a32c0e4ab60f0c2e5d0ff9","archive_size":68017,"archive_url":"https://extensions.blender.org/download/sha256:2bcf439320138f409932ef702a986c28a8cba0acb9a32c0e4ab60f0c2e5d0ff9/add-on-wfc-3d-generator-v1.3.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wfc-3d-generator/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export constraints (JSON) from/to disk"},"tags":["Object","Modeling","Render","Game Engine"]},{"id":"blender_dark_aero_theme","schema_version":"1.0.0","name":"Dark Aero","version":"1.0.0","tagline":"This is a Dark Aero Theme for Blender","archive_hash":"sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca","archive_size":7696,"archive_url":"https://extensions.blender.org/download/sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca/theme-blender-dark-aero-theme-v1.0.0.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blender-dark-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"nurbs2mesh","schema_version":"1.0.0","name":"NURBS2Mesh","version":"1.0.3","tagline":"Auto-updating mesh copies from NURBS/Curves","archive_hash":"sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35","archive_size":9718,"archive_url":"https://extensions.blender.org/download/sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35/add-on-nurbs2mesh-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nurbs2mesh/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"curve_generator","schema_version":"1.0.0","name":"Curve Generator","version":"1.2.1","tagline":"Generate float curves","archive_hash":"sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac","archive_size":6289,"archive_url":"https://extensions.blender.org/download/sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac/add-on-curve-generator-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Add Curve"]},{"id":"true_roboanimator","schema_version":"1.0.0","name":"True RoboAnimator","version":"1.0.1","tagline":"Robot motion to wheel RPM with CSV export","archive_hash":"sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606","archive_size":18055,"archive_url":"https://extensions.blender.org/download/sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606/add-on-true-roboanimator-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/true-roboanimator/","maintainer":"danyal-sarfraz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write CSV and animation data files"}},{"id":"MaterialHelper","schema_version":"1.0.0","name":"MaterialHelper","version":"1.4.7","tagline":"Make local asset manager your place to create powerful materials","archive_hash":"sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d","archive_size":3927318,"archive_url":"https://extensions.blender.org/download/sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d/add-on-materialhelper-v1.4.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/materialhelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load preview material file/Access and modify asset catalog file"},"tags":["3D View","Material"]},{"id":"lutiy_timeline","schema_version":"1.0.0","name":"Lutiy Timeline","version":"1.0.1","tagline":"Save and switch between camera frame range","archive_hash":"sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb","archive_size":3790,"archive_url":"https://extensions.blender.org/download/sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb/add-on-lutiy-timeline-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lutiy-timeline/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load preset configurations"},"tags":["Animation","Camera","Scene"]},{"id":"py_btn_box","schema_version":"1.0.0","name":"PyBtnBox","version":"5.1.0","tagline":"Use Button To Execute Script","archive_hash":"sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf","archive_size":14035,"archive_url":"https://extensions.blender.org/download/sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf/add-on-py-btn-box-v5.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/py-btn-box/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Need to sync button data from python/json files and folder"},"tags":["System"]},{"id":"mesh_attribute_utils","schema_version":"1.0.0","name":"Mesh Attribute Utils","version":"0.2.0","tagline":"Easily view and edit custom mesh attributes","archive_hash":"sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211","archive_size":8347,"archive_url":"https://extensions.blender.org/download/sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211/add-on-mesh-attribute-utils-v0.2.0.zip","type":"add-on","blender_version_min":"4.5.3","website":"https://extensions.blender.org/add-ons/mesh-attribute-utils/","maintainer":"Hannah-Pascal-Noël","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"theme_updater","schema_version":"1.0.0","name":"Theme Updater","version":"1.0.0","tagline":"Update themes from 4.5 LTS to 5.0","archive_hash":"sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21","archive_size":5066,"archive_url":"https://extensions.blender.org/download/sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21/add-on-theme-updater-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/theme-updater/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"rotor","schema_version":"1.0.0","name":"rotor","version":"1.3.2","tagline":"rotor","archive_hash":"sha256:93688a3f41cadaf2dd61a8e3a442963482ca64c95f3bf303e041f622a54a46c4","archive_size":42300,"archive_url":"https://extensions.blender.org/download/sha256:93688a3f41cadaf2dd61a8e3a442963482ca64c95f3bf303e041f622a54a46c4/add-on-rotor-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rotor/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"Blockout","schema_version":"1.0.0","name":"Blockout","version":"1.4.5","tagline":"Blockout","archive_hash":"sha256:14f2efbae5525faa91e3146093b002aef8204472b2dfc0cfd71d9d1e218dd814","archive_size":151513,"archive_url":"https://extensions.blender.org/download/sha256:14f2efbae5525faa91e3146093b002aef8204472b2dfc0cfd71d9d1e218dd814/add-on-blockout-v1.4.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blockout/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing node group from disk"},"tags":["Modeling","3D View","Mesh"]},{"id":"geo_bake_batch","schema_version":"1.0.0","name":"Geo Bake Batch","version":"0.0.1","tagline":"Batch tools for Geometry Nodes baking","archive_hash":"sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39","archive_size":2570,"archive_url":"https://extensions.blender.org/download/sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39/add-on-geo-bake-batch-v0.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geo-bake-batch/","maintainer":"Artyom-Pankratov","license":["SPDX:GPL-3.0-or-later"]},{"id":"restart","schema_version":"1.0.0","name":"Restart","version":"1.0.2","tagline":"Restart Blender","archive_hash":"sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c","archive_size":2824,"archive_url":"https://extensions.blender.org/download/sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c/add-on-restart-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/restart/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"camera_sensor_database","schema_version":"1.0.0","name":"Camera Sensor Database","version":"1.0.1","tagline":"Provides a database of camera sensors to choose from in Blender","archive_hash":"sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9","archive_size":18406,"archive_url":"https://extensions.blender.org/download/sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9/add-on-camera-sensor-database-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camera-sensor-database/","maintainer":"Manuel-Houben","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the sensor database locally","network":"To download the latest sensor database"},"tags":["Camera"]},{"id":"collection_switcher","schema_version":"1.0.0","name":"Collection Switcher","version":"1.4.0","tagline":"Switch visibility between sub-collections in switchers","archive_hash":"sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9","archive_size":1124111,"archive_url":"https://extensions.blender.org/download/sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9/add-on-collection-switcher-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-switcher/","maintainer":"Valentin-Komkov","license":["SPDX:GPL-3.0-or-later"]},{"id":"stb_section_toolbox","schema_version":"1.0.0","name":"Section Toolbox","version":"0.0.2","tagline":"Parametric section box and planar cuts with SVG DXF export","archive_hash":"sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7","archive_size":30173,"archive_url":"https://extensions.blender.org/download/sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7/add-on-stb-section-toolbox-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stb-section-toolbox/","maintainer":"Victor-Calixto","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG and DXF to disk"},"tags":["Modeling","Mesh","Import-Export","Object"]},{"id":"uv_maps_plus","schema_version":"1.0.0","name":"UV Maps+","version":"2026.1.2","tagline":"Reorder UV Maps, Copy/Paste UVs, and exceed the 8-map limit","archive_hash":"sha256:a85d5e6b619544489c39c0b6208a5012907877f0a8c71931d5f9bae813e0e318","archive_size":18036,"archive_url":"https://extensions.blender.org/download/sha256:a85d5e6b619544489c39c0b6208a5012907877f0a8c71931d5f9bae813e0e318/add-on-uv-maps-plus-v2026.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-maps-plus/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","User Interface"]},{"id":"parallax_node","schema_version":"1.0.0","name":"Parallax Node","version":"1.1.1","tagline":"Adds parallax node for shader nodes","archive_hash":"sha256:a2830f8614b8e3ee6d7bcc882eb2a8d3208f069b64dec3d7cfbc9f73dd4a100f","archive_size":12064,"archive_url":"https://extensions.blender.org/download/sha256:a2830f8614b8e3ee6d7bcc882eb2a8d3208f069b64dec3d7cfbc9f73dd4a100f/add-on-parallax-node-v1.1.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/parallax-node/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"easy_driver","schema_version":"1.0.0","name":"Easy Driver","version":"1.5.7","tagline":"Technical rigging made easier","archive_hash":"sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e","archive_size":41557,"archive_url":"https://extensions.blender.org/download/sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e/add-on-easy-driver-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/easy-driver/","maintainer":"NeoEmberArt","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"hifi_builder","schema_version":"1.0.0","name":"HiFi Architecture Builder v3.9.5","version":"3.9.5","tagline":"One-click architecture builder for Blender with all units","archive_hash":"sha256:04e59d6f87d7108a1ec1dc942f673d481a7201995aa3dd1705b16059d932b7f5","archive_size":54945,"archive_url":"https://extensions.blender.org/download/sha256:04e59d6f87d7108a1ec1dc942f673d481a7201995aa3dd1705b16059d932b7f5/add-on-hifi-builder-v3.9.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hifi-builder/","maintainer":"Malik-Nomi","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling"]},{"id":"secondary_language","schema_version":"1.0.0","name":"Secondary Language","version":"1.1.0","tagline":"Quickly switch to secondary language","archive_hash":"sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049","archive_size":3939,"archive_url":"https://extensions.blender.org/download/sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049/add-on-secondary-language-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/secondary-language/","maintainer":"mdlt7z","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"driver_helper","schema_version":"1.0.0","name":"DriverHelper","version":"1.0.1","tagline":"Helps generate driver formulas in the Shape Keys panel","archive_hash":"sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149","archive_size":2152,"archive_url":"https://extensions.blender.org/download/sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149/add-on-driver-helper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/driver-helper/","maintainer":"Zakmen150","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"format_rename","schema_version":"1.0.0","name":"Format Rename","version":"0.0.5","tagline":"Format Rename","archive_hash":"sha256:e808bb2db8a28a7d59edcc17646c4e27d758ece40f258f98a15f162756b14f6e","archive_size":19683,"archive_url":"https://extensions.blender.org/download/sha256:e808bb2db8a28a7d59edcc17646c4e27d758ece40f258f98a15f162756b14f6e/add-on-format-rename-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/format-rename/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Rigging"]},{"id":"NieR_Automata","schema_version":"1.0.0","name":"YorHa - Operator","version":"1.1.0","tagline":"A Dark Version Of Nier Automata Ui inspired by YorHa-Operator","archive_hash":"sha256:37142058b557023d2d7bd00556c7ddaa53effadc124d7a8576a76383b98c39a1","archive_size":5484,"archive_url":"https://extensions.blender.org/download/sha256:37142058b557023d2d7bd00556c7ddaa53effadc124d7a8576a76383b98c39a1/theme-nier-automata-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nier-automata/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"layer_comp","schema_version":"1.0.0","name":"LayerComp","version":"1.1.2","tagline":"Layer-based compositing tool, similar to After Effects","archive_hash":"sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6","archive_size":580509,"archive_url":"https://extensions.blender.org/download/sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6/add-on-layer-comp-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/layer-comp/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Blend file from/to disk"},"tags":["Compositing","Node","Render"]},{"id":"select_123","schema_version":"1.0.0","name":"123 Select","version":"1.0.0","tagline":"Switch vertex edge face in Object Mode","archive_hash":"sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69","archive_size":2138,"archive_url":"https://extensions.blender.org/download/sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69/add-on-select-123-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-123/","maintainer":"Fisch_Tu","license":["SPDX:GPL-3.0-or-later"]},{"id":"ramp_generator","schema_version":"1.0.0","name":"Ramp Generator","version":"1.4.3","tagline":"Generate color ramps","archive_hash":"sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c","archive_size":3932,"archive_url":"https://extensions.blender.org/download/sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c/add-on-ramp-generator-v1.4.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ramp-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Compositing"]},{"id":"Timelapse_extension","schema_version":"1.0.0","name":"Timelapse","version":"1.0.1","tagline":"Take timed screenshots inside Blender","archive_hash":"sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1","archive_size":3049,"archive_url":"https://extensions.blender.org/download/sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1/add-on-timelapse-extension-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/timelapse-extension/","maintainer":"Silky-Renders","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export png/jpeg to disk"},"tags":["System"]},{"id":"blender_frutiger_aero_theme","schema_version":"1.0.0","name":"Frutiger Aero","version":"1.1.3","tagline":"This is a Frutiger Aero Theme for Blender","archive_hash":"sha256:55211f98e8097958a59f34af945f4a16ce490025f4b50c8edf939aa53b009f11","archive_size":6989,"archive_url":"https://extensions.blender.org/download/sha256:55211f98e8097958a59f34af945f4a16ce490025f4b50c8edf939aa53b009f11/theme-blender-frutiger-aero-theme-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blender-frutiger-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"markcam","schema_version":"1.0.0","name":"MarkCam","version":"2.5.0","tagline":"Quick camera-from-view + timeline marker tools","archive_hash":"sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd","archive_size":6762,"archive_url":"https://extensions.blender.org/download/sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd/add-on-markcam-v2.5.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/markcam/","maintainer":"SomRender","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation"]},{"id":"Work_n_rose","schema_version":"1.0.0","name":"Work_n_rose","version":"1.4.0","tagline":"Dark, High Contrast","archive_hash":"sha256:6b114a012d21ae7b78d93ef3739a27a9a972bb94f93564985f11c0b5d25d0a55","archive_size":6213,"archive_url":"https://extensions.blender.org/download/sha256:6b114a012d21ae7b78d93ef3739a27a9a972bb94f93564985f11c0b5d25d0a55/theme-work-n-rose-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/work-n-rose/","maintainer":"Nois3G4te","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"stroke_material_display","schema_version":"1.0.0","name":"Stroke Material Display","version":"1.0.1","tagline":"Display material names of selected Grease Pencil strokes","archive_hash":"sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317","archive_size":3088,"archive_url":"https://extensions.blender.org/download/sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317/add-on-stroke-material-display-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/stroke-material-display/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"spa_sequencer","schema_version":"1.0.0","name":"SPArk Sequencer","version":"0.1.6","tagline":"Toolset to improve the sequence workflow in Blender","archive_hash":"sha256:2f9ea5309e0f0778d775c896b2b575fadaab20df993c7d453c11704697180b1a","archive_size":73645,"archive_url":"https://extensions.blender.org/download/sha256:2f9ea5309e0f0778d775c896b2b575fadaab20df993c7d453c11704697180b1a/add-on-spa-sequencer-v0.1.6.zip","type":"add-on","blender_version_min":"4.5.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/spa-sequencer/","maintainer":"TinyNick","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"compositor_file_output_replacer","schema_version":"1.0.0","name":"Compositor File Output Replacer","version":"1.3.0","tagline":"Find and replace text in File Output node paths","archive_hash":"sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757","archive_size":3158,"archive_url":"https://extensions.blender.org/download/sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757/add-on-compositor-file-output-replacer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/compositor-file-output-replacer/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Node"]},{"id":"miunau_slcamera","schema_version":"1.0.0","name":"Second Life-style camera","version":"1.0.4","tagline":"Second Life-style camera with ALT (option)/CTRL/SHIFT keys","archive_hash":"sha256:e52827160361d2ea0b1c7cdf8603879df1b604dada91e2535d0a17abfe5a8e06","archive_size":19907,"archive_url":"https://extensions.blender.org/download/sha256:e52827160361d2ea0b1c7cdf8603879df1b604dada91e2535d0a17abfe5a8e06/add-on-miunau-slcamera-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/miunau-slcamera/","maintainer":"miunau","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"blue_archive_theme","schema_version":"1.0.0","name":"Blue Archive","version":"1.2.1","tagline":"Theme inspired by Blue Archive game UI","archive_hash":"sha256:b8049642276b5da71a498c9433a46b628ec154b050fa27c5e06fe6236b0f1b31","archive_size":5159,"archive_url":"https://extensions.blender.org/download/sha256:b8049642276b5da71a498c9433a46b628ec154b050fa27c5e06fe6236b0f1b31/theme-blue-archive-theme-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blue-archive-theme/","maintainer":"RAZUMNO","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Inspired By"]},{"id":"toolhub","schema_version":"1.0.0","name":"Tool Hub","version":"1.0.2","tagline":"This add-on searches and pins in a pie-menu","archive_hash":"sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2","archive_size":26285,"archive_url":"https://extensions.blender.org/download/sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2/add-on-toolhub-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toolhub/","maintainer":"Mr.Bir","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"attrio_csv","schema_version":"1.0.0","name":"Attrio CSV","version":"1.0.1","tagline":"Bake and read back Evaluated Dependency Graph Data as CSV","archive_hash":"sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68","archive_size":161895,"archive_url":"https://extensions.blender.org/download/sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68/add-on-attrio-csv-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/attrio-csv/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Bake","Geometry Nodes"]},{"id":"use_for_rendering_plus","schema_version":"1.0.0","name":"View Layer Plus","version":"1.2.4","tagline":"Seamlessly extend View Layers management","archive_hash":"sha256:f0c22a4139cf68d84420aaf2184861de214d00acbf1ddf5c75889428cab34d75","archive_size":63213,"archive_url":"https://extensions.blender.org/download/sha256:f0c22a4139cf68d84420aaf2184861de214d00acbf1ddf5c75889428cab34d75/add-on-use-for-rendering-plus-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/use-for-rendering-plus/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","User Interface"]},{"id":"essential_brush_saver","schema_version":"1.0.0","name":"Essential Brush Saver","version":"1.1.3","tagline":"Automatically save and load essential brush settings","archive_hash":"sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0","archive_size":6069,"archive_url":"https://extensions.blender.org/download/sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0/add-on-essential-brush-saver-v1.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/essential-brush-saver/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load configuration data JSON file to/from disk"},"tags":["Paint","Sculpt","System"]},{"id":"space_colonization_tree_generator","schema_version":"1.0.0","name":"Space colonization tree generator","version":"1.0.0","tagline":"A simple add-on which uses the space colonization approach","archive_hash":"sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83","archive_size":6781,"archive_url":"https://extensions.blender.org/download/sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83/add-on-space-colonization-tree-generator-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/space-colonization-tree-generator/","maintainer":"LS","license":["SPDX:GPL-3.0-or-later"]},{"id":"SHIRAKUMO_rectangle_tools","schema_version":"1.0.0","name":"Rectangle Tools","version":"1.0.2","tagline":"Tools to more easily draw rectangles in edit mode","archive_hash":"sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b","archive_size":7349,"archive_url":"https://extensions.blender.org/download/sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b/add-on-shirakumo-rectangle-tools-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-rectangle-tools/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"tags":["Modeling"]},{"id":"bake_instance_animation","schema_version":"1.0.0","name":"Bake Instance Animation (烘焙几何节点实例动画)","version":"1.0.3","tagline":"Bake geometry nodes instance animation to keyframe animation","archive_hash":"sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4","archive_size":8497,"archive_url":"https://extensions.blender.org/download/sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4/add-on-bake-instance-animation-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-instance-animation/","maintainer":"ChyiZ_","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"Candymouse","schema_version":"1.0.0","name":"Candymouse","version":"1.1.0","tagline":"A neutral grey theme with colorful accents","archive_hash":"sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a","archive_size":5785,"archive_url":"https://extensions.blender.org/download/sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a/theme-candymouse-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/candymouse/","maintainer":"milomouse","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"shiva_img2mat","schema_version":"1.0.0","name":"Image to Mat","version":"1.0.0","tagline":"Generate material from image","archive_hash":"sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8","archive_size":3150,"archive_url":"https://extensions.blender.org/download/sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8/add-on-shiva-img2mat-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shiva-img2mat/","maintainer":"SHIVA","license":["SPDX:GPL-3.0-or-later"]},{"id":"easy_tree","schema_version":"1.0.0","name":"Easy Tree","version":"1.0.1","tagline":"Create one-click procedural trees","archive_hash":"sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff","archive_size":17712727,"archive_url":"https://extensions.blender.org/download/sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff/add-on-easy-tree-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/easy-tree/","maintainer":"Jacob-Johnston","license":["SPDX:GPL-3.0-or-later"]},{"id":"wheel_o_matic","schema_version":"1.0.0","name":"Wheel-O-Matic","version":"1.0.2","tagline":"Automatic wheel rotation in any direction","archive_hash":"sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db","archive_size":20178,"archive_url":"https://extensions.blender.org/download/sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db/add-on-wheel-o-matic-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wheel-o-matic/","maintainer":"TechArtToolBox","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"blender_game_tools","schema_version":"1.0.0","name":"Game Tools","version":"0.3.2","tagline":"Game Tools","archive_hash":"sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e","archive_size":249307,"archive_url":"https://extensions.blender.org/download/sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e/add-on-blender-game-tools-v0.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-game-tools/","maintainer":"Cremuss","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","UV","Mesh","Pipeline"]},{"id":"keyframe_selected","schema_version":"1.0.0","name":"Keyframe selected","version":"1.3.2","tagline":"Insert or delete keyframes on selected items","archive_hash":"sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b","archive_size":5942,"archive_url":"https://extensions.blender.org/download/sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b/add-on-keyframe-selected-v1.3.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/keyframe-selected/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"i32_the_mandelbrot_set","schema_version":"1.0.0","name":"i32 the Mandelbrot Set","version":"1.0.2","tagline":"The Mandelbrot set using only Integer Math and Bit Math Nodes","archive_hash":"sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540","archive_size":43557,"archive_url":"https://extensions.blender.org/download/sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540/add-on-i32-the-mandelbrot-set-v1.0.2.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/i32-the-mandelbrot-set/","maintainer":"Osipenkov+Art","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes"]},{"id":"node_tree_screenshot","schema_version":"1.0.0","name":"Node Tree Screenshot","version":"1.1.0","tagline":"Screenshot utility for large node trees","archive_hash":"sha256:5dfd72b1c8d52f58a1515e1fe709cdeed85b39b109de3730acbdc9c0c8a00242","archive_size":18742705,"archive_url":"https://extensions.blender.org/download/sha256:5dfd72b1c8d52f58a1515e1fe709cdeed85b39b109de3730acbdc9c0c8a00242/add-on-node-tree-screenshot-v1.1.0-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/node-tree-screenshot/","maintainer":"LukasTönne","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Node"]},{"id":"visual_limits","schema_version":"1.0.0","name":"Visual limits","version":"1.3.2","tagline":"This addon shows rigid body constraint limits in viewport","archive_hash":"sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e","archive_size":2710,"archive_url":"https://extensions.blender.org/download/sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e/add-on-visual-limits-v1.3.2.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/visual-limits/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"auto_sync_object_data_names","schema_version":"1.0.0","name":"Auto Sync Object Data Names","version":"1.0.0","tagline":"Automatically sync object and data names","archive_hash":"sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab","archive_size":19044,"archive_url":"https://extensions.blender.org/download/sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab/add-on-auto-sync-object-data-names-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sync-object-data-names/","maintainer":"GeeDoubleU","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Pipeline"]},{"id":"Tracker2Nuke","schema_version":"1.0.0","name":"Tracker to Nuke","version":"1.1.0","tagline":"Instantly export Blender tracking data to a Nuke Tracker node","archive_hash":"sha256:b937c0ddfdd9cdea2e22332b540bd2bf7dbd9bd3a9b6dcb2366930a73818029d","archive_size":5120,"archive_url":"https://extensions.blender.org/download/sha256:b937c0ddfdd9cdea2e22332b540bd2bf7dbd9bd3a9b6dcb2366930a73818029d/add-on-tracker2nuke-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tracker2nuke/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Import-Export"]},{"id":"polychase","schema_version":"1.0.0","name":"Polychase","version":"0.0.11","tagline":"Mesh Based Motion Tracking in Blender","archive_hash":"sha256:e88a3d721646362258798a695b97c8fd5c3e2a7c6c68a7b2dbf4aa37c86a4216","archive_size":3048365,"archive_url":"https://extensions.blender.org/download/sha256:e88a3d721646362258798a695b97c8fd5c3e2a7c6c68a7b2dbf4aa37c86a4216/add-on-polychase-v0.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polychase/","maintainer":"theartful","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write optical flow database to disk"},"platforms":["windows-x64"],"tags":["Animation","Tracking"]},{"id":"Bone_Aligner","schema_version":"1.0.0","name":"Bone Aligner","version":"1.1.4","tagline":"Quickly align two bones","archive_hash":"sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8","archive_size":2841,"archive_url":"https://extensions.blender.org/download/sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8/add-on-bone-aligner-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-aligner/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"perfectly_normal","schema_version":"1.0.0","name":"Perfectly Normal","version":"0.0.2","tagline":"Manipulate face-corner normals as mesh components","archive_hash":"sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56","archive_size":159727,"archive_url":"https://extensions.blender.org/download/sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56/add-on-perfectly-normal-v0.0.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/perfectly-normal/","maintainer":"Seth-Adam-Trowbridge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset resources from/to disk"},"tags":["Mesh","Modeling","Geometry Nodes"]},{"id":"beantextures","schema_version":"1.0.0","name":"Beantextures","version":"1.1.0","tagline":"Addon to help with 2D texture-based animations","archive_hash":"sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59","archive_size":23669,"archive_url":"https://extensions.blender.org/download/sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59/add-on-beantextures-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/beantextures/","maintainer":"daringcuteseal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import image textures to generated node group"},"tags":["Animation","Node","Rigging"]},{"id":"SmartScene_Toolkit","schema_version":"1.0.0","name":"SmartScene Toolkit","version":"1.4.0","tagline":"Toolkit for smarter parent, hierarchy, mirror operations","archive_hash":"sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60","archive_size":14746,"archive_url":"https://extensions.blender.org/download/sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60/add-on-smartscene-toolkit-v1.4.0.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/smartscene-toolkit/","maintainer":"Marcus997","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Scene"]},{"id":"Blackboard_Theme","schema_version":"1.0.0","name":"Blackboard_Theme","version":"2.2.3","tagline":"Dark Monochrome","archive_hash":"sha256:15ed36ad4e403107c461c62db6937d235566e523f0ed2417ca3667f9751b8942","archive_size":5611,"archive_url":"https://extensions.blender.org/download/sha256:15ed36ad4e403107c461c62db6937d235566e523f0ed2417ca3667f9751b8942/theme-blackboard-theme-v2.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blackboard-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"surfacepsycho","schema_version":"1.0.0","name":"Surface Psycho","version":"0.9.4","tagline":"Precision Surface Design","archive_hash":"sha256:7fdfffc0ad4478ee55b83ed737ec0bc0cdf132c68ae42721b5e513860078b340","archive_size":57156920,"archive_url":"https://extensions.blender.org/download/sha256:7fdfffc0ad4478ee55b83ed737ec0bc0cdf132c68ae42721b5e513860078b340/add-on-surfacepsycho-v0.9.4-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/surfacepsycho/","maintainer":"RomainGuimbal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export CAD files"},"platforms":["windows-x64"],"tags":["Modeling","Import-Export","Geometry Nodes","Add Curve"]},{"id":"sync_material_viewport_color","schema_version":"1.0.0","name":"Sync Material Viewport Color","version":"1.0.2","tagline":"Sets diffuse color, metallic and roughness for viewport display","archive_hash":"sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9","archive_size":7318,"archive_url":"https://extensions.blender.org/download/sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9/add-on-sync-material-viewport-color-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-material-viewport-color/","maintainer":"Qiu-Feng","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Material"]},{"id":"Dim_Fog","schema_version":"1.0.0","name":"Dim Fog","version":"2.0.0","tagline":"Moody & Cozy theme","archive_hash":"sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c","archive_size":5195,"archive_url":"https://extensions.blender.org/download/sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c/theme-dim-fog-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dim-fog/","maintainer":"huleeb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"ccnc_animation_objects","schema_version":"1.0.0","name":"CCNCAnimationObjects","version":"1.2.3","tagline":"CNC simulation object editor with camera and spark effects","archive_hash":"sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82","archive_size":85342,"archive_url":"https://extensions.blender.org/download/sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82/add-on-ccnc-animation-objects-v1.2.3.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/ccnc-animation-objects/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export CSV files"},"tags":["Modeling","Animation","Camera"]},{"id":"shape_key_utilities_enhanced","schema_version":"1.0.0","name":"Shape Key Utilities Enhanced","version":"1.0.0","tagline":"Comprehensive shape key management with locked key operations","archive_hash":"sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f","archive_size":15525,"archive_url":"https://extensions.blender.org/download/sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f/add-on-shape-key-utilities-enhanced-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-utilities-enhanced/","maintainer":"LeafyBush7","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","Modeling"]},{"id":"VCS","schema_version":"1.0.0","name":"Vertex Color Selector","version":"1.0.9","tagline":"VertexColor Select tool","archive_hash":"sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4","archive_size":8745,"archive_url":"https://extensions.blender.org/download/sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4/add-on-vcs-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vcs/","maintainer":"D31","license":["SPDX:GPL-3.0-or-later"]},{"id":"script_manager_pro","schema_version":"1.0.0","name":"Script Manager Pro","version":"0.0.3","tagline":"Manage and run Python scripts with one-click access","archive_hash":"sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff","archive_size":3129,"archive_url":"https://extensions.blender.org/download/sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff/add-on-script-manager-pro-v0.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/script-manager-pro/","maintainer":"CemilBerk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reads and writes script metadata to a JSON file"}},{"id":"anim_auto_offset","schema_version":"1.0.0","name":"Animation Auto Offset","version":"1.3.2","tagline":"Update all keyframes relatively on transform changes","archive_hash":"sha256:a5fb0219f32e06d2b8e5e8c475228e76c8144988bc6068c966999776e9173ca8","archive_size":15647,"archive_url":"https://extensions.blender.org/download/sha256:a5fb0219f32e06d2b8e5e8c475228e76c8144988bc6068c966999776e9173ca8/add-on-anim-auto-offset-v1.3.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-auto-offset/","maintainer":"Marek-Zając","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"auto_wrinkle_map","schema_version":"1.0.0","name":"Auto Wrinkle Map","version":"0.0.7","tagline":"Helps you to create wrinkle maps driven from bones in one click","archive_hash":"sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a","archive_size":10763,"archive_url":"https://extensions.blender.org/download/sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a/add-on-auto-wrinkle-map-v0.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/auto-wrinkle-map/","maintainer":"Hattiffnat","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Material","Node","Animation"]},{"id":"node_void_keeper","schema_version":"1.0.0","name":"NodeVoidKeeper","version":"1.0.1","tagline":"Keeps your nodes centered at the origin, so you can't lose them","archive_hash":"sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d","archive_size":15610,"archive_url":"https://extensions.blender.org/download/sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d/add-on-node-void-keeper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-void-keeper/","maintainer":"MagnumVD","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"autocam","schema_version":"1.0.0","name":"AutoCam","version":"2.0.6","tagline":"Intuitive camera tools, built for artists","archive_hash":"sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132","archive_size":67410,"archive_url":"https://extensions.blender.org/download/sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132/add-on-autocam-v2.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autocam/","maintainer":"RenderRides","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation","Rigging","Render","Add Curve"]},{"id":"mass_keyframe","schema_version":"1.0.0","name":"Mass Keyframe","version":"1.1.0","tagline":"Keyframe properties better","archive_hash":"sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506","archive_size":426822,"archive_url":"https://extensions.blender.org/download/sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506/add-on-mass-keyframe-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mass-keyframe/","maintainer":"StratosDerg","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"additional_batch_rename","schema_version":"1.0.0","name":"Additional Batch Rename","version":"1.1.1","tagline":"Additional batch rename operators","archive_hash":"sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11","archive_size":15993,"archive_url":"https://extensions.blender.org/download/sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11/add-on-additional-batch-rename-v1.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/additional-batch-rename/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Object"]},{"id":"proceduraltiles","schema_version":"1.0.0","name":"Procedural Tiles","version":"0.0.4","tagline":"A library of shader nodes. +100 NEW NODES","archive_hash":"sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30","archive_size":4261663,"archive_url":"https://extensions.blender.org/download/sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30/add-on-proceduraltiles-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/proceduraltiles/","maintainer":"Aisun-Tang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Material"]},{"id":"simple_gcode_importer","schema_version":"1.0.0","name":"Simple Gcode Importer","version":"1.1.1","tagline":"Import Gcode to blender as paths","archive_hash":"sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29","archive_size":2397,"archive_url":"https://extensions.blender.org/download/sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29/add-on-simple-gcode-importer-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-gcode-importer/","maintainer":"kmnunley","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"controller_link","schema_version":"1.0.0","name":"Controller Link","version":"1.0.1","tagline":"Use a gamepad as input","archive_hash":"sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f","archive_size":16281033,"archive_url":"https://extensions.blender.org/download/sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f/add-on-controller-link-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/controller-link/","maintainer":"globglob3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"glare_node_controller","schema_version":"1.0.0","name":"Glare Node Controller","version":"2.3.3","tagline":"panel to control Glare","archive_hash":"sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68","archive_size":3563,"archive_url":"https://extensions.blender.org/download/sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68/add-on-glare-node-controller-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/glare-node-controller/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Render"]},{"id":"dragonff","schema_version":"1.0.0","name":"DragonFF","version":"1.1.0","tagline":"Add-on to edit RenderWare Formats (.dff, .txd, .col)","archive_hash":"sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e","archive_size":225580,"archive_url":"https://extensions.blender.org/download/sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e/add-on-dragonff-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragonff/","maintainer":"Parik","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export DFF/TXD/COL/IPL/IDE from/to disk"},"tags":["Import-Export","3D View","Mesh","Material"]},{"id":"maya_pivot","schema_version":"1.0.0","name":"Maya Pivot","version":"1.0.0","tagline":"Implements a Maya-like pivot system in Blender","archive_hash":"sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2","archive_size":16036,"archive_url":"https://extensions.blender.org/download/sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2/add-on-maya-pivot-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maya-pivot/","maintainer":"Zinkenite","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"Blueprint_Paper_Theme","schema_version":"1.0.0","name":"Blueprint_Paper_Theme","version":"2.2.4","tagline":"Technical Drawing","archive_hash":"sha256:f19ec682e931a16e2a8386df04ce9760a4ee7e7befd075d1468f3693dc824776","archive_size":5713,"archive_url":"https://extensions.blender.org/download/sha256:f19ec682e931a16e2a8386df04ce9760a4ee7e7befd075d1468f3693dc824776/theme-blueprint-paper-theme-v2.2.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-paper-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"jiggle_physics","schema_version":"1.0.0","name":"Jiggle Physics","version":"4.5.1","tagline":"Add stretchy jiggle physics to your Blender rigs","archive_hash":"sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab","archive_size":33411,"archive_url":"https://extensions.blender.org/download/sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab/add-on-jiggle-physics-v4.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/jiggle-physics/","maintainer":"naelstrof","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paws_bakery","schema_version":"1.0.0","name":"PAWS: Bakery","version":"0.5.1","tagline":"Texture Baking tools for Game-Ready pipeline by Pawsgineer","archive_hash":"sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0","archive_size":165829,"archive_url":"https://extensions.blender.org/download/sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0/add-on-paws-bakery-v0.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paws-bakery/","maintainer":"Steve-Paws","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","Pipeline","Material"]},{"id":"MakePlanarFacesPlus","schema_version":"1.0.0","name":"Make Planar Faces Plus","version":"1.0.6","tagline":"Powerful Make Planar Faces Operator","archive_hash":"sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a","archive_size":257221,"archive_url":"https://extensions.blender.org/download/sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a/add-on-makeplanarfacesplus-v1.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/makeplanarfacesplus/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Mesh"]},{"id":"shape_key_mirror_plus","schema_version":"1.0.0","name":"Shape Key Mirror Plus","version":"1.9.0","tagline":"Mirror shape key deltas across symmetric axes","archive_hash":"sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339","archive_size":17431,"archive_url":"https://extensions.blender.org/download/sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339/add-on-shape-key-mirror-plus-v1.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-mirror-plus/","maintainer":"Ciyorie","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"marchingcube","schema_version":"1.0.0","name":"Marching Cube","version":"0.1.0","tagline":"Generate iso-surface meshes using the Marching Cubes algorithm","archive_hash":"sha256:170039384f6ea5ee47454353fa0b6b88491223ed95f9a20bada47625294957e1","archive_size":41468675,"archive_url":"https://extensions.blender.org/download/sha256:170039384f6ea5ee47454353fa0b6b88491223ed95f9a20bada47625294957e1/add-on-marchingcube-v0.1.0-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/marchingcube/","maintainer":"Thomas-Berger","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Add Mesh"]},{"id":"terrainmixer","schema_version":"1.0.0","name":"Terrain Mixer","version":"3.1.2","tagline":"Easy to use shader-based terrain generator for Cycles","archive_hash":"sha256:2a695aac2b7966c0a64077ae76b7cfc1bfff857382250820e367a4be00852efd","archive_size":52570647,"archive_url":"https://extensions.blender.org/download/sha256:2a695aac2b7966c0a64077ae76b7cfc1bfff857382250820e367a4be00852efd/add-on-terrainmixer-v3.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/terrainmixer/","maintainer":"zets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Easily replace default image files with your own","network":"Documentation and tutorials available online"},"tags":["Add Mesh","Bake","Material"]},{"id":"Viewport_stabilizer","schema_version":"1.0.0","name":"Viewport stabilizer","version":"1.0.2","tagline":"Stabilise 3d point on your screen","archive_hash":"sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1","archive_size":5207,"archive_url":"https://extensions.blender.org/download/sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1/add-on-viewport-stabilizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-stabilizer/","maintainer":"Yaroslav_Yushk","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Tracking"]},{"id":"multiple_camera_render","schema_version":"1.0.0","name":"Multiple Camera Render","version":"4.4.0","tagline":"Sequential rendering from multiple cameras","archive_hash":"sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441","archive_size":135372,"archive_url":"https://extensions.blender.org/download/sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441/add-on-multiple-camera-render-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multiple-camera-render/","maintainer":"ivan-perevala","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Writing execution log files inside extension directory"},"tags":["Render","Animation","Camera","3D View"]},{"id":"set_vertex_distance","schema_version":"1.0.0","name":"Set Vertex Distance","version":"1.0.0","tagline":"Set distance between two vertices along a specific axis","archive_hash":"sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f","archive_size":2537,"archive_url":"https://extensions.blender.org/download/sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f/add-on-set-vertex-distance-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-vertex-distance/","maintainer":"alicoskun","license":["SPDX:GPL-3.0-or-later"]},{"id":"modifer_stack_manager","schema_version":"1.0.0","name":"Modifier Stack Manager","version":"1.1.1","tagline":"A UI List implementation for Blender's modifier stack","archive_hash":"sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996","archive_size":4750,"archive_url":"https://extensions.blender.org/download/sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996/add-on-modifer-stack-manager-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifer-stack-manager/","maintainer":"salaivv","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"cloud_midnight_teal","schema_version":"1.0.0","name":"Cloud Guy's Theme","version":"1.0.3","tagline":"Custom theme made by me and a friend","archive_hash":"sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816","archive_size":5920,"archive_url":"https://extensions.blender.org/download/sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816/theme-cloud-midnight-teal-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cloud-midnight-teal/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Cad_measure_extension","schema_version":"1.0.0","name":"Cad_Dimensions","version":"2.0.0","tagline":"Extension for a new measuring system","archive_hash":"sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb","archive_size":251303,"archive_url":"https://extensions.blender.org/download/sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb/add-on-cad-measure-extension-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cad-measure-extension/","maintainer":"Mr.Nobody3d","license":["SPDX:GPL-3.0-or-later"]},{"id":"Bbrush","schema_version":"1.0.0","name":"Bbrush","version":"1.4.7","tagline":"Sculpting using only a pen and keyboard","archive_hash":"sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96","archive_size":543050,"archive_url":"https://extensions.blender.org/download/sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96/add-on-bbrush-v1.4.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bbrush/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Keymap file load, View navigation texture load"},"tags":["Sculpt"]},{"id":"geonode_to_shapekey","schema_version":"1.0.0","name":"Geonode To Shapekey","version":"1.1.0","tagline":"Convert geometry nodes to shapekeys. Useful for glTF export","archive_hash":"sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc","archive_size":5068,"archive_url":"https://extensions.blender.org/download/sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc/add-on-geonode-to-shapekey-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-to-shapekey/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes","Pipeline"]},{"id":"nocturna_theme","schema_version":"1.0.0","name":"Nocturna","version":"1.2.1","tagline":"Nocturna - A Dark Theme for Blender","archive_hash":"sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7","archive_size":5825,"archive_url":"https://extensions.blender.org/download/sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7/theme-nocturna-theme-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/nocturna-theme/","maintainer":"AlejandroSQR","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"better_bend","schema_version":"1.0.0","name":"Better Bend","version":"1.1.0","tagline":"Cinema 4D-style deformers for Blender","archive_hash":"sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91","archive_size":4729,"archive_url":"https://extensions.blender.org/download/sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91/add-on-better-bend-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/better-bend/","maintainer":"Lije.Morgan","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"capture_thumbnails_from_viewport","schema_version":"1.0.0","name":"Asset Browser: Capture Thumbnail from Viewport","version":"1.0.3","tagline":"Add new thumbnails for you asset based on the current viewport","archive_hash":"sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6","archive_size":1759,"archive_url":"https://extensions.blender.org/download/sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6/add-on-capture-thumbnails-from-viewport-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/capture-thumbnails-from-viewport/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create a .png in temp folder"},"tags":["Pipeline"]},{"id":"skin_weights_copypaster","schema_version":"1.0.0","name":"Skin Weights Copypaster","version":"0.3.3","tagline":"Copies skin weights from one vertex to selection","archive_hash":"sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3","archive_size":16850,"archive_url":"https://extensions.blender.org/download/sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3/add-on-skin-weights-copypaster-v0.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-weights-copypaster/","maintainer":"Ihor-Spasivskyi","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"MAD","schema_version":"1.0.0","name":"MAD (Microphone Audio Driver)","version":"0.1.6","tagline":"Use your Microphone as an Animation Driver in Blender","archive_hash":"sha256:fd2c01fb744c526daa1d1a4020d315cbf2568bd18460d528a3dfb0a4daf3232b","archive_size":663187,"archive_url":"https://extensions.blender.org/download/sha256:fd2c01fb744c526daa1d1a4020d315cbf2568bd18460d528a3dfb0a4daf3232b/add-on-mad-v0.1.6-windows-x64-windows-arm64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mad/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"permissions":{"microphone":"Capture audio input for real-time animation"},"platforms":["windows-x64","windows-arm64"],"tags":["Rigging","Animation"]},{"id":"iocgpoly_lip_sync","schema_version":"1.0.0","name":"Lip Sync","version":"2.3.2","tagline":"Automatic lip sync for your Blender models","archive_hash":"sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3","archive_size":37476376,"archive_url":"https://extensions.blender.org/download/sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3/add-on-iocgpoly-lip-sync-v2.3.2-windows-x64.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/iocgpoly-lip-sync/","maintainer":"Charley3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Models / Extract libs to disk","network":"Need to download Voices Models to enable lip sync"},"platforms":["windows-x64"],"tags":["Animation","Sequencer"]},{"id":"FakeBones","schema_version":"1.0.0","name":"FakeBones","version":"1.0.7","tagline":"enhance armature visualization","archive_hash":"sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1","archive_size":4158,"archive_url":"https://extensions.blender.org/download/sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1/add-on-fakebones-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fakebones/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Steam","schema_version":"1.0.0","name":"Steam","version":"2.0.0","tagline":"Inspired by the old Steam UI. ","archive_hash":"sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98","archive_size":5570,"archive_url":"https://extensions.blender.org/download/sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98/theme-steam-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/steam/","maintainer":"ArtinŌr","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"AnimCurveSorter","schema_version":"1.0.0","name":"Anim Curve Sorter","version":"1.0.1","tagline":"Easily organise your animation curves","archive_hash":"sha256:240d33165889039d96828f22720873bddad96c602b0914929cfbd2ddca191b9f","archive_size":4902,"archive_url":"https://extensions.blender.org/download/sha256:240d33165889039d96828f22720873bddad96c602b0914929cfbd2ddca191b9f/add-on-animcurvesorter-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animcurvesorter/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ccustomnodes","schema_version":"1.0.0","name":"Object Utility Nodes","version":"1.0.3","tagline":"Custom nodes in new node editor","archive_hash":"sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec","archive_size":2710932,"archive_url":"https://extensions.blender.org/download/sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec/add-on-ccustomnodes-v1.0.3-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ccustomnodes/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save colorwheel pictures from/to temp folder"},"platforms":["windows-x64"],"tags":["Node"]},{"id":"easymesh_batch_exporter","schema_version":"1.0.0","name":"EasyMesh Batch Exporter","version":"1.5.0","tagline":"Streamlined mesh export for game development workflows","archive_hash":"sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6","archive_size":84118,"archive_url":"https://extensions.blender.org/download/sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6/add-on-easymesh-batch-exporter-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easymesh-batch-exporter/","maintainer":"spec-arte","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export mesh files to the specified directory"},"tags":["Import-Export"]},{"id":"SuperDuperBatchExporter","schema_version":"1.0.0","name":"Super Duper Batch Exporter","version":"2.7.1","tagline":"One click export to multiple files","archive_hash":"sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6","archive_size":27233,"archive_url":"https://extensions.blender.org/download/sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6/add-on-superduperbatchexporter-v2.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/superduperbatchexporter/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk & create subdirectories in output directory"},"tags":["Import-Export"]},{"id":"measure_and_scale","schema_version":"1.0.0","name":"Measure and Scale","version":"1.1.6","tagline":"Measure and Scale object uniformaly","archive_hash":"sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5","archive_size":9679,"archive_url":"https://extensions.blender.org/download/sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5/add-on-measure-and-scale-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/measure-and-scale/","maintainer":"Belaid-ZIANE","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"Enhanced_Top_Bar","schema_version":"1.0.0","name":"Enhanced Top Bar","version":"1.0.4","tagline":"Easy access to your ViewLayers rendering properties","archive_hash":"sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5","archive_size":6863,"archive_url":"https://extensions.blender.org/download/sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5/add-on-enhanced-top-bar-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/enhanced-top-bar/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Mesh2Rig","schema_version":"1.0.0","name":"Mesh2Rig","version":"2.5.0","tagline":"Transfer simulation, shape keys and other to rig animation","archive_hash":"sha256:5c8623854ee991516160767ee929f214a96e367fa416266866479d133652674a","archive_size":16675,"archive_url":"https://extensions.blender.org/download/sha256:5c8623854ee991516160767ee929f214a96e367fa416266866479d133652674a/add-on-mesh2rig-v2.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh2rig/","maintainer":"Sporenoe3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Bake","Game Engine","Pipeline"]},{"id":"Individual_Camera_Properties","schema_version":"1.0.0","name":"Individual Camera Properties","version":"0.0.6","tagline":"Resolution, Scene and Render properties for each camera instance","archive_hash":"sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1","archive_size":5858,"archive_url":"https://extensions.blender.org/download/sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1/add-on-individual-camera-properties-v0.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/individual-camera-properties/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"VSE_SRT_Subtitle_Importer_4_2_extension","schema_version":"1.0.0","name":"SRT Subtitle Importer/Exporter","version":"2.0.0","tagline":"Import/Export SRT subtitle files to/from VSE strips","archive_hash":"sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64","archive_size":7448,"archive_url":"https://extensions.blender.org/download/sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64/add-on-vse-srt-subtitle-importer-4-2-extension-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/vse-srt-subtitle-importer-4-2-extension/","maintainer":"PoYakong","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"DorchaLiath","schema_version":"1.0.0","name":"Dorcha Liath","version":"5.0.1","tagline":"Dark Grey","archive_hash":"sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d","archive_size":5206,"archive_url":"https://extensions.blender.org/download/sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d/theme-dorchaliath-v5.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dorchaliath/","maintainer":"rory-fly","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"QuickCatalogs","schema_version":"1.0.0","name":"Quick Catalogs ( Asset Browser )","version":"1.0.1","tagline":"Make Asset Catalogs from selected Collections","archive_hash":"sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4","archive_size":2298,"archive_url":"https://extensions.blender.org/download/sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4/add-on-quickcatalogs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickcatalogs/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"import_export_skin_weights","schema_version":"1.0.0","name":"Import Export Skin Weights","version":"1.0.1","tagline":"Import and export skin weights for Blender","archive_hash":"sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412","archive_size":16987,"archive_url":"https://extensions.blender.org/download/sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412/add-on-import-export-skin-weights-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-export-skin-weights/","maintainer":"Nguyen-Phuc-Nguyen","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Import-Export"]},{"id":"menace","schema_version":"1.0.0","name":"Menace","version":"2.0.0","tagline":"The official HugeMenace theme for Blender","archive_hash":"sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d","archive_size":5448,"archive_url":"https://extensions.blender.org/download/sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d/theme-menace-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/menace/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"solid_boot","schema_version":"1.0.0","name":"Solid Boot","version":"1.1.0","tagline":"3D Views loaded in Solid Mode rather Material Preview","archive_hash":"sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa","archive_size":15759,"archive_url":"https://extensions.blender.org/download/sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa/add-on-solid-boot-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/solid-boot/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"neon_nexus","schema_version":"1.0.0","name":"Neon Nexus","version":"1.3.0","tagline":"A futuristic neon theme for Blender","archive_hash":"sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a","archive_size":6154,"archive_url":"https://extensions.blender.org/download/sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a/theme-neon-nexus-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neon-nexus/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"SaveSelection","schema_version":"1.0.0","name":"Save Selection","version":"1.0.5","tagline":"Save selected objects in Blender Format","archive_hash":"sha256:615594aed9531a69fb49db5f928888886812f5ed83a63974a694a21f0e8f769e","archive_size":3694,"archive_url":"https://extensions.blender.org/download/sha256:615594aed9531a69fb49db5f928888886812f5ed83a63974a694a21f0e8f769e/add-on-saveselection-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/saveselection/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"grey_orange","schema_version":"1.0.0","name":"Grey Orange","version":"3.0.1","tagline":"Dark neutral grey theme with orange accents","archive_hash":"sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085","archive_size":6581,"archive_url":"https://extensions.blender.org/download/sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085/theme-grey-orange-v3.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/grey-orange/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neutro_Laranja","schema_version":"1.0.0","name":"Neutro Laranja","version":"2.0.0","tagline":"Light and Orange","archive_hash":"sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7","archive_size":6441,"archive_url":"https://extensions.blender.org/download/sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7/theme-neutro-laranja-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutro-laranja/","maintainer":"Push","license":["SPDX:GPL-3.0-or-later"]},{"id":"quickj","schema_version":"1.0.0","name":"Quick J ( Connect Vertex Path )","version":"1.2.0","tagline":"Quickly connect vertices under the cursor","archive_hash":"sha256:4c7a02ff221bd957d9d8be2cadf5519a2bc68adb9ca7960abb5bbe246dab1905","archive_size":2524,"archive_url":"https://extensions.blender.org/download/sha256:4c7a02ff221bd957d9d8be2cadf5519a2bc68adb9ca7960abb5bbe246dab1905/add-on-quickj-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickj/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"Batch_Material_Helper","schema_version":"1.0.0","name":"Batch Material Helper","version":"1.0.5","tagline":"Helps you quickly modify materials","archive_hash":"sha256:6ea2cdd45a24ca5d078c44d827848786cb43ffa1a0144ca1d854047887324b2e","archive_size":3663,"archive_url":"https://extensions.blender.org/download/sha256:6ea2cdd45a24ca5d078c44d827848786cb43ffa1a0144ca1d854047887324b2e/add-on-batch-material-helper-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-material-helper/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"UV_Flatten_Tool","schema_version":"1.0.0","name":"UV_Flatten_Tool","version":"1.0.7","tagline":"Flatten mesh to active UV coordinates and store as shape key","archive_hash":"sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b","archive_size":2774,"archive_url":"https://extensions.blender.org/download/sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b/add-on-uv-flatten-tool-v1.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/uv-flatten-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"fractal_family","schema_version":"1.0.0","name":"Fractal Family","version":"1.1.4","tagline":"Create fractal curves with ease using complex integer lattices","archive_hash":"sha256:47b64ab45e2f10acfcfe92bf0c2272a53a17fe6736f86246b7906a1611a3a587","archive_size":16976,"archive_url":"https://extensions.blender.org/download/sha256:47b64ab45e2f10acfcfe92bf0c2272a53a17fe6736f86246b7906a1611a3a587/add-on-fractal-family-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fractal-family/","maintainer":"imare32","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"apply_modifiers_with_shape_keys","schema_version":"1.0.0","name":"Apply modifier with shape keys","version":"1.0.4","tagline":"Applies modifiers on objects even if they have shape keys","archive_hash":"sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab","archive_size":19128,"archive_url":"https://extensions.blender.org/download/sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab/add-on-apply-modifiers-with-shape-keys-v1.0.4.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/apply-modifiers-with-shape-keys/","maintainer":"Orange Turbine","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Modeling","Rigging"]},{"id":"animation_transform_offset","schema_version":"1.0.0","name":"Animation Transform Offset","version":"1.0.0","tagline":"Transform objects and offset their animations in one go","archive_hash":"sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc","archive_size":15793,"archive_url":"https://extensions.blender.org/download/sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc/add-on-animation-transform-offset-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/animation-transform-offset/","maintainer":"softyoda","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"multi_user","schema_version":"1.0.0","name":"Multiuser","version":"0.7.1","tagline":"Enable real-time collaborative workflow inside blender","archive_hash":"sha256:c14e05904a604a8c8305c88d0d5a79aaffcad2c8dd4a5156c552a47619bfda02","archive_size":2271596,"archive_url":"https://extensions.blender.org/download/sha256:c14e05904a604a8c8305c88d0d5a79aaffcad2c8dd4a5156c552a47619bfda02/add-on-multi-user-v0.7.1-windows-x64.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/multi-user/","maintainer":"slumber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Need to sync scene data to server"},"platforms":["windows-x64"]},{"id":"references_overlays","schema_version":"1.0.0","name":"References Overlays","version":"2.2.8","tagline":"PureRef for Blender. You can add references in the 3D Viewport","archive_hash":"sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010","archive_size":14729,"archive_url":"https://extensions.blender.org/download/sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010/add-on-references-overlays-v2.2.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/references-overlays/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import BMP/TIFF/PNG/JPG/JPEG/GIF/MP4/WEBM from/to disk","clipboard":"Paste image from the Clipboard"},"tags":["3D View","User Interface"]},{"id":"altview","schema_version":"1.0.0","name":"AltView","version":"1.0.1","tagline":"Switch views + lock/unlock rotation","archive_hash":"sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60","archive_size":4561,"archive_url":"https://extensions.blender.org/download/sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60/add-on-altview-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/altview/","maintainer":"Iurii-Tiuzhin","license":["SPDX:GPL-3.0-or-later"]},{"id":"remove_static_fcurves","schema_version":"1.0.0","name":"Remove Static FCurves","version":"0.4.0","tagline":"Clean up animation channels that have no data","archive_hash":"sha256:3cd0f3e31abab7e43f94fe836167b818f5e9de0f62563c635abbf2da976b120d","archive_size":6729,"archive_url":"https://extensions.blender.org/download/sha256:3cd0f3e31abab7e43f94fe836167b818f5e9de0f62563c635abbf2da976b120d/add-on-remove-static-fcurves-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/remove-static-fcurves/","maintainer":"lokimckay","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paint_system","schema_version":"1.0.0","name":"Paint System","version":"2.1.8","tagline":"Addon for adding painting system to blender","archive_hash":"sha256:cbb698f9fe671f9ff7a8cbb433d9f50eb472da9369cacf8596e2fe62e34dab48","archive_size":3871209,"archive_url":"https://extensions.blender.org/download/sha256:cbb698f9fe671f9ff7a8cbb433d9f50eb472da9369cacf8596e2fe62e34dab48/add-on-paint-system-v2.1.8-linux-x64-windows-x64-macos-x64-macos-arm64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-system/","maintainer":"Tawan-Sunflower","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and saving images / detecting image editors","network":"Update donation information"},"platforms":["linux-x64","windows-x64","macos-x64","macos-arm64","windows-arm64"],"tags":["Paint"]},{"id":"PlaceHelper","schema_version":"1.0.0","name":"Place Helper","version":"1.3.8","tagline":"Easily place objects in Blender","archive_hash":"sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16","archive_size":66786,"archive_url":"https://extensions.blender.org/download/sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16/add-on-placehelper-v1.3.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/placehelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Object"]},{"id":"headsup_warnings","schema_version":"1.0.0","name":"HeadsUp Warnings","version":"1.1.0","tagline":"Display UI warnings to avoid and resolve common mistakes","archive_hash":"sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880","archive_size":33611,"archive_url":"https://extensions.blender.org/download/sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880/add-on-headsup-warnings-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/headsup-warnings/","maintainer":"ManuelLuellau","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check filepaths to validate if Textures are missing"},"tags":["3D View","Compositing","Render"]},{"id":"unlooped","schema_version":"1.0.0","name":"Unlooped","version":"1.0.1","tagline":"Prevent Blender from looping scene playback","archive_hash":"sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4","archive_size":14253,"archive_url":"https://extensions.blender.org/download/sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4/add-on-unlooped-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/unlooped/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Blend95","schema_version":"1.0.0","name":"Blend95","version":"0.9.9","tagline":"90s, xp, old","archive_hash":"sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f","archive_size":5908,"archive_url":"https://extensions.blender.org/download/sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f/theme-blend95-v0.9.9.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/blend95/","maintainer":"romanasdf1","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Quick_Studio_Light","schema_version":"1.0.0","name":"Quick Studio Light","version":"1.1.2","tagline":"Simple and fast lighting with improved selection","archive_hash":"sha256:4fe5330d7b3d55d4b63dd5b52a210d53278022c0a45541c4f9f55591c0726a59","archive_size":78932,"archive_url":"https://extensions.blender.org/download/sha256:4fe5330d7b3d55d4b63dd5b52a210d53278022c0a45541c4f9f55591c0726a59/add-on-quick-studio-light-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-studio-light/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"hyperfy_tools","schema_version":"1.0.0","name":"Hyperfy Tools","version":"1.5.0","tagline":"Tools for creating Hyperfy assets","archive_hash":"sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e","archive_size":25418,"archive_url":"https://extensions.blender.org/download/sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e/add-on-hyperfy-tools-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hyperfy-tools/","maintainer":"HowieDuhzit","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export GLB files from/to disk"},"tags":["Physics","Import-Export","3D View","Game Engine","Object"]},{"id":"typst_importer","schema_version":"1.0.0","name":"Typst Importer","version":"0.2.4","tagline":"Render mathematical equations and code blocks","archive_hash":"sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081","archive_size":25708353,"archive_url":"https://extensions.blender.org/download/sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081/add-on-typst-importer-v0.2.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/typst-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"node_align","schema_version":"1.0.0","name":"Node Align(节点对齐)","version":"3.2.0","tagline":"Shift+Q|Ctrl+Q Pie menu-Align Nodes in Multiple Ways(多种方式对齐节点)","archive_hash":"sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8","archive_size":24154,"archive_url":"https://extensions.blender.org/download/sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8/add-on-node-align-v3.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-align/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"gp_tween","schema_version":"1.0.0","name":"GP Tween (c)","version":"2.4.0","tagline":"Quick Grease Pencil Tweening","archive_hash":"sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25","archive_size":169988,"archive_url":"https://extensions.blender.org/download/sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25/add-on-gp-tween-v2.4.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-tween/","maintainer":"cosmosmythos","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write GP Tween nodegroup asset from/to disk","clipboard":"Copy and Paste GP Tween nodegroup"},"tags":["Grease Pencil","Animation","Geometry Nodes"]},{"id":"time_tracker","schema_version":"1.0.0","name":"Time Tracker","version":"0.2.4","tagline":"This extension tracks your time spent in blend files","archive_hash":"sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9","archive_size":23923,"archive_url":"https://extensions.blender.org/download/sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9/add-on-time-tracker-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-tracker/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save timing data to disk"},"tags":["System"]},{"id":"simple_audio_visualizer","schema_version":"1.0.0","name":"Simple Audio Visualizer","version":"1.2.0","tagline":"Creates a simple audio visualizer","archive_hash":"sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190","archive_size":6391,"archive_url":"https://extensions.blender.org/download/sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190/add-on-simple-audio-visualizer-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-audio-visualizer/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import audio from disk"},"tags":["Animation"]},{"id":"easy_clouds","schema_version":"1.0.0","name":"Easy Clouds","version":"2.2.0","tagline":"Procedural clouds that are easy to customize","archive_hash":"sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd","archive_size":10614,"archive_url":"https://extensions.blender.org/download/sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd/add-on-easy-clouds-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easy-clouds/","maintainer":"LunarKitten","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Add Mesh","Node"]},{"id":"MustardSimplify","schema_version":"1.0.0","name":"Mustard Simplify","version":"2025.4.1","tagline":"Tool to simplify scenes for improved viewport performance","archive_hash":"sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1","archive_size":42341,"archive_url":"https://extensions.blender.org/download/sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1/add-on-mustardsimplify-v2025.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mustardsimplify/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"QuickTools_v3","schema_version":"1.0.0","name":"Grease Pencil QuickTools_v3","version":"1.1.5","tagline":"Grease Pencil Toobar in N sidebar with auto mode switch","archive_hash":"sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3","archive_size":53225,"archive_url":"https://extensions.blender.org/download/sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3/add-on-quicktools-v3-v1.1.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/quicktools-v3/","maintainer":"PongBuster","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"named_attribute_list","schema_version":"1.0.0","name":"Named Attribute List(命名属性列表)","version":"2.8.2","tagline":"Quickly Add Attribute Node in GN and Shader(几何节点和材质里快速添加属性节点)","archive_hash":"sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772","archive_size":98415,"archive_url":"https://extensions.blender.org/download/sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772/add-on-named-attribute-list-v2.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/named-attribute-list/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"CurveFitting","schema_version":"1.0.0","name":"Curve Fitting","version":"0.3.0","tagline":"Smooth out uneven vertex arrangements keeping original shape","archive_hash":"sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a","archive_size":22449,"archive_url":"https://extensions.blender.org/download/sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a/add-on-curvefitting-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curvefitting/","maintainer":"zuda77","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"Utilities_Gadget","schema_version":"1.0.0","name":"Utilities Gadget","version":"1.1.5","tagline":"Batch rendering and model conversio","archive_hash":"sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc","archive_size":6095,"archive_url":"https://extensions.blender.org/download/sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc/add-on-utilities-gadget-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/utilities-gadget/","maintainer":"HurcaGuari","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"bbone_Tools","schema_version":"1.0.0","name":"the bendybones toolkit","version":"1.6.0","tagline":"a simple toolkit for rigging with bendybones","archive_hash":"sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79","archive_size":4337,"archive_url":"https://extensions.blender.org/download/sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79/add-on-bbone-tools-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bbone-tools/","maintainer":"Felipe-G","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"viewtools","schema_version":"1.0.0","name":"ViewTools","version":"1.0.0","tagline":"Essential Viewport tools for industrial workflows","archive_hash":"sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922","archive_size":4857,"archive_url":"https://extensions.blender.org/download/sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922/add-on-viewtools-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/viewtools/","maintainer":"Ishara-Sandeepa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","Mesh","Object"]},{"id":"Coloraide","schema_version":"1.0.0","name":"Coloraide","version":"1.5.1","tagline":"Advanced color picking and color management tools","archive_hash":"sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad","archive_size":75163,"archive_url":"https://extensions.blender.org/download/sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad/add-on-coloraide-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/coloraide/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Grease Pencil","3D View"]},{"id":"persiantype","schema_version":"1.0.0","name":"Persian type","version":"2.0.1","tagline":"Add Persian/Arabic type directly to Blender","archive_hash":"sha256:f519fd2e627f369686c5b9272526326b5cfb37e2555deb39f1a17299b8f1cb9e","archive_size":1952767,"archive_url":"https://extensions.blender.org/download/sha256:f519fd2e627f369686c5b9272526326b5cfb37e2555deb39f1a17299b8f1cb9e/add-on-persiantype-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/persiantype/","maintainer":"Damyar","license":["SPDX:GPL-3.0-or-later"]},{"id":"group_input_helper","schema_version":"1.0.0","name":"Group input helper(节点组输入助手)","version":"2.9.3","tagline":"Qucik add/split/merge Group Input node/socket(快速添加拆分合并移动组输入节点接口)","archive_hash":"sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb","archive_size":76074,"archive_url":"https://extensions.blender.org/download/sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb/add-on-group-input-helper-v2.9.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/group-input-helper/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"shutdown_after_render","schema_version":"1.0.0","name":"Shutdown after render","version":"0.4.0","tagline":"Automatically shuts down your PC after your render finishes","archive_hash":"sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a","archive_size":4087,"archive_url":"https://extensions.blender.org/download/sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a/add-on-shutdown-after-render-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shutdown-after-render/","maintainer":"David-Bühler","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"io_scene_pod","schema_version":"1.0.0","name":"UbiSoft Pod formats","version":"0.32.0","tagline":"Import-Export Pod circuits, ghosts, images, and vehicles","archive_hash":"sha256:b00e12689f65337a4e3b6351de79fdd1115f57c9c25779b4da98d24e8ba48755","archive_size":7204352,"archive_url":"https://extensions.blender.org/download/sha256:b00e12689f65337a4e3b6351de79fdd1115f57c9c25779b4da98d24e8ba48755/add-on-io-scene-pod-v0.32.0-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-scene-pod/","maintainer":"Syroot","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export","Scene"]},{"id":"has_paint_layers","schema_version":"1.0.0","name":"HAS Paint Layers","version":"0.8.93","tagline":"Layers for texture painting","archive_hash":"sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255","archive_size":68078,"archive_url":"https://extensions.blender.org/download/sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255/add-on-has-paint-layers-v0.8.93.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/has-paint-layers/","maintainer":"Hirourk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store temporary images"},"tags":["Paint","Bake"]},{"id":"shapekey_keeper","schema_version":"1.0.0","name":"SKkeeper","version":"1.8.2","tagline":"Applies modifiers while keeping shapekeys and drivers","archive_hash":"sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678","archive_size":20217,"archive_url":"https://extensions.blender.org/download/sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678/add-on-shapekey-keeper-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapekey-keeper/","maintainer":"Nidus","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"RetroGrey","schema_version":"1.0.0","name":"RetroGrey","version":"1.3.2","tagline":"Theme inspired by the grey color of 90s computer devices","archive_hash":"sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38","archive_size":6800,"archive_url":"https://extensions.blender.org/download/sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38/theme-retrogrey-v1.3.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/retrogrey/","maintainer":"Oskar_Wasiluk","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"datablock_utils","schema_version":"1.0.0","name":"Data-Block Utilities","version":"1.3.0","tagline":"Show users, merge duplicates, find similar, and more","archive_hash":"sha256:ecbfa6cc02cb6620059c2cac9e6b109532b5626690f5562ac8a1b366412349c1","archive_size":1740275,"archive_url":"https://extensions.blender.org/download/sha256:ecbfa6cc02cb6620059c2cac9e6b109532b5626690f5562ac8a1b366412349c1/add-on-datablock-utils-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/datablock-utils/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System"]},{"id":"ambientcg_material_importer","schema_version":"1.0.0","name":"AmbientCG Material Importer","version":"1.4.0","tagline":"One-click material creation from AmbientCG","archive_hash":"sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082","archive_size":4167,"archive_url":"https://extensions.blender.org/download/sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082/add-on-ambientcg-material-importer-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ambientcg-material-importer/","maintainer":"Nino-Filiu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and cache textures to disk","network":"Makes calls to AmbientCG"},"tags":["Import-Export","Material"]},{"id":"cursor_plus","schema_version":"1.0.0","name":"3D Cursor Plus","version":"1.0.4","tagline":"Axes, undo and few other tools for your 3D Cursor","archive_hash":"sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47","archive_size":79566,"archive_url":"https://extensions.blender.org/download/sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47/add-on-cursor-plus-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cursor-plus/","maintainer":"chokavr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load gizmo presets and Pie menu configuration"},"tags":["3D View"]},{"id":"two_point_perspective","schema_version":"1.0.0","name":"Two-Point Perspective","version":"0.0.2","tagline":"Replaces the active camera with a two-point perspective one","archive_hash":"sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd","archive_size":17509,"archive_url":"https://extensions.blender.org/download/sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd/add-on-two-point-perspective-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/two-point-perspective/","maintainer":"Athina-Syntychaki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Grid_Dimensions","schema_version":"1.0.0","name":"Grid Dimensions/网格标注","version":"1.1.0","tagline":"Grid Dimensions/网格标注","archive_hash":"sha256:7df9c7f626d9990d222a6dc05613f2cafc6edb4b992b995545f91e11a53f0e80","archive_size":37347,"archive_url":"https://extensions.blender.org/download/sha256:7df9c7f626d9990d222a6dc05613f2cafc6edb4b992b995545f91e11a53f0e80/add-on-grid-dimensions-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-dimensions/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"mpfb","schema_version":"1.0.0","name":"MPFB","version":"2.0.14","tagline":"Human character generator and editor","archive_hash":"sha256:c0484d4f74e468262897b575e6535f3d2b14ebb44b68b0b79e5b9121f632e504","archive_size":44911109,"archive_url":"https://extensions.blender.org/download/sha256:c0484d4f74e468262897b575e6535f3d2b14ebb44b68b0b79e5b9121f632e504/add-on-mpfb-v2.0.14.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mpfb/","maintainer":"Joel-Palmius","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save data","network":"(optional) Interact with local instance of MakeHuman"},"tags":["Add Mesh","Rigging"]},{"id":"motion_inspector","schema_version":"1.0.0","name":"Motion inspector","version":"0.2.9","tagline":"Inspect F-Curves and animated object movement","archive_hash":"sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53","archive_size":4834,"archive_url":"https://extensions.blender.org/download/sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53/add-on-motion-inspector-v0.2.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motion-inspector/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"modern_primitive","schema_version":"1.0.0","name":"Modern Primitive","version":"0.0.47","tagline":"Modern Primitive for Non-Destructive Modeling","archive_hash":"sha256:6393172dcda74824d5405b3611965fef7548ad66b9de8264b948357520d4fbde","archive_size":3275996,"archive_url":"https://extensions.blender.org/download/sha256:6393172dcda74824d5405b3611965fef7548ad66b9de8264b948357520d4fbde/add-on-modern-primitive-v0.0.47.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modern-primitive/","maintainer":"Degarashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry-Node from Add-on Directory"},"tags":["Add Mesh","Modeling"]},{"id":"greasepencil_nudge_frames","schema_version":"1.0.0","name":"Grease Pencil Nudge Frames","version":"0.1.1","tagline":"Modify exposure in the dopesheet with D/F","archive_hash":"sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f","archive_size":1738,"archive_url":"https://extensions.blender.org/download/sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f/add-on-greasepencil-nudge-frames-v0.1.1.zip","type":"add-on","blender_version_min":"4.3.1","website":"https://extensions.blender.org/add-ons/greasepencil-nudge-frames/","maintainer":"bergamote","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Grease Pencil"]},{"id":"Non_Destructive_Primitives","schema_version":"1.0.0","name":"ND Primitives","version":"0.2.46","tagline":"Non-Destructive Parametric Primitives in Blender","archive_hash":"sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8","archive_size":290494,"archive_url":"https://extensions.blender.org/download/sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8/add-on-non-destructive-primitives-v0.2.46.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/non-destructive-primitives/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry Nodes Objects from Add-on Folder"},"tags":["Modeling","Add Mesh"]},{"id":"node_pinyin","schema_version":"1.0.0","name":"szm/首字母","version":"1.2.0","tagline":"Enable node and modifier search with PinYin/支持节点和修改器的中文拼音搜索","archive_hash":"sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe","archive_size":40672,"archive_url":"https://extensions.blender.org/download/sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe/add-on-node-pinyin-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-pinyin/","maintainer":"Xinyu-Zhu","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"proto_game_asset_tools","schema_version":"1.0.0","name":"PROTO Game Asset Tools","version":"2.0.0","tagline":"Tools for game assets, improved export for Unreal, Unity, Godot","archive_hash":"sha256:4f2dff5513b046021466dc57e8c1b399682545e1d86b4feb47a56d45b5a853a4","archive_size":82467,"archive_url":"https://extensions.blender.org/download/sha256:4f2dff5513b046021466dc57e8c1b399682545e1d86b4feb47a56d45b5a853a4/add-on-proto-game-asset-tools-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/proto-game-asset-tools/","maintainer":"PROTOWLF","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX to disk","clipboard":"Copy and paste data"},"tags":["Import-Export","Game Engine"]},{"id":"b_subeditor","schema_version":"1.0.0","name":"B SubEditor","version":"1.0.1","tagline":"Sync subtitles in Text Editor/VSE","archive_hash":"sha256:ecf1dd66d0d2812603227a549d07efe010749e17149f7c3c247b07fa68f3cf5d","archive_size":6393,"archive_url":"https://extensions.blender.org/download/sha256:ecf1dd66d0d2812603227a549d07efe010749e17149f7c3c247b07fa68f3cf5d/add-on-b-subeditor-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-subeditor/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with subtitle files"},"tags":["Sequencer","Text Editor","Import-Export"]},{"id":"b_Unicode","schema_version":"1.0.0","name":"B Unicode","version":"1.0.2","tagline":"Access Unicode characters","archive_hash":"sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e","archive_size":5304,"archive_url":"https://extensions.blender.org/download/sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e/add-on-b-unicode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/b-unicode/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Sequencer","Text Editor"]},{"id":"sco_edgewise","schema_version":"1.0.0","name":"SCO EdgeWise","version":"2.0.3","tagline":"Measure distances, edge lengths, and angles in Edit Mode","archive_hash":"sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a","archive_size":137778,"archive_url":"https://extensions.blender.org/download/sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a/add-on-sco-edgewise-v2.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-edgewise/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"font_selector","schema_version":"1.0.0","name":"Font Selector","version":"3.2.2","tagline":"Browse available fonts from blender","archive_hash":"sha256:6f2006ea677059102fc7265f5dd0d9149ba80b93cbcef7d09d06aade32fda3c6","archive_size":1183546,"archive_url":"https://extensions.blender.org/download/sha256:6f2006ea677059102fc7265f5dd0d9149ba80b93cbcef7d09d06aade32fda3c6/add-on-font-selector-v3.2.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/font-selector/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files, Reading font files"},"tags":["Import-Export","System"]},{"id":"vertex_overlap","schema_version":"1.0.0","name":"Vertex Overlap","version":"1.1.0","tagline":"Alerts you to overlapping vertices in real-time","archive_hash":"sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14","archive_size":17220,"archive_url":"https://extensions.blender.org/download/sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14/add-on-vertex-overlap-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-overlap/","maintainer":"Shawn-Shipley","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"quick_resolution_setup","schema_version":"1.0.0","name":"Quick Resolution Setup","version":"1.1.0","tagline":"Quick Resolution Setup","archive_hash":"sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea","archive_size":23899,"archive_url":"https://extensions.blender.org/download/sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea/add-on-quick-resolution-setup-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-resolution-setup/","maintainer":"Hades-Su","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"audio_notifier","schema_version":"1.0.0","name":"Audio Notifier","version":"1.0.5","tagline":"Audio notifications for success, cancel and warning","archive_hash":"sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541","archive_size":36990,"archive_url":"https://extensions.blender.org/download/sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541/add-on-audio-notifier-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/audio-notifier/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"k_tools_mode_highlight","schema_version":"1.0.0","name":"K-Tools: Mode Highlight","version":"1.0.8","tagline":"Automatically change the header color based on the current mode","archive_hash":"sha256:7d1e680b0b1d313a1e874bd7f3b1c45503c1207f402da26284cbfddc1426c212","archive_size":4666,"archive_url":"https://extensions.blender.org/download/sha256:7d1e680b0b1d313a1e874bd7f3b1c45503c1207f402da26284cbfddc1426c212/add-on-k-tools-mode-highlight-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-mode-highlight/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"xray_selection_tools","schema_version":"1.0.0","name":"X-Ray Selection Tools","version":"4.9.2","tagline":"Box, lasso and circle selection tools with x-ray","archive_hash":"sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8","archive_size":85983,"archive_url":"https://extensions.blender.org/download/sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8/add-on-xray-selection-tools-v4.9.2.zip","type":"add-on","blender_version_min":"4.5.2","website":"https://extensions.blender.org/add-ons/xray-selection-tools/","maintainer":"MarshmallowCirno","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"autokey_highlight","schema_version":"1.0.0","name":"Autokey Highlight","version":"1.0.7","tagline":"Highlights the viewport when autokey is enabled","archive_hash":"sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8","archive_size":3186,"archive_url":"https://extensions.blender.org/download/sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8/add-on-autokey-highlight-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autokey-highlight/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View","System"]},{"id":"math_formula","schema_version":"1.0.0","name":"Math Formula","version":"2.2.0","tagline":"Quickly add nodes by typing in a formula","archive_hash":"sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27","archive_size":360600,"archive_url":"https://extensions.blender.org/download/sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27/add-on-math-formula-v2.2.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/math-formula/","maintainer":"WannesMalfait","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and writing custom implementations","clipboard":"Pasting formulas from clipboard"},"tags":["Node"]},{"id":"EdgeFlow","schema_version":"1.0.0","name":"EdgeFlow","version":"1.1.2","tagline":"Helps adjusting mesh geometry to curved surfaces","archive_hash":"sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1","archive_size":34350,"archive_url":"https://extensions.blender.org/download/sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1/add-on-edgeflow-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edgeflow/","maintainer":"Benjamin-Sauder","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"LightHepler","schema_version":"1.0.0","name":"Light Helper","version":"0.4.6","tagline":"Light Helper","archive_hash":"sha256:a99c5697ffcb22e6d7a64cd17d353137206b38b707519f03afcaa23933ba214d","archive_size":20722,"archive_url":"https://extensions.blender.org/download/sha256:a99c5697ffcb22e6d7a64cd17d353137206b38b707519f03afcaa23933ba214d/add-on-lighthepler-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lighthepler/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"lattice_helper","schema_version":"1.0.0","name":"Lattice Helper","version":"1.2.5","tagline":"Apply Lattice modifier to object(s) in object/edit mode","archive_hash":"sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4","archive_size":12464,"archive_url":"https://extensions.blender.org/download/sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4/add-on-lattice-helper-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lattice-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"color_randomizer","schema_version":"1.0.0","name":"Color Randomizer","version":"1.3.0","tagline":"Randomly assign colors to objects","archive_hash":"sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944","archive_size":10414,"archive_url":"https://extensions.blender.org/download/sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944/add-on-color-randomizer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-randomizer/","maintainer":"ilumetric","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"lumos","schema_version":"1.0.0","name":"Lumos","version":"3.2.1","tagline":"Bring your lighting to the next level","archive_hash":"sha256:ba3a80a1e6fd241a4d6a998f0bd26be10c79e60e3e45df390403b1d838bd3ba3","archive_size":43133,"archive_url":"https://extensions.blender.org/download/sha256:ba3a80a1e6fd241a4d6a998f0bd26be10c79e60e3e45df390403b1d838bd3ba3/add-on-lumos-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lumos/","maintainer":"Eqkoss","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"rmKit","schema_version":"1.0.0","name":"rmKit","version":"1.0.13","tagline":"Tools and Utils for Modeling and GameWorkflows","archive_hash":"sha256:25c336e8ad89518cb70c7a460ec07fa94d14bd7ebd6170974817d3ee3240b92c","archive_size":83033,"archive_url":"https://extensions.blender.org/download/sha256:25c336e8ad89518cb70c7a460ec07fa94d14bd7ebd6170974817d3ee3240b92c/add-on-rmkit-v1.0.13.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rmkit/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Mesh","Object","Material"]},{"id":"Duplication_Tool_addon","schema_version":"1.0.0","name":"Duplication Tool","version":"1.0.2","tagline":"Create copies with incremental names and materials","archive_hash":"sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864","archive_size":3052,"archive_url":"https://extensions.blender.org/download/sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864/add-on-duplication-tool-addon-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/duplication-tool-addon/","maintainer":"Vinay-chikkam","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","System"]},{"id":"sakura_poselib","schema_version":"1.0.0","name":"Sakura Poselib","version":"1.4.4","tagline":"Yet another Pose Library with handful features","archive_hash":"sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e","archive_size":56108,"archive_url":"https://extensions.blender.org/download/sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e/add-on-sakura-poselib-v1.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-poselib/","maintainer":"Kafuji","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load Poselib data as Json or CSV"},"tags":["Animation"]},{"id":"audio_exporter","schema_version":"1.0.0","name":"Audio Exporter","version":"1.1.0","tagline":"Export audio separate or combined files in VSE","archive_hash":"sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be","archive_size":6145,"archive_url":"https://extensions.blender.org/download/sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be/add-on-audio-exporter-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/audio-exporter/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it exports audio files"},"tags":["Sequencer"]},{"id":"Shadingplus","schema_version":"1.0.0","name":"Shading +","version":"1.1.2","tagline":"Shading pie for designers and artists","archive_hash":"sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8","archive_size":50492480,"archive_url":"https://extensions.blender.org/download/sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8/add-on-shadingplus-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shadingplus/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"caustics_baking_addon","schema_version":"1.0.0","name":"Caustics_Baking","version":"3.2.1","tagline":"Caustics Baking with Cycles","archive_hash":"sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e","archive_size":42951,"archive_url":"https://extensions.blender.org/download/sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e/add-on-caustics-baking-addon-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/caustics-baking-addon/","maintainer":"Benary","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"export images to disk"},"tags":["Bake","Lighting"]},{"id":"brushstroke_tools","schema_version":"1.0.0","name":"Brushstroke Tools","version":"1.1.2","tagline":"Brushstroke painting tools by the Blender Studio","archive_hash":"sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d","archive_size":29639997,"archive_url":"https://extensions.blender.org/download/sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d/add-on-brushstroke-tools-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/brushstroke-tools/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write brushstroke asset resources from/to disk"},"tags":["Paint","Geometry Nodes","Material"]},{"id":"node_color_tools","schema_version":"1.0.0","name":"Node Color Tools Pie","version":"1.0.3","tagline":"Quick, organized node colors with pie menu ease","archive_hash":"sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7","archive_size":4752,"archive_url":"https://extensions.blender.org/download/sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7/add-on-node-color-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"mesh_analysis_overlay","schema_version":"1.0.0","name":"Mesh Analysis Overlay","version":"4.1.0","tagline":"Mesh Analysis Overlay","archive_hash":"sha256:08b24bce782c7c8c72d47a3e2c8708a571f19538fed30d57d30fa874f7791a5c","archive_size":18588,"archive_url":"https://extensions.blender.org/download/sha256:08b24bce782c7c8c72d47a3e2c8708a571f19538fed30d57d30fa874f7791a5c/add-on-mesh-analysis-overlay-v4.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/mesh-analysis-overlay/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"gamiflow","schema_version":"1.0.0","name":"GamiFlow","version":"1.9.6","tagline":"Easier game asset creation","archive_hash":"sha256:0f8a827212e96d2888ee6e1eec12f5716db7f6ed1b073fd25fd7906c888d08ce","archive_size":161904,"archive_url":"https://extensions.blender.org/download/sha256:0f8a827212e96d2888ee6e1eec12f5716db7f6ed1b073fd25fd7906c888d08ce/add-on-gamiflow-v1.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gamiflow/","maintainer":"Mathieu.Einig","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX files to disk"},"tags":["Import-Export","Object"]},{"id":"Runlevel_Two","schema_version":"1.0.0","name":"Runlevel Two","version":"1.2.0","tagline":"A refined, distraction-free color palette, pleasing to the eye","archive_hash":"sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1","archive_size":5962,"archive_url":"https://extensions.blender.org/download/sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1/theme-runlevel-two-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/runlevel-two/","maintainer":"Rene-Smaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Accessibility","Colorful"]},{"id":"blenderdefender_gizmodalops","schema_version":"1.0.0","name":"Gizmodal Ops","version":"1.0.3","tagline":"An add-on that seamlessly blends Gizmo and Modal operations","archive_hash":"sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb","archive_size":24047,"archive_url":"https://extensions.blender.org/download/sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb/add-on-blenderdefender-gizmodalops-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blenderdefender-gizmodalops/","maintainer":"Beedy","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"render_overscan","schema_version":"1.0.0","name":"Render Overscan","version":"0.1.16","tagline":"Applies and manages overscan in renders","archive_hash":"sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa","archive_size":3933,"archive_url":"https://extensions.blender.org/download/sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa/add-on-render-overscan-v0.1.16.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/render-overscan/","maintainer":"efimpetelin","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"strip_array","schema_version":"1.0.0","name":"Strip Array","version":"1.1.0","tagline":"Array of duplicated strips, Customizable, Strips Display","archive_hash":"sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba","archive_size":4825,"archive_url":"https://extensions.blender.org/download/sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba/add-on-strip-array-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/strip-array/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"latticemagic","schema_version":"1.0.0","name":"Lattice Magic","version":"1.0.1","tagline":"Lattice-based deforming tools","archive_hash":"sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e","archive_size":29840,"archive_url":"https://extensions.blender.org/download/sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e/add-on-latticemagic-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/latticemagic/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"Show_Object_Data_Users_in_Viewport","schema_version":"1.0.0","name":"Show Collection/Object/Data Users in Viewport","version":"1.0.6","tagline":"Show Collection/Object/Data Users in the Viewport","archive_hash":"sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699","archive_size":4288,"archive_url":"https://extensions.blender.org/download/sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699/add-on-show-object-data-users-in-viewport-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/show-object-data-users-in-viewport/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"camera_shakify","schema_version":"1.0.0","name":"Camera Shakify","version":"0.5.1","tagline":"Add captured camera shake/wobble to your cameras","archive_hash":"sha256:40bb62e0960b301fe8c7b1de11ec959b8ce6c55ce03ed720c5c3b21c0c764e36","archive_size":78219,"archive_url":"https://extensions.blender.org/download/sha256:40bb62e0960b301fe8c7b1de11ec959b8ce6c55ce03ed720c5c3b21c0c764e36/add-on-camera-shakify-v0.5.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-shakify/","maintainer":"Eat the Future","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Camera"]},{"id":"embroidery_importer","schema_version":"1.0.0","name":"Embroidery Importer","version":"0.9.6","tagline":"Import embroidery files into Blender","archive_hash":"sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7","archive_size":157512,"archive_url":"https://extensions.blender.org/download/sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7/add-on-embroidery-importer-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/embroidery-importer/","maintainer":"javl","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read embroidery files from disk"},"tags":["Import-Export"]},{"id":"mio3_uv","schema_version":"1.0.0","name":"Mio3 UV","version":"2.0.1","tagline":"UV Edit Assistant Tools","archive_hash":"sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc","archive_size":5184961,"archive_url":"https://extensions.blender.org/download/sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc/add-on-mio3-uv-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-uv/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Imports images, nodes, and translations from the bundled files"},"tags":["UV"]},{"id":"S3D_QuickSwitch","schema_version":"1.0.0","name":"Quick Switch","version":"2.1.0","tagline":"Quickly switch between Editor Areas","archive_hash":"sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380","archive_size":6932,"archive_url":"https://extensions.blender.org/download/sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380/add-on-s3d-quickswitch-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/s3d-quickswitch/","maintainer":"Silvie3D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline"]},{"id":"spreadsheet_import","schema_version":"1.0.0","name":"Spreadsheet Import","version":"0.4.0","tagline":"Import data to spreadsheet for use with geometry nodes","archive_hash":"sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba","archive_size":16630,"archive_url":"https://extensions.blender.org/download/sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba/add-on-spreadsheet-import-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spreadsheet-import/","maintainer":"smonbrogg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load CSV and JSON files from disk"},"tags":["Import-Export","Geometry Nodes"]},{"id":"Scene_ViewLayer_Switcher","schema_version":"1.0.0","name":"Scene and ViewLayer Switcher","version":"1.0.6","tagline":"Shortcut for Scenes/ViewLayers","archive_hash":"sha256:00dd42056d58504b1a99ab4a48c874b81a98db676846a923c1ccc9a275ab9349","archive_size":10499,"archive_url":"https://extensions.blender.org/download/sha256:00dd42056d58504b1a99ab4a48c874b81a98db676846a923c1ccc9a275ab9349/add-on-scene-viewlayer-switcher-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-viewlayer-switcher/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"pohlke","schema_version":"1.0.0","name":"Pohlke","version":"1.2.0","tagline":"One-click standard orthographic and oblique projection cameras","archive_hash":"sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e","archive_size":14493,"archive_url":"https://extensions.blender.org/download/sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e/add-on-pohlke-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pohlke/","maintainer":"mononym","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"FishSim","schema_version":"1.0.0","name":"FishSim","version":"4.2.0","tagline":"Fish Swimming Simulation","archive_hash":"sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a","archive_size":16851312,"archive_url":"https://extensions.blender.org/download/sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a/add-on-fishsim-v4.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fishsim/","maintainer":"Nerk","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"sync_render_sets","schema_version":"1.0.0","name":"Sync Render Sets","version":"1.2.1","tagline":"Sync scenes render settings/colorspaces,viewlayers`s passes","archive_hash":"sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362","archive_size":24219,"archive_url":"https://extensions.blender.org/download/sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362/add-on-sync-render-sets-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-render-sets/","maintainer":"CP-Design","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"circular_stacker","schema_version":"1.0.0","name":"Circular Stacker","version":"1.0.0","tagline":"Distribute selected objects in a circular (donut) pattern","archive_hash":"sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451","archive_size":3099,"archive_url":"https://extensions.blender.org/download/sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451/add-on-circular-stacker-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/circular-stacker/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"overscan","schema_version":"1.0.0","name":"Overscan Render","version":"1.2.3","tagline":"Render with an overscan","archive_hash":"sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b","archive_size":3063,"archive_url":"https://extensions.blender.org/download/sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b/add-on-overscan-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Distribute","schema_version":"1.0.0","name":"Distribute","version":"1.1.0","tagline":"Distribute selected objects from first to last on X, Y or Z axis","archive_hash":"sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47","archive_size":1692,"archive_url":"https://extensions.blender.org/download/sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47/add-on-distribute-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/distribute/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"motionpath","schema_version":"1.0.0","name":"Motion Path Creator","version":"2.1.2","tagline":"Create motion paths for bones, vertices, empties and objects","archive_hash":"sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f","archive_size":6955,"archive_url":"https://extensions.blender.org/download/sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f/add-on-motionpath-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motionpath/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"fireray","schema_version":"1.0.0","name":"Fire Ray","version":"2.0.0","tagline":"Reality Capture setup and create an empty on a tracked camera","archive_hash":"sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3","archive_size":2709,"archive_url":"https://extensions.blender.org/download/sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3/add-on-fireray-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fireray/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"HDRIRotator","schema_version":"1.0.0","name":"HDRI Rotator","version":"1.1.3","tagline":"Rotate HDRIs, Shadows and Sun from the viewport","archive_hash":"sha256:104ca5af587bb671e13aa9c56a5a6c373e8e6932f101e961cfc261db57c34c0d","archive_size":18375,"archive_url":"https://extensions.blender.org/download/sha256:104ca5af587bb671e13aa9c56a5a6c373e8e6932f101e961cfc261db57c34c0d/add-on-hdrirotator-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdrirotator/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"auto_active_camera_switcher","schema_version":"1.0.0","name":"Auto Active Camera Switcher","version":"1.0.2","tagline":"Automatically makes the selected camera the active camera","archive_hash":"sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5","archive_size":2653,"archive_url":"https://extensions.blender.org/download/sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5/add-on-auto-active-camera-switcher-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-active-camera-switcher/","maintainer":"Yamato3D-3dnchu.com-","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera"]},{"id":"pcb3d_importer","schema_version":"1.0.0","name":"PCB 3D Importer","version":"2.17.4-fix","tagline":"Import PCB 3D Models from KiCad","archive_hash":"sha256:510b600c3155d7afedef450c05a7c1de9ee25fc1d0583ec6f45cfdd5ed374eed","archive_size":85003351,"archive_url":"https://extensions.blender.org/download/sha256:510b600c3155d7afedef450c05a7c1de9ee25fc1d0583ec6f45cfdd5ed374eed/add-on-pcb3d-importer-v2.17.4-fix-windows-x64-windows-arm64-linux-x64-macos-x64-macos-arm64.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/pcb3d-importer/","maintainer":"Bobbe","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .pcb3d files from disk"},"platforms":["windows-x64","windows-arm64","linux-x64","macos-x64","macos-arm64"],"tags":["Import-Export"]},{"id":"AddonProfiler","schema_version":"1.0.0","name":"Add-on Profiler","version":"2.1.0","tagline":"Monitor and capture add-on profiling data","archive_hash":"sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c/add-on-addonprofiler-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/addonprofiler/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and process benchmark and profile data"},"tags":["Development"]},{"id":"add_frame_range_presets","schema_version":"1.0.0","name":"Add Frame Range Presets","version":"1.1.3","tagline":"Create preset frame ranges in just a click","archive_hash":"sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed","archive_size":16118,"archive_url":"https://extensions.blender.org/download/sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed/add-on-add-frame-range-presets-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-frame-range-presets/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Light_Rain_Theme","schema_version":"1.0.0","name":"Light_Rain_Theme","version":"2.1.4","tagline":"Transparent Light Grey","archive_hash":"sha256:ef2d321959246456dc8ad8367146449a18dba8e6661be91285be7da9b48a1d3d","archive_size":5576,"archive_url":"https://extensions.blender.org/download/sha256:ef2d321959246456dc8ad8367146449a18dba8e6661be91285be7da9b48a1d3d/theme-light-rain-theme-v2.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/light-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"C3DB","schema_version":"1.0.0","name":"3D Cursors Briefcase","version":"0.1.5","tagline":"Store and manage multiple 3D Cursors","archive_hash":"sha256:ada3f81101ccc11fadaa391ca697e11b29e7696dc20f2e4355af9bb4bddd5901","archive_size":6191,"archive_url":"https://extensions.blender.org/download/sha256:ada3f81101ccc11fadaa391ca697e11b29e7696dc20f2e4355af9bb4bddd5901/add-on-c3db-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/c3db/","maintainer":"dupoxy","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"cameraide_settings","schema_version":"1.0.0","name":"Cameraide","version":"1.0.6","tagline":"Camera specific Resolution, Frame Range, Output Path & Format","archive_hash":"sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe","archive_size":34464,"archive_url":"https://extensions.blender.org/download/sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe/add-on-cameraide-settings-v1.0.6.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/cameraide-settings/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"simple_bounce_curve","schema_version":"1.0.0","name":"Simple Bounce Curve","version":"1.1.0","tagline":"Creates a simple bounce curve between selected objects","archive_hash":"sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b","archive_size":2102,"archive_url":"https://extensions.blender.org/download/sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b/add-on-simple-bounce-curve-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-bounce-curve/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Object"]},{"id":"org_tayou_bone_vertex_group_merge","schema_version":"1.0.0","name":"Bone and Vertex Group Merge","version":"1.2.0","tagline":"merge selected bones into the active bone","archive_hash":"sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf","archive_size":1084528,"archive_url":"https://extensions.blender.org/download/sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf/add-on-org-tayou-bone-vertex-group-merge-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/org-tayou-bone-vertex-group-merge/","maintainer":"Tayou","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Custom_Grid_Scales","schema_version":"1.0.0","name":"Custom Grid Scales","version":"1.1.0","tagline":"Adds the ability to quickly change between custom grid scales","archive_hash":"sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01","archive_size":2631,"archive_url":"https://extensions.blender.org/download/sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01/add-on-custom-grid-scales-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.1","website":"https://extensions.blender.org/add-ons/custom-grid-scales/","maintainer":"Jacob-Beatty","license":["SPDX:GPL-3.0-or-later"]},{"id":"more_colors","schema_version":"1.0.0","name":"More Colors!","version":"1.1.0","tagline":"A set of tools to make vertex painting easier","archive_hash":"sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2","archive_size":31239,"archive_url":"https://extensions.blender.org/download/sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2/add-on-more-colors-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/more-colors/","maintainer":"tojynick","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Mesh","Paint"]},{"id":"thomas_rig_legacy","schema_version":"1.0.0","name":"Thomas Rig Legacy","version":"1.2.0","tagline":"Addon for this rig","archive_hash":"sha256:a715daa5679c173c7bf5e9dadf445e73da82c51db31f8c1595266a5dc2ee4df6","archive_size":20820143,"archive_url":"https://extensions.blender.org/download/sha256:a715daa5679c173c7bf5e9dadf445e73da82c51db31f8c1595266a5dc2ee4df6/add-on-thomas-rig-legacy-v1.2.0-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/thomas-rig-legacy/","maintainer":"BlueEvilGFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the skin to Blender-tmp & read MC textures","network":"To download a skin with the Minecraft/Mojang API"},"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Animation","Rigging"]},{"id":"cortecloud_export","schema_version":"1.0.0","name":"CorteCloud Export","version":"1.0.5","tagline":"Manage and Export wood cut list to CorteCloud csv format","archive_hash":"sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191","archive_size":20274,"archive_url":"https://extensions.blender.org/download/sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191/add-on-cortecloud-export-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cortecloud-export/","maintainer":"Filipe-Rocha-Lopes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export csv files"}},{"id":"auto_reload","schema_version":"1.0.0","name":"Auto Reload","version":"3.1.2","tagline":"Automatic reload for external files","archive_hash":"sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4","archive_size":21511,"archive_url":"https://extensions.blender.org/download/sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4/add-on-auto-reload-v3.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-reload/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Checking/Reloading external files from current blend"},"tags":["Import-Export","Pipeline"]},{"id":"Colorista","schema_version":"1.0.0","name":"Colorista","version":"1.1.8","tagline":"A convenient color grading add-on designed for colorists","archive_hash":"sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2","archive_size":950327,"archive_url":"https://extensions.blender.org/download/sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2/add-on-colorista-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/colorista/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read Node"},"tags":["Modeling","Node","Render","Compositing"]},{"id":"popoti_align_helper","schema_version":"1.0.0","name":"POPOTI Align Helper","version":"1.2.7","tagline":"More friendly alignment based on observation perspective","archive_hash":"sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f","archive_size":95518,"archive_url":"https://extensions.blender.org/download/sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f/add-on-popoti-align-helper-v1.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/popoti-align-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"UV_Snapper","schema_version":"1.0.0","name":"UV Snapper","version":"1.1.1","tagline":"Snap selected UVs to a custom atlas","archive_hash":"sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb","archive_size":236058,"archive_url":"https://extensions.blender.org/download/sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb/add-on-uv-snapper-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-snapper/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"theme_moss","schema_version":"1.0.0","name":"Moss","version":"1.0.5","tagline":"Mossy castle dark theme","archive_hash":"sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078","archive_size":5609,"archive_url":"https://extensions.blender.org/download/sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078/theme-theme-moss-v1.0.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-moss/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"mesh_repair_tools","schema_version":"1.0.0","name":"Mesh Repair Tools","version":"4.0.2","tagline":"An integrated toolbox for mesh repair","archive_hash":"sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7","archive_size":13836,"archive_url":"https://extensions.blender.org/download/sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7/add-on-mesh-repair-tools-v4.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-repair-tools/","maintainer":"SineWave","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","User Interface"]},{"id":"profiling_buddy","schema_version":"1.0.0","name":"Profiling Buddy","version":"1.0.0","tagline":"Adds modifier panel to profile execution times","archive_hash":"sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0","archive_size":1756,"archive_url":"https://extensions.blender.org/download/sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0/add-on-profiling-buddy-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/profiling-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Rigging","Geometry Nodes","User Interface"]},{"id":"Proton","schema_version":"1.0.0","name":"Proton","version":"1.1.0","tagline":"A modern dark theme for Blender with purple accents","archive_hash":"sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99","archive_size":5141,"archive_url":"https://extensions.blender.org/download/sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99/theme-proton-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/proton/","maintainer":"VISaberToothIV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neo_Grey_Theme","schema_version":"1.0.0","name":"Neo_Grey_Theme","version":"2.4.2","tagline":"Dust Cloud","archive_hash":"sha256:6882357d6cd78a737e198fcaf53299c4c0bd3cc5c2e8e93d0dcb7c10dbbfe55b","archive_size":5600,"archive_url":"https://extensions.blender.org/download/sha256:6882357d6cd78a737e198fcaf53299c4c0bd3cc5c2e8e93d0dcb7c10dbbfe55b/theme-neo-grey-theme-v2.4.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neo-grey-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"SMEAR","schema_version":"1.0.0","name":"SMEAR","version":"1.1.8","tagline":"Create smear frames for 3D animations","archive_hash":"sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5","archive_size":3313751,"archive_url":"https://extensions.blender.org/download/sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5/add-on-smear-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smear/","maintainer":"Jean-Basset","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"simple_deform_helper","schema_version":"1.0.0","name":"Simple Deform Helper","version":"0.2.7","tagline":"Simple Deform visualization adjustment tool","archive_hash":"sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb","archive_size":173571,"archive_url":"https://extensions.blender.org/download/sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb/add-on-simple-deform-helper-v0.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-deform-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Mesh"]},{"id":"uv_toolkit","schema_version":"1.0.0","name":"UVToolkit","version":"2.1.4","tagline":"A collection of UV editing tools for Blender","archive_hash":"sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859","archive_size":2611931,"archive_url":"https://extensions.blender.org/download/sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859/add-on-uv-toolkit-v2.1.4.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/uv-toolkit/","maintainer":"razed","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","Material"]},{"id":"image_packer","schema_version":"1.0.0","name":"Image Packer","version":"1.0.7","tagline":"Packs images into a single image","archive_hash":"sha256:32ff0572ecfd9fd7af321ae9299f59101c3d222879c7d7aebb2622f1c3f82c2c","archive_size":24146,"archive_url":"https://extensions.blender.org/download/sha256:32ff0572ecfd9fd7af321ae9299f59101c3d222879c7d7aebb2622f1c3f82c2c/add-on-image-packer-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/image-packer/","maintainer":"Quint-Vrolijk","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"Modal_lattice_resolution","schema_version":"1.0.0","name":"Modal Lattice Resolution","version":"0.3.4","tagline":"Create Lattice or Tweak Resolution from 3D viewport, 'L' keymap","archive_hash":"sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b","archive_size":7314,"archive_url":"https://extensions.blender.org/download/sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b/add-on-modal-lattice-resolution-v0.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modal-lattice-resolution/","maintainer":"Tyo79","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"you_are_autosave","schema_version":"1.0.0","name":"You Are Autosave","version":"1.5.0","tagline":"Show a warning when you haven't saved in a while","archive_hash":"sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b","archive_size":17503,"archive_url":"https://extensions.blender.org/download/sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b/add-on-you-are-autosave-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/you-are-autosave/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"univ","schema_version":"1.0.0","name":"UniV","version":"3.9.8","tagline":"UV Toolkit","archive_hash":"sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c","archive_size":538491,"archive_url":"https://extensions.blender.org/download/sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c/add-on-univ-v3.9.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/univ/","maintainer":"Oxicid","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and updates icon files in the add-on directory"},"tags":["UV"]},{"id":"gesture_helper","schema_version":"1.0.0","name":"Gesture Helper","version":"2.2.6","tagline":"Quickly use gestures to run the operator or change properties","archive_hash":"sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5","archive_size":1125093,"archive_url":"https://extensions.blender.org/download/sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5/add-on-gesture-helper-v2.2.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gesture-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Gesture preset"},"tags":["3D View","User Interface"]},{"id":"bone_eyedropper","schema_version":"1.0.0","name":"Bone Eyedropper","version":"1.1.8","tagline":"Eyedrop a bone from active or target and assign it to a property","archive_hash":"sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd","archive_size":139882,"archive_url":"https://extensions.blender.org/download/sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd/add-on-bone-eyedropper-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-eyedropper/","maintainer":"Nifs","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .blend from disk","clipboard":"Copy property paths to clipboard"},"tags":["3D View","User Interface"]},{"id":"quick_export_extension","schema_version":"1.0.0","name":"Quick Export","version":"1.1.0","tagline":"Exports the active object's collection if it has exporters","archive_hash":"sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76","archive_size":2422,"archive_url":"https://extensions.blender.org/download/sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76/add-on-quick-export-extension-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-export-extension/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"Real_Time_Paths","schema_version":"1.0.0","name":"Motion Path Pro","version":"3.1.0","tagline":"Update motion path in real time","archive_hash":"sha256:eaee70d1ffaf5b3454ba6cd5c39d4b779b99bd59c52227aa0fea627276db7ff2","archive_size":15369,"archive_url":"https://extensions.blender.org/download/sha256:eaee70d1ffaf5b3454ba6cd5c39d4b779b99bd59c52227aa0fea627276db7ff2/add-on-real-time-paths-v3.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/real-time-paths/","maintainer":"Hamdi-Amer","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"theme_GreenKM","schema_version":"1.0.0","name":"Green Kode Mono","version":"1.1.6","tagline":"Kinda retro green theme","archive_hash":"sha256:9e27e44e3086d3df5937c923415b4271c6a4d6ff0cf288bb01cc62b362d46567","archive_size":6032,"archive_url":"https://extensions.blender.org/download/sha256:9e27e44e3086d3df5937c923415b4271c6a4d6ff0cf288bb01cc62b362d46567/theme-theme-greenkm-v1.1.6.zip","type":"theme","blender_version_min":"5.0.1","website":"https://extensions.blender.org/themes/theme-greenkm/","maintainer":"DannySi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Quellenform_theme","schema_version":"1.0.0","name":"Quellenform's Theme","version":"0.1.0","tagline":"A dark grey theme with a gentle touch of blue and green colors","archive_hash":"sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d","archive_size":5899,"archive_url":"https://extensions.blender.org/download/sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d/theme-quellenform-theme-v0.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quellenform-theme/","maintainer":"quellenform","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"act_game_asset_creation_toolset","schema_version":"1.0.0","name":"ACT: Game Asset Creation Toolset","version":"2025.2.1","tagline":"Tools for easy create and export low-poly game assets","archive_hash":"sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284","archive_size":49479,"archive_url":"https://extensions.blender.org/download/sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284/add-on-act-game-asset-creation-toolset-v2025.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/act-game-asset-creation-toolset/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX/OBJ/GLTF to disk"},"tags":["3D View","Object","UV","Mesh","Import-Export","Modeling"]},{"id":"node_to_python","schema_version":"1.0.0","name":"Node To Python","version":"4.0.1","tagline":"Turn node groups into Python code","archive_hash":"sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec","archive_size":81184,"archive_url":"https://extensions.blender.org/download/sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec/add-on-node-to-python-v4.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-to-python/","maintainer":"Brendan-Parmer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and writes to files in a user-specified directory"},"tags":["Development","Compositing","Geometry Nodes","Material","Node"]},{"id":"Eclipse","schema_version":"1.0.0","name":"Eclipse","version":"1.2.2","tagline":"Where Darkness Meets Elegance","archive_hash":"sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7","archive_size":5863,"archive_url":"https://extensions.blender.org/download/sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7/theme-eclipse-v1.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/eclipse/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"custom_templates","schema_version":"1.0.0","name":"Custom Templates","version":"1.6.0","tagline":"Use your own .blend files as template options for new projects","archive_hash":"sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e","archive_size":10674,"archive_url":"https://extensions.blender.org/download/sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e/add-on-custom-templates-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/custom-templates/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export, + from folder, Ensure absolute paths in resources"},"tags":["System","User Interface"]},{"id":"world_apply","schema_version":"1.0.0","name":"World Apply","version":"1.0.1","tagline":"Sync viewport world settings with scene world settings","archive_hash":"sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663","archive_size":2866,"archive_url":"https://extensions.blender.org/download/sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663/add-on-world-apply-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/world-apply/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read HDRI files stored in Blender's directories"},"tags":["Lighting"]},{"id":"timeline_buttons","schema_version":"1.0.0","name":"Timeline Buttons","version":"1.0.0","tagline":"Put the buttons in timeline to other animation related editors","archive_hash":"sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815","archive_size":15158,"archive_url":"https://extensions.blender.org/download/sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815/add-on-timeline-buttons-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/timeline-buttons/","maintainer":"tinkerboi","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ddslideshow","schema_version":"1.0.0","name":"DDSlideshow","version":"0.0.5","tagline":"Create a Ken Burns Effect slideshow","archive_hash":"sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b/add-on-ddslideshow-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ddslideshow/","maintainer":"Michael-Lamertz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to load images for the slideshow"},"tags":["Sequencer"]},{"id":"ikea_browser","schema_version":"1.0.0","name":"IKEA Browser","version":"0.4.0","tagline":"Search and import models from ikea.com","archive_hash":"sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2","archive_size":7016,"archive_url":"https://extensions.blender.org/download/sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2/add-on-ikea-browser-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ikea-browser/","maintainer":"Shish","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store downloaded models","network":"Download from ikea.com"},"tags":["Import-Export"]},{"id":"bonsai","schema_version":"1.0.0","name":"Bonsai","version":"0.8.4","tagline":"A native Building Information Model authoring platform using IFC","archive_hash":"sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65","archive_size":119643469,"archive_url":"https://extensions.blender.org/download/sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65/add-on-bonsai-v0.8.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bonsai/","maintainer":"IfcOpenShell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save IFCs, IDS, BCF, etc from disk","network":"Augin / Cove.Tool integration for VR and environmental analysis","clipboard":"Copy and paste error logs"},"platforms":["windows-x64"],"tags":["3D View","Add Mesh","Animation","Camera","Development","Import-Export","Lighting","Material","Modeling","Mesh","Node","Object","Pipeline","Render","Scene","System","User Interface","UV"]},{"id":"Clean_Blue","schema_version":"1.0.0","name":"Clean Blue","version":"1.4.0","tagline":"This is a pleasant light-colored theme","archive_hash":"sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d/theme-clean-blue-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/clean-blue/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"redsquare","schema_version":"1.0.0","name":"RedSquare V2","version":"1.2.1","tagline":"A theme with basic red tones and a more square-ish type of look","archive_hash":"sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e/theme-redsquare-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redsquare/","maintainer":"luccadanielp","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"mengges_dark_theme","schema_version":"1.0.0","name":"MengGe's Dark Theme","version":"1.2.0","tagline":"Dark Theme Pro Max Ultra Plus Lift","archive_hash":"sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc","archive_size":5629,"archive_url":"https://extensions.blender.org/download/sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc/theme-mengges-dark-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mengges-dark-theme/","maintainer":"MengGe_KKD","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"armature_pie","schema_version":"1.0.0","name":"Armature Pie","version":"1.1.2","tagline":"Pick Armatures Comfortably & Solo Collection By Pie Menu","archive_hash":"sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da","archive_size":13793,"archive_url":"https://extensions.blender.org/download/sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da/add-on-armature-pie-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-pie/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"Elegant_Light_Theme","schema_version":"1.0.0","name":"Elegant_Light_Theme","version":"2.2.5","tagline":"Soft Light","archive_hash":"sha256:1571ca9ae69f3be9ed3de964720f919909ec38b739c91842eca156bf56ac2c86","archive_size":5615,"archive_url":"https://extensions.blender.org/download/sha256:1571ca9ae69f3be9ed3de964720f919909ec38b739c91842eca156bf56ac2c86/theme-elegant-light-theme-v2.2.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/elegant-light-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"livery_helper","schema_version":"1.0.0","name":"LiveryHelper","version":"1.0.3","tagline":"Makes creating, editing and customizing car liveries much easier","archive_hash":"sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab","archive_size":5198,"archive_url":"https://extensions.blender.org/download/sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab/add-on-livery-helper-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/livery-helper/","maintainer":"Mast26","license":["SPDX:MIT"],"permissions":{"files":"Loading source livery images"},"tags":["Material"]},{"id":"optiploy","schema_version":"1.0.0","name":"OptiPloy: Rig Spawner","version":"1.8.2","tagline":"Improve your workflow with smarter linking tools","archive_hash":"sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956","archive_size":41364,"archive_url":"https://extensions.blender.org/download/sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956/add-on-optiploy-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/optiploy/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and save .blend and folder entries"},"tags":["Pipeline","Animation","Rigging","Import-Export"]},{"id":"io_scene_mvr","schema_version":"1.0.0","name":"Scene MVR (.mvr) and GDTF (.gdtf)","version":"1.5.0","tagline":"My Virtual Rig and General Device Type Format","archive_hash":"sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9","archive_size":296414,"archive_url":"https://extensions.blender.org/download/sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9/add-on-io-scene-mvr-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-mvr/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"General Device Type Format and My Virtual Rig files"},"tags":["Import-Export","Scene","Lighting","Tracking","Rigging"]},{"id":"CV_Filter_Channels","schema_version":"1.0.0","name":"Filter_Channels","version":"1.0.8","tagline":"Filter channels in Graph Editor for animation","archive_hash":"sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2","archive_size":15830,"archive_url":"https://extensions.blender.org/download/sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2/add-on-cv-filter-channels-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cv-filter-channels/","maintainer":"Carles-V","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"right_mouse_navigation","schema_version":"1.0.0","name":"Right Mouse Navigation","version":"2.8.0","tagline":"Game Engine Movement and Menus","archive_hash":"sha256:9974909656bb82cb599949b93df47cabf0b174cd727504254e35fc08a36e222d","archive_size":2200146,"archive_url":"https://extensions.blender.org/download/sha256:9974909656bb82cb599949b93df47cabf0b174cd727504254e35fc08a36e222d/add-on-right-mouse-navigation-v2.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/right-mouse-navigation/","maintainer":"SpectralVectors","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Node","User Interface"]},{"id":"texel_density_checker","schema_version":"1.0.0","name":"Texel Density Checker","version":"2025.1.2","tagline":"Toolset for working with Texel Density","archive_hash":"sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35","archive_size":48357,"archive_url":"https://extensions.blender.org/download/sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35/add-on-texel-density-checker-v2025.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texel-density-checker/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","UV"]},{"id":"simple_renaming_panel","schema_version":"1.0.0","name":"Simple Renaming","version":"2.1.4","tagline":"Effortlessly rename multiple objects with this simple addon","archive_hash":"sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5","archive_size":46786,"archive_url":"https://extensions.blender.org/download/sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5/add-on-simple-renaming-panel-v2.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-renaming-panel/","maintainer":"MatthiasPatscheider","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Scene","User Interface"]},{"id":"auto_switch_theme","schema_version":"1.0.0","name":"Auto Switch Theme","version":"1.0.1","tagline":"Set light and dark themes based on your system appearance","archive_hash":"sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1","archive_size":11020,"archive_url":"https://extensions.blender.org/download/sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1/add-on-auto-switch-theme-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-switch-theme/","maintainer":"pablovazquez","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"ik_fk_snapping_tool","schema_version":"1.0.0","name":"IK-FK Snapping Tool","version":"3.0.3","tagline":"Tools to perform IK to FK and FK to IK snapping","archive_hash":"sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd","archive_size":19058,"archive_url":"https://extensions.blender.org/download/sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd/add-on-ik-fk-snapping-tool-v3.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ik-fk-snapping-tool/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"macos_dark_theme","schema_version":"1.0.0","name":"MacOS Dark Theme","version":"2.0.1","tagline":"The MacOS interface style in Blender","archive_hash":"sha256:5a2b3a93e7d4aad0a6adb3e52f382007e292af49730e5335f018b11c3cfdd4f3","archive_size":17990,"archive_url":"https://extensions.blender.org/download/sha256:5a2b3a93e7d4aad0a6adb3e52f382007e292af49730e5335f018b11c3cfdd4f3/theme-macos-dark-theme-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/macos-dark-theme/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"openvat","schema_version":"1.0.0","name":"OpenVAT","version":"1.1.0","tagline":"Encode and preview vertex animation textures","archive_hash":"sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1","archive_size":277888,"archive_url":"https://extensions.blender.org/download/sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1/add-on-openvat-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/openvat/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"]},{"id":"align2custom","schema_version":"1.0.0","name":"Align 2 Custom","version":"2.1.2","tagline":"Align 3D View to custom orientation or 3D cursor","archive_hash":"sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856","archive_size":17939,"archive_url":"https://extensions.blender.org/download/sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856/add-on-align2custom-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align2custom/","maintainer":"fdaubine","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View"]},{"id":"import_mixamo_root_motion","schema_version":"1.0.0","name":"Import Mixamo - Root Motion","version":"1.0.4","tagline":"Batch Import Fbx (Mixamo) And Apply Root Motion","archive_hash":"sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898","archive_size":23759,"archive_url":"https://extensions.blender.org/download/sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898/add-on-import-mixamo-root-motion-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/import-mixamo-root-motion/","maintainer":"DevilMayCry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import FBX from disk"},"tags":["Import-Export"]},{"id":"Quick_Rigid","schema_version":"1.0.0","name":"Quick Rigid","version":"1.2.1","tagline":"Easy access to the most used rigid body settings","archive_hash":"sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb","archive_size":1229239,"archive_url":"https://extensions.blender.org/download/sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb/add-on-quick-rigid-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-rigid/","maintainer":"nova3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Physics","Object"]},{"id":"geonode_shapekeys","schema_version":"1.0.0","name":"GeoNode Shape Keys","version":"1.0.0","tagline":"Sculpt on linked animated characters","archive_hash":"sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c","archive_size":220787,"archive_url":"https://extensions.blender.org/download/sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c/add-on-geonode-shapekeys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-shapekeys/","maintainer":"Mets","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"To load the necessary GeoNodes from its .blend file"},"tags":["Rigging"]},{"id":"mesh_mesh_align_plus","schema_version":"1.0.0","name":"Mesh Align Plus","version":"1.1.0-rc.1","tagline":"Move/align mesh parts+objects based on scene geometry/metrics","archive_hash":"sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719","archive_size":90285,"archive_url":"https://extensions.blender.org/download/sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719/add-on-mesh-mesh-align-plus-v1.1.0-rc.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-mesh-align-plus/","maintainer":"BitByte","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Mesh","Modeling","Object","User Interface"]},{"id":"theme_Houdini","schema_version":"1.0.0","name":"Houdini","version":"1.3.0","tagline":"Theme Inspired By SideFX Houdini","archive_hash":"sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9","archive_size":5502,"archive_url":"https://extensions.blender.org/download/sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9/theme-theme-houdini-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-houdini/","maintainer":"rmantdtg","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"mio3_copy_weight","schema_version":"1.0.0","name":"Mio3 Copy Weight","version":"1.1.0","tagline":"Copies weights of selected vertices across objects","archive_hash":"sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e","archive_size":15521,"archive_url":"https://extensions.blender.org/download/sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e/add-on-mio3-copy-weight-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-copy-weight/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"whispering_ripples","schema_version":"1.0.0","name":"Whispering Ripples","version":"1.3.0","tagline":"In the whisper of the night, ripples of creativity flow freely","archive_hash":"sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1","archive_size":6168,"archive_url":"https://extensions.blender.org/download/sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1/theme-whispering-ripples-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/whispering-ripples/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"sequenced_bake","schema_version":"1.0.0","name":"Sequenced Bake","version":"1.1.2","tagline":"Tools for baking material sequences and generating sprite sheets","archive_hash":"sha256:917f041e203e21f2bdfe94fe45f954102fafcd8383092f1e19fa58b0cc63a5e9","archive_size":36274,"archive_url":"https://extensions.blender.org/download/sha256:917f041e203e21f2bdfe94fe45f954102fafcd8383092f1e19fa58b0cc63a5e9/add-on-sequenced-bake-v1.1.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sequenced-bake/","maintainer":"Anthony-OConnell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Saving and opening image files"},"tags":["Material","Bake","Node"]},{"id":"quick_menu","schema_version":"1.0.0","name":"QuickMenu","version":"2.0.0","tagline":"Quick-Add/Mod & Quick-Cam","archive_hash":"sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2","archive_size":17449,"archive_url":"https://extensions.blender.org/download/sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2/add-on-quick-menu-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-menu/","maintainer":"QiuMu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"auto_track","schema_version":"1.0.0","name":"Auto-tracking","version":"1.0.0","tagline":"VFX motion tracking automation","archive_hash":"sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d","archive_size":3589,"archive_url":"https://extensions.blender.org/download/sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d/add-on-auto-track-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track/","maintainer":"mcd1992","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"snap_bisect","schema_version":"1.0.0","name":"Snap Bisect","version":"1.0.6","tagline":"Bisect operator with snapping to vertices or edge midpoints","archive_hash":"sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a","archive_size":3851,"archive_url":"https://extensions.blender.org/download/sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a/add-on-snap-bisect-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-bisect/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"shape_key_swapper_extension","schema_version":"1.0.0","name":"ShapeKeySwapper","version":"1.0.3","tagline":"Swap vertex positions between 0 and 1 of the active shape key","archive_hash":"sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0","archive_size":1941,"archive_url":"https://extensions.blender.org/download/sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0/add-on-shape-key-swapper-extension-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-swapper-extension/","maintainer":"Maro3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"passpartout_slider","schema_version":"1.0.0","name":"Passpartout Slider","version":"1.0.0","tagline":"Let's you control active camera Passpartout by pressing P","archive_hash":"sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21","archive_size":1819,"archive_url":"https://extensions.blender.org/download/sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21/add-on-passpartout-slider-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/passpartout-slider/","maintainer":"Costa","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Professional_theme","schema_version":"1.0.0","name":"Professional","version":"1.0.1","tagline":"Refined dark theme for professional use","archive_hash":"sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9","archive_size":36987,"archive_url":"https://extensions.blender.org/download/sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9/theme-professional-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/professional-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Piano_White_theme","schema_version":"1.0.0","name":"Piano_White","version":"1.0.2","tagline":"Elegant piano-inspired light theme","archive_hash":"sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d","archive_size":36289,"archive_url":"https://extensions.blender.org/download/sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d/theme-piano-white-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/piano-white-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Pastel_Pink_theme","schema_version":"1.0.0","name":"Pastel_Pink","version":"1.0.0","tagline":"Bright and poppy pastel pink Blender theme","archive_hash":"sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae","archive_size":36506,"archive_url":"https://extensions.blender.org/download/sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae/theme-pastel-pink-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/pastel-pink-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Midnight_theme","schema_version":"1.0.0","name":"Midnight","version":"1.0.1","tagline":"Midnight blue dark theme","archive_hash":"sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c","archive_size":36944,"archive_url":"https://extensions.blender.org/download/sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c/theme-midnight-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/midnight-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Metaseq_theme","schema_version":"1.0.0","name":"Metaseq","version":"1.0.1","tagline":"Light Metasequoia-style Blender theme","archive_hash":"sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c","archive_size":36310,"archive_url":"https://extensions.blender.org/download/sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c/theme-metaseq-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Maya2024_theme","schema_version":"1.0.0","name":"Maya2024","version":"1.0.1","tagline":"Maya-inspired Blender theme","archive_hash":"sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5","archive_size":36471,"archive_url":"https://extensions.blender.org/download/sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5/theme-maya2024-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/maya2024-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Graphite_theme","schema_version":"1.0.0","name":"Graphite","version":"1.0.2","tagline":"Dark cool blue-tinted graphite theme","archive_hash":"sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40","archive_size":36964,"archive_url":"https://extensions.blender.org/download/sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40/theme-graphite-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/graphite-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Emerald_theme","schema_version":"1.0.0","name":"Emerald","version":"1.0.1","tagline":"Cyber-style green theme","archive_hash":"sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d","archive_size":36939,"archive_url":"https://extensions.blender.org/download/sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d/theme-emerald-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/emerald-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Choco_Mint_theme","schema_version":"1.0.0","name":"Choco_Mint","version":"1.0.1","tagline":"Sweet and cool choco mint ice cream theme","archive_hash":"sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a","archive_size":36494,"archive_url":"https://extensions.blender.org/download/sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a/theme-choco-mint-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/choco-mint-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"keyframe_tools_extension","schema_version":"1.0.0","name":"Keyframe Tools","version":"1.0.7","tagline":"A set of tools for inserting, deleting, and moving keyframes","archive_hash":"sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e","archive_size":11009,"archive_url":"https://extensions.blender.org/download/sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e/add-on-keyframe-tools-extension-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-tools-extension/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"omUlete","schema_version":"1.0.0","name":"omUlete","version":"0.98.4","tagline":"A stand-alone exporter for the Panda3D .egg format","archive_hash":"sha256:f66d9695a47dd27cf943ec3d483c6a8192b7a78a9f555410e712713b6567dcbe","archive_size":32752,"archive_url":"https://extensions.blender.org/download/sha256:f66d9695a47dd27cf943ec3d483c6a8192b7a78a9f555410e712713b6567dcbe/add-on-omulete-v0.98.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/omulete/","maintainer":"Jackson-Sutherland","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"save exported egg files"},"tags":["Import-Export","Game Engine"]},{"id":"custom_output_path","schema_version":"1.0.0","name":"Custom Output Path","version":"1.1.7","tagline":"Customize file output paths with placeholders","archive_hash":"sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc","archive_size":23227,"archive_url":"https://extensions.blender.org/download/sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc/add-on-custom-output-path-v1.1.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/custom-output-path/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Render"]},{"id":"render_preset","schema_version":"1.0.0","name":"Render Preset","version":"1.3.4","tagline":"Create and use render presets","archive_hash":"sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3","archive_size":74565,"archive_url":"https://extensions.blender.org/download/sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3/add-on-render-preset-v1.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-preset/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files in a user-defined location"},"tags":["Render","Pipeline"]},{"id":"mesh_maze","schema_version":"1.0.0","name":"Maze any Mesh","version":"1.2.2","tagline":"Convert any mesh to a maze pattern","archive_hash":"sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2","archive_size":18705,"archive_url":"https://extensions.blender.org/download/sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2/add-on-mesh-maze-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-maze/","maintainer":"elfnorcat","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Amethyst_theme","schema_version":"1.0.0","name":"Amethyst","version":"1.0.2","tagline":"Cyberpunk-inspired purple theme","archive_hash":"sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f","archive_size":36951,"archive_url":"https://extensions.blender.org/download/sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f/theme-amethyst-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/amethyst-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"NodePie","schema_version":"1.0.0","name":"Node Pie","version":"1.2.51","tagline":"Add nodes faster with a pie menu","archive_hash":"sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36","archive_size":414208,"archive_url":"https://extensions.blender.org/download/sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36/add-on-nodepie-v1.2.51.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nodepie/","maintainer":"Strike_Digital","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing config files"},"tags":["User Interface","Node"]},{"id":"drag_and_drop_support","schema_version":"1.0.0","name":"Drag and Drop Support","version":"1.3.0","tagline":"Support and improve drag and drop imports in Blender","archive_hash":"sha256:ffca1b51dec3b369d4550b7890bdcfe83ca5e33fbf8b0f77c6feb777640a0980","archive_size":29508,"archive_url":"https://extensions.blender.org/download/sha256:ffca1b51dec3b369d4550b7890bdcfe83ca5e33fbf8b0f77c6feb777640a0980/add-on-drag-and-drop-support-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/drag-and-drop-support/","maintainer":"Natsune-Mochizuki","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import models from the disk"},"tags":["3D View","Import-Export"]},{"id":"deep_gray_something","schema_version":"1.0.0","name":"Deep Gray Something","version":"1.0.1","tagline":"Blender 5 dark theme with blue and green selection highlights","archive_hash":"sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1","archive_size":6009,"archive_url":"https://extensions.blender.org/download/sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1/theme-deep-gray-something-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-gray-something/","maintainer":"blanchsb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast","Accessibility"]},{"id":"matbatchtools","schema_version":"1.0.0","name":"Material Batch Tools","version":"2.3.2","tagline":"Quick batch automation of common material tasks","archive_hash":"sha256:2e401a8e2ad6de13a53c7a9b751d6276cb02b9d9cd1e027d2ff48cd58870a08f","archive_size":35616,"archive_url":"https://extensions.blender.org/download/sha256:2e401a8e2ad6de13a53c7a9b751d6276cb02b9d9cd1e027d2ff48cd58870a08f/add-on-matbatchtools-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matbatchtools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"sourceenginecollisiontools","schema_version":"1.0.0","name":"Source Engine Collision Tools","version":"3.1.1","tagline":"Generate & optimize collision models for use in Source Engine","archive_hash":"sha256:cd0beb8c9123274c81dfcad4f43ae3e29cc2efafd7a83533fc1ee370593fcf69","archive_size":68537,"archive_url":"https://extensions.blender.org/download/sha256:cd0beb8c9123274c81dfcad4f43ae3e29cc2efafd7a83533fc1ee370593fcf69/add-on-sourceenginecollisiontools-v3.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sourceenginecollisiontools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export collision-related QC and VMF files"},"tags":["Mesh","Object","Game Engine"]},{"id":"Key_Ops_Toolkit","schema_version":"1.0.0","name":"Key Ops: Toolkit","version":"0.2.1985","tagline":"Industri Standard Tools & Shortcuts to Speed Up Blender Workflow","archive_hash":"sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40","archive_size":201205,"archive_url":"https://extensions.blender.org/download/sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40/add-on-key-ops-toolkit-v0.2.1985.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/key-ops-toolkit/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export/Import .obj files and use of temp folder"},"tags":["Modeling","Mesh","Object","UV","3D View"]},{"id":"hot_node","schema_version":"1.0.0","name":"Hot Node","version":"1.2.1","tagline":"Add nodes like adding node","archive_hash":"sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4","archive_size":113483,"archive_url":"https://extensions.blender.org/download/sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4/add-on-hot-node-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hot-node/","maintainer":"Trantor","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access file system for storing custom nodes"},"tags":["Node","Geometry Nodes","Material"]},{"id":"ZenUVChecker","schema_version":"1.0.0","name":"Zen UV Checker","version":"1.4.12","tagline":"Check the state of UVs on the model easily with Checker Textures","archive_hash":"sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672","archive_size":2989286,"archive_url":"https://extensions.blender.org/download/sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672/add-on-zenuvchecker-v1.4.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/zenuvchecker/","maintainer":"Sergey_Tyapkin","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to folders for importing Checker Textures"},"tags":["UV"]},{"id":"improved_node_search","schema_version":"1.0.0","name":"Improved Node Search","version":"1.0.5","tagline":"Navigate your node tree faster via more node search options","archive_hash":"sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4","archive_size":11647,"archive_url":"https://extensions.blender.org/download/sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4/add-on-improved-node-search-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/improved-node-search/","maintainer":"Griperis","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"noise_nodes","schema_version":"1.0.0","name":"Noise Nodes","version":"0.7.0","tagline":"Advance Noise Nodes For blender","archive_hash":"sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc","archive_size":1482042,"archive_url":"https://extensions.blender.org/download/sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc/add-on-noise-nodes-v0.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/noise-nodes/","maintainer":"Haseeb-Ahmed-3","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"Modifier_List_Fork","schema_version":"1.0.0","name":"Modifier List","version":"1.9.88","tagline":"Enhanced Modifier UI/Features, now with Edit Mesh Modifier","archive_hash":"sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55","archive_size":164500,"archive_url":"https://extensions.blender.org/download/sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55/add-on-modifier-list-fork-v1.9.88.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifier-list-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save Add-on Prefrences"},"tags":["Modeling","User Interface"]},{"id":"PolyQuilt_Fork","schema_version":"1.0.0","name":"PolyQuilt Retopology Tool","version":"1.45.9","tagline":"Retopology Tool for Blender","archive_hash":"sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5","archive_size":179729,"archive_url":"https://extensions.blender.org/download/sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5/add-on-polyquilt-fork-v1.45.9.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/polyquilt-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"clear_filepaths","schema_version":"1.0.0","name":"Clear Filepaths","version":"1.1.2","tagline":"Removes personal filepaths from your .blend file","archive_hash":"sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9","archive_size":4114,"archive_url":"https://extensions.blender.org/download/sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9/add-on-clear-filepaths-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clear-filepaths/","maintainer":"FlailingFog","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Saves a copy of a .blend file without filepaths"},"platforms":["windows-x64"],"tags":["System"]},{"id":"onyx","schema_version":"1.0.0","name":"Onyx","version":"1.1.0","tagline":"A minimalistic dark theme","archive_hash":"sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6","archive_size":5177,"archive_url":"https://extensions.blender.org/download/sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6/theme-onyx-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/onyx/","maintainer":"Aeraglyx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"incremental_auto_save","schema_version":"1.0.0","name":"Incremental Auto-Save","version":"1.1.1","tagline":"Improvements to Blender's Autosave","archive_hash":"sha256:f97c7e93f3ba3f7f6d8cbe3e0dbc911bb5d0011df70841e4762f80bea70e1cee","archive_size":74530,"archive_url":"https://extensions.blender.org/download/sha256:f97c7e93f3ba3f7f6d8cbe3e0dbc911bb5d0011df70841e4762f80bea70e1cee/add-on-incremental-auto-save-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/incremental-auto-save/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save preferences & .blends in chosen directories"},"tags":["System"]},{"id":"tiny_backup","schema_version":"1.0.0","name":"Tiny Backup","version":"1.0.2","tagline":"A minimalistic backup solution","archive_hash":"sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc","archive_size":13763,"archive_url":"https://extensions.blender.org/download/sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc/add-on-tiny-backup-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tiny-backup/","maintainer":"Thane5","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Save backups on disk"},"tags":["System"]},{"id":"Randomize_Bones_Pose","schema_version":"1.0.0","name":"Randomize_Bones_Pose","version":"2.0.0","tagline":"Randomize_Bones_Pose","archive_hash":"sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4","archive_size":16685,"archive_url":"https://extensions.blender.org/download/sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4/add-on-randomize-bones-pose-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-bones-pose/","maintainer":"IZ.MdVerz","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"omniscient","schema_version":"1.0.0","name":"Omniscient Importer","version":"2.3.5","tagline":"Automated scene setup for shots recorded with Omniscient iOS app","archive_hash":"sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e","archive_size":119480,"archive_url":"https://extensions.blender.org/download/sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e/add-on-omniscient-v2.3.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omniscient/","maintainer":"Omniscient","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .omni file from disk"},"tags":["Tracking","Import-Export","Camera","Compositing","Animation","Mesh","Scene"]},{"id":"pose_shape_keys","schema_version":"1.0.0","name":"Pose Shape Keys","version":"1.0.0","tagline":"Preserve your shape keys through weight changes, and much more","archive_hash":"sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6","archive_size":35835,"archive_url":"https://extensions.blender.org/download/sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6/add-on-pose-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pose-shape-keys/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"select_panel_xdanic","schema_version":"1.0.0","name":"Select panel","version":"0.1.5","tagline":"All selections and more under a panel","archive_hash":"sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793","archive_size":4058,"archive_url":"https://extensions.blender.org/download/sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793/add-on-select-panel-xdanic-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-panel-xdanic/","maintainer":"xdanic","license":["SPDX:GPL-2.0"],"tags":["User Interface"]},{"id":"theme_XP_AliVe","schema_version":"1.0.0","name":"XP_AliVe","version":"1.0.3","tagline":"Blender theme inspired by 2000s","archive_hash":"sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a","archive_size":5978,"archive_url":"https://extensions.blender.org/download/sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a/theme-theme-xp-alive-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xp-alive/","maintainer":"AliVe","license":["SPDX:GPL-2.0-or-later"],"tags":["Colorful","High Contrast","Inspired By","Accessibility"]},{"id":"MustardUI","schema_version":"1.0.0","name":"MustardUI","version":"2026.2.1","tagline":"Easy-to-use UI for human characters","archive_hash":"sha256:c22b64c388d66d3719dce4a2edee1f3f3a39e0f295364da95b68eedb659e085c","archive_size":436947,"archive_url":"https://extensions.blender.org/download/sha256:c22b64c388d66d3719dce4a2edee1f3f3a39e0f295364da95b68eedb659e085c/add-on-mustardui-v2026.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mustardui/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export templates from/to disk"},"tags":["User Interface"]},{"id":"Half_Knife","schema_version":"1.0.0","name":"Half Knife","version":"1.3.85","tagline":"Optimized for fast workflow knife tool for Blender","archive_hash":"sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83","archive_size":15498,"archive_url":"https://extensions.blender.org/download/sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83/add-on-half-knife-v1.3.85.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/half-knife/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"node_quick_maths","schema_version":"1.0.0","name":"Node Quick Maths","version":"1.2.2","tagline":"A fast way to make long math chains in node editors","archive_hash":"sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac","archive_size":22432,"archive_url":"https://extensions.blender.org/download/sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac/add-on-node-quick-maths-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-quick-maths/","maintainer":"Zeptofine","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"easyweight","schema_version":"1.0.0","name":"EasyWeight","version":"1.0.9","tagline":"Weight Painting Workflow Boosters","archive_hash":"sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0","archive_size":42626,"archive_url":"https://extensions.blender.org/download/sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0/add-on-easyweight-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easyweight/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"set_smooth_group","schema_version":"1.0.0","name":"Set Smooth Group","version":"1.1.0","tagline":"Simplify setting smooth groups with sharp edges","archive_hash":"sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b","archive_size":17228,"archive_url":"https://extensions.blender.org/download/sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b/add-on-set-smooth-group-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-smooth-group/","maintainer":"VIktor-Kom","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"toggle_socket_visibility","schema_version":"1.0.0","name":"Toggle Socket Visibility","version":"1.0.0","tagline":"Control which node sockets are visible or not via panel/pop-up","archive_hash":"sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f","archive_size":7638,"archive_url":"https://extensions.blender.org/download/sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f/add-on-toggle-socket-visibility-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-socket-visibility/","maintainer":"quackarooni","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"strange_attractors","schema_version":"1.0.0","name":"Strange Attractors","version":"2.1.0","tagline":"Add Strange Attractor curves","archive_hash":"sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06/add-on-strange-attractors-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/strange-attractors/","maintainer":"7bitretro","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"k_tools_view_sync","schema_version":"1.0.0","name":"Sync | Lock Viewport","version":"2.7.0","tagline":"Sync or Lock multiple viewports at once in real-time","archive_hash":"sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf","archive_size":46836,"archive_url":"https://extensions.blender.org/download/sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf/add-on-k-tools-view-sync-v2.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-view-sync/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"universal_multi_importer","schema_version":"1.0.0","name":"Universal Multi Importer","version":"2.3.3","tagline":"Batch Import many file formats at once, Batch process them","archive_hash":"sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599","archive_size":118110,"archive_url":"https://extensions.blender.org/download/sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599/add-on-universal-multi-importer-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/universal-multi-importer/","maintainer":"Tilapiatsu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Files from disk, save presets to disk"},"tags":["Import-Export","Pipeline"]},{"id":"BAM","schema_version":"1.0.0","name":"[BAM] AutoMat","version":"1.2.1","tagline":"Batch creation of materials from textures folder","archive_hash":"sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649","archive_size":563501,"archive_url":"https://extensions.blender.org/download/sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649/add-on-bam-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bam/","maintainer":"AlexeyHRDesign","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Import-Export"]},{"id":"action_to_scene_range","schema_version":"1.0.0","name":"Action to Scene Range","version":"1.7.0","tagline":"When switching Actions, automatically set the Scene Frame Range","archive_hash":"sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf","archive_size":2520,"archive_url":"https://extensions.blender.org/download/sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf/add-on-action-to-scene-range-v1.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/action-to-scene-range/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"face_set_operators","schema_version":"1.0.0","name":"Face Set Operators","version":"1.0.0","tagline":"Convert sculpt mode attributes into anything you need","archive_hash":"sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6","archive_size":4650,"archive_url":"https://extensions.blender.org/download/sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6/add-on-face-set-operators-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-set-operators/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt","Mesh"]},{"id":"my_best_pie_menu_ever","schema_version":"1.0.0","name":"My Best Pie Menu Ever","version":"2.9.1","tagline":"Quick access to the functions you need","archive_hash":"sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c","archive_size":84510,"archive_url":"https://extensions.blender.org/download/sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c/add-on-my-best-pie-menu-ever-v2.9.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/my-best-pie-menu-ever/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["3D View","User Interface"]},{"id":"mmd_tools","schema_version":"1.0.0","name":"MMD Tools","version":"4.5.8","tagline":"Utility tools for MMD model editing","archive_hash":"sha256:52ecc77ffa9157f6c7149020ce349b5f45b20e8c45468248af6d15687785fda8","archive_size":746979,"archive_url":"https://extensions.blender.org/download/sha256:52ecc77ffa9157f6c7149020ce349b5f45b20e8c45468248af6d15687785fda8/add-on-mmd-tools-v4.5.8.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/mmd-tools/","maintainer":"MMD","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PMX/PMD/VMD/VPD from/to disk"},"tags":["3D View","Camera","Import-Export","Material","Mesh","Object","Physics"]},{"id":"bioxelnodes","schema_version":"1.0.0","name":"Bioxel Nodes","version":"1.0.9","tagline":"For scientific volumetric data visualization in Blender","archive_hash":"sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620","archive_size":28047296,"archive_url":"https://extensions.blender.org/download/sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620/add-on-bioxelnodes-v1.0.9-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bioxelnodes/","maintainer":"icrdr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export volume data from/to disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Render","Import-Export"]},{"id":"molecularnodes","schema_version":"1.0.0","name":"Molecular Nodes","version":"4.5.10","tagline":"A toolbox for molecular import and animation in Blender","archive_hash":"sha256:63b867c8e187308ba03a0b00baeb9c32938da460017cb9ee1446c69cd66ce8b9","archive_size":132883479,"archive_url":"https://extensions.blender.org/download/sha256:63b867c8e187308ba03a0b00baeb9c32938da460017cb9ee1446c69cd66ce8b9/add-on-molecularnodes-v4.5.10-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/molecularnodes/","maintainer":"bradyajohnston","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk and caching downloads","network":"Downloading structural data from the PDB and AFPDB"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"io_scene_psk_psa","schema_version":"1.0.0","name":"Unreal PSK/PSA (.psk/.psa)","version":"9.1.1","tagline":"Import and export PSK and PSA files used in Unreal Engine","archive_hash":"sha256:14a637bb9da65b67a26f0ca3e6e490f2a855a6f5e38be103adcd69ca316793a1","archive_size":80472,"archive_url":"https://extensions.blender.org/download/sha256:14a637bb9da65b67a26f0ca3e6e490f2a855a6f5e38be103adcd69ca316793a1/add-on-io-scene-psk-psa-v9.1.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-scene-psk-psa/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write PSK and PSA files from and to disk"},"tags":["Game Engine","Import-Export"]},{"id":"theme_Plasticity","schema_version":"1.0.0","name":"Plasticity","version":"2.0.0","tagline":"Theme Inspired By Plasticity app","archive_hash":"sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351","archive_size":6395,"archive_url":"https://extensions.blender.org/download/sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351/theme-theme-plasticity-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-plasticity/","maintainer":"SHEK","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast","Inspired By","Accessibility"]},{"id":"open_stage_blender_dmx","schema_version":"1.0.0","name":"DMX","version":"2.1.6","tagline":"Visualization & programming with GDTF&MVR, OSC, PSN, Networking","archive_hash":"sha256:034899c2f1d9e8d08ba6012005a2da4f37bcd5a09a4605e81034f8b046dc4ef8","archive_size":2002292,"archive_url":"https://extensions.blender.org/download/sha256:034899c2f1d9e8d08ba6012005a2da4f37bcd5a09a4605e81034f8b046dc4ef8/add-on-open-stage-blender-dmx-v2.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-stage-blender-dmx/","maintainer":"Sunova","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import GDTF devices. Import/Export MVR scenes and project data","network":"For GDTF Share, sACN, Art-Net, OSC, PSN, MVR-xchange"},"tags":["Lighting","Animation","Scene","Import-Export","Rigging","Tracking","Sequencer","3D View","Camera"]},{"id":"maze_generator","schema_version":"1.0.0","name":"Maze Generator","version":"0.2.5","tagline":"A Maze generator extension for Blender","archive_hash":"sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030","archive_size":22231,"archive_url":"https://extensions.blender.org/download/sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030/add-on-maze-generator-v0.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maze-generator/","maintainer":"Leeroy-Majors","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"node_group_presets","schema_version":"1.0.0","name":"Node Group Presets","version":"0.8.0","tagline":"Save Node Group values as presets","archive_hash":"sha256:201454f4c0a32eed158502d13a0887141aaf4494647a22b4264802f94272b5a0","archive_size":27634,"archive_url":"https://extensions.blender.org/download/sha256:201454f4c0a32eed158502d13a0887141aaf4494647a22b4264802f94272b5a0/add-on-node-group-presets-v0.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-presets/","maintainer":"juaum","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy/paste presets between nodedroups and across files"},"tags":["Geometry Nodes","Material","Node"]},{"id":"booltron","schema_version":"1.0.0","name":"Booltron","version":"3.3.2","tagline":"Super add-on for superfast booleans","archive_hash":"sha256:f353beedfc46a1f321e1abc02a0294ebdfc9fb2c735d9bb0df5307b2701127b6","archive_size":166040,"archive_url":"https://extensions.blender.org/download/sha256:f353beedfc46a1f321e1abc02a0294ebdfc9fb2c735d9bb0df5307b2701127b6/add-on-booltron-v3.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/booltron/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"Dark_Pro","schema_version":"1.0.0","name":"Dark Pro","version":"2.0.2","tagline":"Just a little darker","archive_hash":"sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b","archive_size":5431,"archive_url":"https://extensions.blender.org/download/sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b/theme-dark-pro-v2.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/dark-pro/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"quick_groups","schema_version":"1.0.0","name":"Quick Groups (Instances)","version":"1.0.3","tagline":"Group objects with Ctrl+G using instances","archive_hash":"sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c","archive_size":6862,"archive_url":"https://extensions.blender.org/download/sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c/add-on-quick-groups-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-groups/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling"]},{"id":"t3d_gn_presets","schema_version":"1.0.0","name":"T3D GN Presets","version":"1.6.0","tagline":"A versatile collection of useful node groups for Geometry Nodes","archive_hash":"sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd","archive_size":835788,"archive_url":"https://extensions.blender.org/download/sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd/add-on-t3d-gn-presets-v1.6.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/t3d-gn-presets/","maintainer":"Tams_3d","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Append node-groups from source file"},"tags":["Geometry Nodes"]},{"id":"per_camera_resolution","schema_version":"1.0.0","name":"Per-Camera Resolution","version":"2.3.2","tagline":"Every camera should have its resolution","archive_hash":"sha256:48cecdfc004417c6d0dee452657d0822dd96ea3897e159d5544d9819f3e54b8f","archive_size":11199,"archive_url":"https://extensions.blender.org/download/sha256:48cecdfc004417c6d0dee452657d0822dd96ea3897e159d5544d9819f3e54b8f/add-on-per-camera-resolution-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/per-camera-resolution/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","Camera"]},{"id":"synchronize_workspaces","schema_version":"1.0.0","name":"Synchronize Workspaces","version":"1.14.0","tagline":"Synchronize 3D views between workspaces","archive_hash":"sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5","archive_size":3974,"archive_url":"https://extensions.blender.org/download/sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5/add-on-synchronize-workspaces-v1.14.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/synchronize-workspaces/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"grease_pencil_tool_wheel","schema_version":"1.0.0","name":"GP Tool Wheel","version":"1.0.11","tagline":"Extended pie menu for selecting Grease Pencil tools quickly","archive_hash":"sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6","archive_size":206402,"archive_url":"https://extensions.blender.org/download/sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6/add-on-grease-pencil-tool-wheel-v1.0.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tool-wheel/","maintainer":"SietseB","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Grease Pencil"]},{"id":"commotion","schema_version":"1.0.0","name":"Commotion","version":"2.5.0","tagline":"Animation offset tools for motion graphics","archive_hash":"sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb","archive_size":27868,"archive_url":"https://extensions.blender.org/download/sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb/add-on-commotion-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/commotion/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"find_bad_tracks","schema_version":"1.0.0","name":"Find Bad Tracks","version":"1.0.2","tagline":"Highlight motion tracks that move in suspicious directions","archive_hash":"sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8","archive_size":25067,"archive_url":"https://extensions.blender.org/download/sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8/add-on-find-bad-tracks-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/find-bad-tracks/","maintainer":"Walles","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"cloudrig","schema_version":"1.0.0","name":"CloudRig","version":"2.2.18","tagline":"Rig Generation & Rigging Workflow Tools","archive_hash":"sha256:3e82377a722e89608843957cecfe82a026f956c917786380d026656714382c73","archive_size":3309577,"archive_url":"https://extensions.blender.org/download/sha256:3e82377a722e89608843957cecfe82a026f956c917786380d026656714382c73/add-on-cloudrig-v2.2.18.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/cloudrig/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load widgets/metarigs/preferences from disk","clipboard":"Copy/paste Bone Collections between armatures"},"tags":["Rigging"]},{"id":"theme_drcl","schema_version":"1.0.0","name":"drcl","version":"1.0.3","tagline":"A variation of Dracula dark theme","archive_hash":"sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040","archive_size":4955,"archive_url":"https://extensions.blender.org/download/sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040/theme-theme-drcl-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-drcl/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"YB_Animator_Tool","schema_version":"1.0.0","name":"YB Animator Tool","version":"1.1.3","tagline":"export grease pencil layers as keyframes and CSV","archive_hash":"sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b","archive_size":5541,"archive_url":"https://extensions.blender.org/download/sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b/add-on-yb-animator-tool-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/yb-animator-tool/","maintainer":"YB_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Output CSV and sequence diagram"},"tags":["Grease Pencil","Animation","User Interface"]},{"id":"keymesh","schema_version":"1.0.0","name":"Keymesh","version":"2.3.2","tagline":"Create stop-motion animations by sculpting frame-by-frame","archive_hash":"sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a","archive_size":42763,"archive_url":"https://extensions.blender.org/download/sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a/add-on-keymesh-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keymesh/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store generated pose preview images and/or load them from disk"},"tags":["Animation","Sculpt","Mesh"]},{"id":"node_annotator","schema_version":"1.0.0","name":"Node Annotator","version":"0.4.2","tagline":"Easily create good documentation of your node trees","archive_hash":"sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef","archive_size":28721,"archive_url":"https://extensions.blender.org/download/sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef/add-on-node-annotator-v0.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-annotator/","maintainer":"FrankFirsching","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"theme_ps","schema_version":"1.0.0","name":"PS","version":"1.1.3","tagline":"Adobe Photoshop inspired light theme","archive_hash":"sha256:1b69c3dabcffcdd76b87ed15724dd2db995821823b72bdea8946c0709854cbc2","archive_size":5663,"archive_url":"https://extensions.blender.org/download/sha256:1b69c3dabcffcdd76b87ed15724dd2db995821823b72bdea8946c0709854cbc2/theme-theme-ps-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-ps/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Light"]},{"id":"toggle_language","schema_version":"1.0.0","name":"Toggle Language","version":"1.6.2","tagline":"One click to toggle UI between two languages","archive_hash":"sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe","archive_size":31213,"archive_url":"https://extensions.blender.org/download/sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe/add-on-toggle-language-v1.6.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-language/","maintainer":"del1a8dc50179276c0","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_lighting_environment","schema_version":"1.0.0","name":"QLE (Quick Lighting Environment)","version":"1.8.0","tagline":"Adds a Basic Lighting Setup to Your Blender Scene","archive_hash":"sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883","archive_size":105787,"archive_url":"https://extensions.blender.org/download/sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883/add-on-quick-lighting-environment-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-lighting-environment/","maintainer":"don1138","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"SB_path_actions","schema_version":"1.0.0","name":"Path Actions","version":"2.6.0","tagline":"Open blend folder in OS explorer, and more","archive_hash":"sha256:19bc2a56bd8ad64ddb1b4c2a82f5faec4af79b151aea66f50c6b47e33e0385b4","archive_size":42150,"archive_url":"https://extensions.blender.org/download/sha256:19bc2a56bd8ad64ddb1b4c2a82f5faec4af79b151aea66f50c6b47e33e0385b4/add-on-sb-path-actions-v2.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sb-path-actions/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open folders, List Blend files","clipboard":"Copy path to files"},"tags":["System","Development"]},{"id":"print3d_toolbox","schema_version":"1.0.0","name":"3D Print Toolbox","version":"1.3.2","tagline":"Utilities for 3D printing","archive_hash":"sha256:71545a4be21fc2a9d28ae8d810d2cfca1e37da1a5db2d4826f28883c69da20b8","archive_size":145816,"archive_url":"https://extensions.blender.org/download/sha256:71545a4be21fc2a9d28ae8d810d2cfca1e37da1a5db2d4826f28883c69da20b8/add-on-print3d-toolbox-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/print3d-toolbox/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export STL, PLY, OBJ files"},"tags":["Mesh"]},{"id":"green_olive","schema_version":"1.0.0","name":"Green Olive","version":"1.0.3","tagline":"A fine-tuned dark green theme","archive_hash":"sha256:c7544cc6ceb987628e3d7cbf49ac394cb9da92228673cebb1664aa2f0beb8cac","archive_size":5774,"archive_url":"https://extensions.blender.org/download/sha256:c7544cc6ceb987628e3d7cbf49ac394cb9da92228673cebb1664aa2f0beb8cac/theme-green-olive-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/green-olive/","maintainer":"Liuuzaki","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Accessibility"]},{"id":"fls_blcn","schema_version":"1.0.0","name":"Fast Language Switch","version":"0.0.5","tagline":"Fast change the language of the interface","archive_hash":"sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9","archive_size":2475,"archive_url":"https://extensions.blender.org/download/sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9/add-on-fls-blcn-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fls-blcn/","maintainer":"Kk","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"theme_xsi","schema_version":"1.0.0","name":"Softimage XSI","version":"5.0.0","tagline":"Community-made theme inspired by Softimage XSI","archive_hash":"sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443","archive_size":6273,"archive_url":"https://extensions.blender.org/download/sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443/theme-theme-xsi-v5.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xsi/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By"]},{"id":"theme_white","schema_version":"1.0.0","name":"White","version":"1.0.1","tagline":"Community-made theme","archive_hash":"sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0","archive_size":6242,"archive_url":"https://extensions.blender.org/download/sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0/theme-theme-white-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-white/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_print_friendly","schema_version":"1.0.0","name":"Print Friendly","version":"2.0.0","tagline":"Community-made theme optimized for printing","archive_hash":"sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24","archive_size":5585,"archive_url":"https://extensions.blender.org/download/sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24/theme-theme-print-friendly-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-print-friendly/","maintainer":"JasonvanGumster","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_minimal_dark","schema_version":"1.0.0","name":"Minimal Dark","version":"3.1.2","tagline":"A flat dark theme for Blender","archive_hash":"sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a","archive_size":7358,"archive_url":"https://extensions.blender.org/download/sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a/theme-theme-minimal-dark-v3.1.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-minimal-dark/","maintainer":"jlampel","license":["SPDX:GPL-2.0-or-later"]},{"id":"theme_maya","schema_version":"1.0.0","name":"Maya","version":"2.0.0","tagline":"Community-made theme inspired by Maya","archive_hash":"sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a","archive_size":5859,"archive_url":"https://extensions.blender.org/download/sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a/theme-theme-maya-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-maya/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"theme_deep_grey","schema_version":"1.0.0","name":"Deep Grey","version":"2.0.4","tagline":"A comfortable medium dark theme for Blender","archive_hash":"sha256:5ad9d7a6f9522a7319a43fc55255dc1d482d639d7228eacf3d8c52f42cd248bc","archive_size":5593,"archive_url":"https://extensions.blender.org/download/sha256:5ad9d7a6f9522a7319a43fc55255dc1d482d639d7228eacf3d8c52f42cd248bc/theme-theme-deep-grey-v2.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-deep-grey/","maintainer":"TheRedWaxPolice","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"skinify_rig","schema_version":"1.0.0","name":"Skinify Rig","version":"0.11.2","tagline":"Creates a mesh object from selected bones","archive_hash":"sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61","archive_size":6450,"archive_url":"https://extensions.blender.org/download/sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61/add-on-skinify-rig-v0.11.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skinify-rig/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"f2","schema_version":"1.0.0","name":"F2","version":"1.8.5","tagline":"Extends the 'Make Edge/Face' functionality","archive_hash":"sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c","archive_size":5505,"archive_url":"https://extensions.blender.org/download/sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c/add-on-f2-v1.8.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/f2/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"navigation","schema_version":"1.0.0","name":"3D Navigation","version":"1.3.0","tagline":"Navigate the 3D Viewport from the Sidebar","archive_hash":"sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed","archive_size":3238,"archive_url":"https://extensions.blender.org/download/sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed/add-on-navigation-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"amaranth","schema_version":"1.0.0","name":"Amaranth","version":"1.0.30","tagline":"A collection of tools to improve productivity","archive_hash":"sha256:93514320a854acaed6d481ecbcbe2feb9e990b6fcbca80f81b0c3d89dca5cb29","archive_size":46387,"archive_url":"https://extensions.blender.org/download/sha256:93514320a854acaed6d481ecbcbe2feb9e990b6fcbca80f81b0c3d89dca5cb29/add-on-amaranth-v1.0.30.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/amaranth/","maintainer":"pablovazquez","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render","Compositing","User Interface","Scene","Lighting"]},{"id":"math_vis_console","schema_version":"1.0.0","name":"Math Vis (Console)","version":"0.2.2","tagline":"Display console defined mathutils variables in the 3D view","archive_hash":"sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a","archive_size":6507,"archive_url":"https://extensions.blender.org/download/sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a/add-on-math-vis-console-v0.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/math-vis-console/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"auto_mirror","schema_version":"1.0.0","name":"Auto Mirror","version":"2.5.4","tagline":"Super fast cutting and mirroring for mesh","archive_hash":"sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7","archive_size":3571,"archive_url":"https://extensions.blender.org/download/sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7/add-on-auto-mirror-v2.5.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-mirror/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"looptools","schema_version":"1.0.0","name":"LoopTools","version":"4.7.7","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108","archive_size":30534,"archive_url":"https://extensions.blender.org/download/sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108/add-on-looptools-v4.7.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/looptools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"node_arrange","schema_version":"1.0.0","name":"Node Arrange","version":"1.10.1","tagline":"Arrange node trees with one click","archive_hash":"sha256:9f0d135a1041c361c1f06ea836cd40b87dfe255ae30ca696e49ea9164d3dd231","archive_size":1755733,"archive_url":"https://extensions.blender.org/download/sha256:9f0d135a1041c361c1f06ea836cd40b87dfe255ae30ca696e49ea9164d3dd231/add-on-node-arrange-v1.10.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-arrange/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"antlandscape","schema_version":"1.0.0","name":"A.N.T.Landscape","version":"0.2.0","tagline":"Another Noise Tool: Landscape and Displace","archive_hash":"sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0","archive_size":60899,"archive_url":"https://extensions.blender.org/download/sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0/add-on-antlandscape-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/antlandscape/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"material_library","schema_version":"1.0.0","name":"Material Library","version":"0.6.0","tagline":"Material Library VX","archive_hash":"sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019","archive_size":594898,"archive_url":"https://extensions.blender.org/download/sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019/add-on-material-library-v0.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-library/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Material"]},{"id":"copy_attributes_menu","schema_version":"1.0.0","name":"Copy Attributes Menu","version":"0.6.3","tagline":"Copy Attributes Menu","archive_hash":"sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478","archive_size":8270,"archive_url":"https://extensions.blender.org/download/sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478/add-on-copy-attributes-menu-v0.6.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-attributes-menu/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"material_utilities","schema_version":"1.0.0","name":"Material Utilities","version":"2.2.3","tagline":"Menu of material tools (assign, select..) in the 3D View","archive_hash":"sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739","archive_size":16895,"archive_url":"https://extensions.blender.org/download/sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739/add-on-material-utilities-v2.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-utilities/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"edit_linked_library","schema_version":"1.0.0","name":"Edit Linked Library","version":"0.9.2","tagline":"Allows editing of objects, collections, and node groups lin . . ","archive_hash":"sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234","archive_size":3575,"archive_url":"https://extensions.blender.org/download/sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234/add-on-edit-linked-library-v0.9.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-linked-library/","maintainer":"JasonvanGumster","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"simplify_curves_plus","schema_version":"1.0.0","name":"Simplify Curves+","version":"1.1.3","tagline":"Simplify Curves: 3dview, Dopesheet, Graph","archive_hash":"sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851","archive_size":5943,"archive_url":"https://extensions.blender.org/download/sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851/add-on-simplify-curves-plus-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simplify-curves-plus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"modifier_tools","schema_version":"1.0.0","name":"Modifier Tools","version":"0.2.7","tagline":"Modifiers Specials Show/Hide/Apply Selected","archive_hash":"sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a","archive_size":2718,"archive_url":"https://extensions.blender.org/download/sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a/add-on-modifier-tools-v0.2.7.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modifier-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"extra_mesh_objects","schema_version":"1.0.0","name":"Extra Mesh Objects","version":"0.4.0","tagline":"Add extra mesh object types","archive_hash":"sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61","archive_size":130665,"archive_url":"https://extensions.blender.org/download/sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61/add-on-extra-mesh-objects-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-mesh-objects/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"export_paper_model","schema_version":"1.0.0","name":"Export Paper Model","version":"1.4.2","tagline":"Export printable net of a Mesh object","archive_hash":"sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba","archive_size":35606,"archive_url":"https://extensions.blender.org/download/sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba/add-on-export-paper-model-v1.4.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-paper-model/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk"},"tags":["Import-Export"]},{"id":"precision_drawing_tools_pdt","schema_version":"1.0.0","name":"Precision Drawing Tools (PDT)","version":"1.5.3","tagline":"Precision Drawing Tools for Accurate Modelling","archive_hash":"sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266","archive_size":49495,"archive_url":"https://extensions.blender.org/download/sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266/add-on-precision-drawing-tools-pdt-v1.5.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/precision-drawing-tools-pdt/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"extra_curve_objectes","schema_version":"1.0.0","name":"Extra Curve Objects","version":"0.2.0","tagline":"Add extra curve object types","archive_hash":"sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909","archive_size":52956,"archive_url":"https://extensions.blender.org/download/sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909/add-on-extra-curve-objectes-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-curve-objectes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"tinycad_mesh_tools","schema_version":"1.0.0","name":"tinyCAD Mesh tools","version":"1.3.3","tagline":"tinyCAD Mesh tools Add-on","archive_hash":"sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6","archive_size":37134,"archive_url":"https://extensions.blender.org/download/sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6/add-on-tinycad-mesh-tools-v1.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tinycad-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"collection_manager","schema_version":"1.0.0","name":"Collection Manager","version":"2.24.11","tagline":"Manage collections and their objects","archive_hash":"sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5","archive_size":42496,"archive_url":"https://extensions.blender.org/download/sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5/add-on-collection-manager-v2.24.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-manager/","maintainer":"Imaginer","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"import_palettes","schema_version":"1.0.0","name":"Import Palettes","version":"1.0.5","tagline":"Import Palettes","archive_hash":"sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd","archive_size":4151,"archive_url":"https://extensions.blender.org/download/sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd/add-on-import-palettes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-palettes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"autodesk_3ds_format","schema_version":"1.0.0","name":"Autodesk 3D Studio (.3ds)","version":"3.0.1","tagline":"Import-Export 3DS scenes, objects, cameras, lights & animations","archive_hash":"sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9","archive_size":208325,"archive_url":"https://extensions.blender.org/download/sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9/add-on-autodesk-3ds-format-v3.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autodesk-3ds-format/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import-Export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"storypencil_storyboard_tools","schema_version":"1.0.0","name":"Storypencil - Storyboard Tools","version":"1.2.0","tagline":"Storyboard tools","archive_hash":"sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6","archive_size":20608,"archive_url":"https://extensions.blender.org/download/sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6/add-on-storypencil-storyboard-tools-v1.2.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/storypencil-storyboard-tools/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"object_color_rules","schema_version":"1.0.0","name":"Object Color Rules","version":"0.0.2","tagline":"Rules for assigning object color (for object & wireframe co . . ","archive_hash":"sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5","archive_size":4057,"archive_url":"https://extensions.blender.org/download/sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5/add-on-object-color-rules-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/object-color-rules/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"stored_views","schema_version":"1.0.0","name":"Stored Views","version":"0.4.0","tagline":"Save and restore views, pov, layers & display configs","archive_hash":"sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0","archive_size":24199,"archive_url":"https://extensions.blender.org/download/sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0/add-on-stored-views-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stored-views/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it stores/reads view presets"},"tags":["3D View"]},{"id":"cell_fracture","schema_version":"1.0.0","name":"Cell Fracture","version":"0.2.1","tagline":"Fractured Object Creation","archive_hash":"sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2","archive_size":9722,"archive_url":"https://extensions.blender.org/download/sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2/add-on-cell-fracture-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cell-fracture/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"import_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Import AutoCAD DXF Format (.dxf)","version":"0.9.10","tagline":"Import files in the Autocad DXF format (.dxf)","archive_hash":"sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3","archive_size":57092,"archive_url":"https://extensions.blender.org/download/sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3/add-on-import-autocad-dxf-format-dxf-v0.9.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with .dxf files"},"tags":["Import-Export"]},{"id":"bool_tool","schema_version":"1.0.0","name":"Bool Tool","version":"2.0.0","tagline":"Quick boolean operators and tools for hard surface modeling","archive_hash":"sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d","archive_size":167487,"archive_url":"https://extensions.blender.org/download/sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d/add-on-bool-tool-v2.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bool-tool/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"vdm_brush_baker","schema_version":"1.0.0","name":"VDM Brush Baker","version":"1.0.6","tagline":"Bake vector displacement brushes easily from a plane","archive_hash":"sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419","archive_size":5781,"archive_url":"https://extensions.blender.org/download/sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419/add-on-vdm-brush-baker-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vdm-brush-baker/","maintainer":"robin.hohni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on saves textures to disk"},"tags":["Bake","Sculpt"]},{"id":"add_camera_rigs","schema_version":"1.0.0","name":"Add Camera Rigs","version":"1.8.2","tagline":"Adds a Camera Rig with UI","archive_hash":"sha256:b06aa8048718bbea463fc430694b735fd69b934bf8811a02f6fd17d18a7c1f90","archive_size":13706,"archive_url":"https://extensions.blender.org/download/sha256:b06aa8048718bbea463fc430694b735fd69b934bf8811a02f6fd17d18a7c1f90/add-on-add-camera-rigs-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-camera-rigs/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"ivygen","schema_version":"1.0.0","name":"IvyGen","version":"0.1.5","tagline":"Adds generated ivy to a mesh object starting at the 3D cursor","archive_hash":"sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98","archive_size":7172,"archive_url":"https://extensions.blender.org/download/sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98/add-on-ivygen-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ivygen/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"measureit","schema_version":"1.0.0","name":"MeasureIt","version":"1.8.4","tagline":"Tools for measuring objects","archive_hash":"sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042","archive_size":28891,"archive_url":"https://extensions.blender.org/download/sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042/add-on-measureit-v1.8.4.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/measureit/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"tri_lighting","schema_version":"1.0.0","name":"Tri-lighting","version":"0.2.1","tagline":"Add 3 Point Lighting to Selected / Active Object","archive_hash":"sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b","archive_size":3531,"archive_url":"https://extensions.blender.org/download/sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b/add-on-tri-lighting-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tri-lighting/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"grease_pencil_tools","schema_version":"1.0.0","name":"Grease Pencil Tools","version":"2.2.4","tagline":"Extra tools for Grease Pencil","archive_hash":"sha256:de2228934ac042a2aa3cf82af135592b7ef24af5588c12357810ff6b44d5359b","archive_size":51948,"archive_url":"https://extensions.blender.org/download/sha256:de2228934ac042a2aa3cf82af135592b7ef24af5588c12357810ff6b44d5359b/add-on-grease-pencil-tools-v2.2.4.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tools/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Object"]},{"id":"tissue","schema_version":"1.0.0","name":"Tissue","version":"0.3.71","tagline":"Tools for Computational Design","archive_hash":"sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad","archive_size":113361,"archive_url":"https://extensions.blender.org/download/sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad/add-on-tissue-v0.3.71.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tissue/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"icon_viewer","schema_version":"1.0.0","name":"Icon Viewer","version":"1.4.2","tagline":"Click an icon to copy its name to the clipboard","archive_hash":"sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc","archive_size":3814,"archive_url":"https://extensions.blender.org/download/sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc/add-on-icon-viewer-v1.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/icon-viewer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"magic_uv","schema_version":"1.0.0","name":"Magic UV","version":"6.7.1","tagline":"UV Toolset. See Add-ons Preferences for details","archive_hash":"sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571","archive_size":104347,"archive_url":"https://extensions.blender.org/download/sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571/add-on-magic-uv-v6.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/magic-uv/","maintainer":"nutti","license":["SPDX:GPL-2.0-or-later"],"tags":["UV"]},{"id":"export_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Export Autocad DXF Format (.dxf)","version":"2.2.4","tagline":"The script exports Blender geometry to DXF format r12 version","archive_hash":"sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7","archive_size":33206,"archive_url":"https://extensions.blender.org/download/sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7/add-on-export-autocad-dxf-format-dxf-v2.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports DXF file"},"tags":["Import-Export"]},{"id":"discombobulator","schema_version":"1.0.0","name":"Discombobulator","version":"0.1.0","tagline":"Add Discombobulator","archive_hash":"sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d","archive_size":7864,"archive_url":"https://extensions.blender.org/download/sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d/add-on-discombobulator-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/discombobulator/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"animall","schema_version":"1.0.0","name":"AnimAll","version":"0.14.0","tagline":"Animate mesh, lattice, curve and surface data","archive_hash":"sha256:85fcb80112f25a194891242708eb3bc8fdd02890b9a6d9fc83502e059e0d1f86","archive_size":8635,"archive_url":"https://extensions.blender.org/download/sha256:85fcb80112f25a194891242708eb3bc8fdd02890b9a6d9fc83502e059e0d1f86/add-on-animall-v0.14.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/animall/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blender_id_authentication","schema_version":"1.0.0","name":"Blender ID authentication","version":"2.1.3","tagline":"Stores your Blender ID credentials for usage with other add-ons","archive_hash":"sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5/add-on-blender-id-authentication-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-id-authentication/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Requires access to id.blender.org to sync preferences"},"tags":["System"]},{"id":"edit_mesh_tools","schema_version":"1.0.0","name":"Edit Mesh Tools","version":"0.3.6","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0","archive_size":74410,"archive_url":"https://extensions.blender.org/download/sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0/add-on-edit-mesh-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"viewport_pie_menus","schema_version":"1.0.0","name":"3D Viewport Pie Menus","version":"1.7.3","tagline":"Various pie menus to speed up your workflow","archive_hash":"sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100","archive_size":110402,"archive_url":"https://extensions.blender.org/download/sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100/add-on-viewport-pie-menus-v1.7.3.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/viewport-pie-menus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To load brush icons from disk"},"tags":["User Interface"]},{"id":"sapling_tree_gen","schema_version":"1.0.0","name":"Sapling Tree Gen","version":"0.3.7","tagline":"Adds a parametric tree","archive_hash":"sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f","archive_size":36296,"archive_url":"https://extensions.blender.org/download/sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f/add-on-sapling-tree-gen-v0.3.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/sapling-tree-gen/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"bsurfaces_gpl_edition","schema_version":"1.0.0","name":"Bsurfaces GPL Edition","version":"1.8.4","tagline":"Modeling and retopology tool","archive_hash":"sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e","archive_size":31781,"archive_url":"https://extensions.blender.org/download/sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e/add-on-bsurfaces-gpl-edition-v1.8.4.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bsurfaces-gpl-edition/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"curve_tools","schema_version":"1.0.0","name":"Curve Tools","version":"0.4.6","tagline":"Adds some functionality for bezier/nurbs curve/surface modeling","archive_hash":"sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f","archive_size":55633,"archive_url":"https://extensions.blender.org/download/sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f/add-on-curve-tools-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"power_sequencer","schema_version":"1.0.0","name":"Power Sequencer","version":"2.0.4","tagline":"Video editing tools for content creators","archive_hash":"sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a","archive_size":97495,"archive_url":"https://extensions.blender.org/download/sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a/add-on-power-sequencer-v2.0.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/power-sequencer/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"dynamic_sky","schema_version":"1.0.0","name":"Dynamic Sky","version":"1.0.6","tagline":"Creates Dynamic Sky for Cycles","archive_hash":"sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f","archive_size":4358,"archive_url":"https://extensions.blender.org/download/sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f/add-on-dynamic-sky-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-sky/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Lighting"]},{"id":"vrm","schema_version":"1.0.0","name":"VRM format","version":"3.21.1","tagline":"VRM import, export and editing capabilities","archive_hash":"sha256:e2bb23ba073278094fc2c7bc9073726542e9998965a76eee65c6b4c5b39467d9","archive_size":1563645,"archive_url":"https://extensions.blender.org/download/sha256:e2bb23ba073278094fc2c7bc9073726542e9998965a76eee65c6b4c5b39467d9/add-on-vrm-v3.21.1.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/vrm/","maintainer":"saturday06","license":["SPDX:MIT","SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export VRM from/to disk"},"tags":["Import-Export","Animation","Modeling","Material","Physics"]},{"id":"io_scene_max","schema_version":"1.0.0","name":"Import Autodesk MAX (.max)","version":"1.7.5","tagline":"Import 3DSMAX meshes & materials","archive_hash":"sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7","archive_size":83827,"archive_url":"https://extensions.blender.org/download/sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7/add-on-io-scene-max-v1.7.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-max/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Autodesk MAX files"},"tags":["Import-Export","Mesh","Material"]},{"id":"sun_position","schema_version":"1.0.0","name":"Sun Position","version":"4.4.0","tagline":"Show the position of the Sun with objects or an environment","archive_hash":"sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856","archive_size":26592,"archive_url":"https://extensions.blender.org/download/sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856/add-on-sun-position-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sun-position/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"gruvbox_light","schema_version":"1.0.0","name":"Gruvbox Light","version":"1.6.0","tagline":"Gruvbox light theme","archive_hash":"sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae","archive_size":5392,"archive_url":"https://extensions.blender.org/download/sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae/theme-gruvbox-light-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-light/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"gruvbox_dark","schema_version":"1.0.0","name":"Gruvbox Dark","version":"1.6.0","tagline":"Gruvbox dark theme","archive_hash":"sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa","archive_size":5192,"archive_url":"https://extensions.blender.org/download/sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa/theme-gruvbox-dark-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-dark/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"phoenixart_fusion_theme","schema_version":"1.0.0","name":"PhoenixArt Fusion Theme","version":"4.0.3","tagline":"Based on Blackmagic Fusion Theme","archive_hash":"sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066","archive_size":6404,"archive_url":"https://extensions.blender.org/download/sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066/theme-phoenixart-fusion-theme-v4.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/phoenixart-fusion-theme/","maintainer":"phoenixart","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"alien_pink_theme","schema_version":"1.0.0","name":"Alien Pink","version":"6.0.0","tagline":"Stylish and vibrant theme designed specially for you","archive_hash":"sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641","archive_size":6709,"archive_url":"https://extensions.blender.org/download/sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641/theme-alien-pink-theme-v6.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/alien-pink-theme/","maintainer":"Alumx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"copy_object_name_to_data","schema_version":"1.0.0","name":"Copy Object Name to Data","version":"1.1.1","tagline":"A simple operator to copy object names to object data","archive_hash":"sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03","archive_size":14363,"archive_url":"https://extensions.blender.org/download/sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03/add-on-copy-object-name-to-data-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-object-name-to-data/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"nd","schema_version":"1.0.0","name":"ND","version":"2.1.0","tagline":"Non-Destructive Modeling Toolkit","archive_hash":"sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5","archive_size":1546886,"archive_url":"https://extensions.blender.org/download/sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5/add-on-nd-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nd/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import built-in and custom assets"},"tags":["3D View","Lighting","Material","Modeling","Mesh","Object","Scene","UV"]},{"id":"io_export_after_effects","schema_version":"1.0.0","name":"Export: Adobe After Effects (.jsx)","version":"0.2.1","tagline":"Export cameras, images and empties to Adobe After Effects","archive_hash":"sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4","archive_size":16102,"archive_url":"https://extensions.blender.org/download/sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4/add-on-io-export-after-effects-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-export-after-effects/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Export JSX file to disk"},"tags":["Import-Export"]},{"id":"textify","schema_version":"1.0.0","name":"Textify","version":"1.8.0","tagline":"Streamline and Enhance Blender’s Text Editor","archive_hash":"sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4","archive_size":1851559,"archive_url":"https://extensions.blender.org/download/sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4/add-on-textify-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/textify/","maintainer":"Jishnu-kv","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write settings, and manage scripts on disk","clipboard":"Copy class bl_idname and identifiers to clipboard"},"tags":["Text Editor","Development"]},{"id":"Bagapie","schema_version":"1.0.0","name":"Bagapie","version":"11.0.8","tagline":"50+ tools : Scattering, Ivy Gen, Random Array, Architecture","archive_hash":"sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad","archive_size":10833664,"archive_url":"https://extensions.blender.org/download/sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad/add-on-bagapie-v11.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bagapie/","maintainer":"Kiara_Bagattini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create, setup and add assets libraries","network":"Open web browser for documentation and tutorials"},"tags":["Modeling","Node"]},{"id":"y_projectionnode_form_camera_f1","schema_version":"1.0.0","name":"ProjectionNode from Camera","version":"1.3.0","tagline":"Creates a material specified in the Background Image of Camera","archive_hash":"sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75","archive_size":9289,"archive_url":"https://extensions.blender.org/download/sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75/add-on-y-projectionnode-form-camera-f1-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/y-projectionnode-form-camera-f1/","maintainer":"Yukimituki","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"Shadow","schema_version":"1.0.0","name":"Shadow","version":"5.0.2","tagline":"Dark theme","archive_hash":"sha256:0325c737f887420efd31225df8a6d79c7645b4bff72dec4787605ed2d6fbf84b","archive_size":5744,"archive_url":"https://extensions.blender.org/download/sha256:0325c737f887420efd31225df8a6d79c7645b4bff72dec4787605ed2d6fbf84b/theme-shadow-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/shadow/","maintainer":"--Shadow--","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"ucupaint","schema_version":"1.0.0","name":"Ucupaint","version":"2.4.5","tagline":"Layer based painting for Eevee and Cycles","archive_hash":"sha256:9fd5fc4c8f12cdf4ce240dc84f6524fccce11fca72c47094f257631fca3b7b3b","archive_size":2067468,"archive_url":"https://extensions.blender.org/download/sha256:9fd5fc4c8f12cdf4ce240dc84f6524fccce11fca72c47094f257631fca3b7b3b/add-on-ucupaint-v2.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ucupaint/","maintainer":"ucupumar","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to filesystem for loading and saving images","network":"Access to the network to update contributors and sponsors list"},"tags":["Node","Material","Paint","Bake"]},{"id":"Industrial_AOV_Connector","schema_version":"1.0.0","name":"Industrial AOV Connector","version":"5.1.0","tagline":"Auto generate outputs for advanced compositing","archive_hash":"sha256:edcfdf0a2e8bc0bfd90dc961d351ddbd9303f4af985de5d21ff67a499f2c30bb","archive_size":218597,"archive_url":"https://extensions.blender.org/download/sha256:edcfdf0a2e8bc0bfd90dc961d351ddbd9303f4af985de5d21ff67a499f2c30bb/add-on-industrial-aov-connector-v5.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-aov-connector/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Delete Useless Default Renders button need this"},"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"hdr_rotation","schema_version":"1.0.0","name":"Hdr Rotation","version":"1.0.7","tagline":"Rotation HDR by Shift+Right Drag in 3D View","archive_hash":"sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68","archive_size":6585,"archive_url":"https://extensions.blender.org/download/sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68/add-on-hdr-rotation-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdr-rotation/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Render"]},{"id":"Dark_Purple_Green","schema_version":"1.0.0","name":"DarkPurpleGreen","version":"1.0.1","tagline":"Dark minimal neon theme","archive_hash":"sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4","archive_size":5871,"archive_url":"https://extensions.blender.org/download/sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4/theme-dark-purple-green-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-purple-green/","maintainer":"MSBH","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"node_editor_switcher","schema_version":"1.0.0","name":"Node Editor Switcher","version":"1.1.0","tagline":"Pie menu, shortcuts and buttons to switch between node editors","archive_hash":"sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3","archive_size":2134,"archive_url":"https://extensions.blender.org/download/sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3/add-on-node-editor-switcher-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-switcher/","maintainer":"Victor-09","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"Adapta_Nokto","schema_version":"1.0.0","name":"Adapta Nokto","version":"1.1.3","tagline":"Adapta Nokto theme","archive_hash":"sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4","archive_size":5612,"archive_url":"https://extensions.blender.org/download/sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4/theme-adapta-nokto-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/adapta-nokto/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"browser_scroll_resize","schema_version":"1.0.0","name":"Browser Scroll Resize","version":"1.0.1","tagline":"Resize File Size Thumbnail on Browsers with Mouse Wheel","archive_hash":"sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da","archive_size":2729,"archive_url":"https://extensions.blender.org/download/sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da/add-on-browser-scroll-resize-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/browser-scroll-resize/","maintainer":"Barrunterio","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"secret_paint","schema_version":"1.0.0","name":"Secret Paint","version":"1.7.31","tagline":"Select an object, select a surface, paint","archive_hash":"sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6","archive_size":1950644,"archive_url":"https://extensions.blender.org/download/sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6/add-on-secret-paint-v1.7.31.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/secret-paint/","maintainer":"orencloud","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export objects and biomes to external blend files","network":"Update from GitHub if installed as addon rather than extension"},"tags":["Modeling","Add Curve"]},{"id":"delete_line_shortcut","schema_version":"1.0.0","name":"Delete Line Shortcut","version":"1.2.2","tagline":"Shortcut to delete a line and copy its content","archive_hash":"sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab","archive_size":15764,"archive_url":"https://extensions.blender.org/download/sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab/add-on-delete-line-shortcut-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/delete-line-shortcut/","maintainer":"matej.zeman02","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Add-on can read and write to the system clipboard."},"tags":["User Interface","Text Editor"]},{"id":"keyframe_visibility","schema_version":"1.0.0","name":"Keyframe Visibility","version":"1.0.2","tagline":"Batch keyframe visibility for objects","archive_hash":"sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84","archive_size":4295,"archive_url":"https://extensions.blender.org/download/sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84/add-on-keyframe-visibility-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-visibility/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"midnight_blue_theme","schema_version":"1.0.0","name":"Midnight Blue","version":"1.0.1","tagline":"Blender blues after midnight","archive_hash":"sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928","archive_size":5982,"archive_url":"https://extensions.blender.org/download/sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928/theme-midnight-blue-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/midnight-blue-theme/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"bulk_asset_tools","schema_version":"1.0.0","name":"Bulk Asset Tools","version":"1.7.3","tagline":"Manage your asset libraries with ease","archive_hash":"sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d","archive_size":10636,"archive_url":"https://extensions.blender.org/download/sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d/add-on-bulk-asset-tools-v1.7.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bulk-asset-tools/","maintainer":"guitargeek","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"blender_path_maker","schema_version":"1.0.0","name":"Path Maker","version":"1.4.4","tagline":"Replaces custom tags in the Output Path","archive_hash":"sha256:ac0e5abd81f0a555aeeea19206daf037427fe28da134f08775b9dc178e6247e2","archive_size":4818,"archive_url":"https://extensions.blender.org/download/sha256:ac0e5abd81f0a555aeeea19206daf037427fe28da134f08775b9dc178e6247e2/add-on-blender-path-maker-v1.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-path-maker/","maintainer":"thornydre","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"SelectsAllIslandsUDIM","schema_version":"1.0.0","name":"Selects all UV islands on one UDIM","version":"1.2.0","tagline":"Highlighting UV-islands and faces of the corresponding UDIM","archive_hash":"sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f","archive_size":3781,"archive_url":"https://extensions.blender.org/download/sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f/add-on-selectsallislandsudim-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selectsallislandsudim/","maintainer":"Ailex","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"lightpainter","schema_version":"1.0.0","name":"Light Painter","version":"1.5.6","tagline":"Do not place your lights, paint them","archive_hash":"sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a","archive_size":112051,"archive_url":"https://extensions.blender.org/download/sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a/add-on-lightpainter-v1.5.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lightpainter/","maintainer":"SMagnusson","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting","Object"]},{"id":"ContextPie","schema_version":"1.0.0","name":"Context Pie","version":"0.9.21","tagline":"Context sensitive pie menu for a simple, fast workflow","archive_hash":"sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66","archive_size":126927,"archive_url":"https://extensions.blender.org/download/sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66/add-on-contextpie-v0.9.21.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/contextpie/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View","UV"]},{"id":"orient_and_origin_to_selected","schema_version":"1.0.0","name":"Orient and Origin to Selected","version":"1.2.0","tagline":"Quickly manipulate the object origin","archive_hash":"sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521","archive_size":42615,"archive_url":"https://extensions.blender.org/download/sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521/add-on-orient-and-origin-to-selected-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orient-and-origin-to-selected/","maintainer":"Orange Turbine","license":["SPDX:GPL-2.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"screencast_keys","schema_version":"1.0.0","name":"Screencast Keys","version":"4.2.1","tagline":"Display keys pressed in Blender","archive_hash":"sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb","archive_size":38532,"archive_url":"https://extensions.blender.org/download/sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb/add-on-screencast-keys-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/screencast-keys/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"tags":["System","User Interface"]},{"id":"Gold_Pro_Theme","schema_version":"1.0.0","name":"Gold Pro","version":"1.1.4","tagline":"Professional blender theme with Gold :)","archive_hash":"sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d","archive_size":5514,"archive_url":"https://extensions.blender.org/download/sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d/theme-gold-pro-theme-v1.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gold-pro-theme/","maintainer":"EmanuelFerro","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"lfs_camera_plane","schema_version":"1.0.0","name":"Camera Plane","version":"3.0.0","tagline":"Import images and stick them to the camera","archive_hash":"sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4","archive_size":17262,"archive_url":"https://extensions.blender.org/download/sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4/add-on-lfs-camera-plane-v3.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/lfs-camera-plane/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["3D View","Import-Export","Object","Camera"]},{"id":"Wireframe_Color_Tools","schema_version":"1.0.0","name":"Wireframe Color Tools","version":"1.0.0","tagline":"Change Object Colors based on different kinds of methods","archive_hash":"sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9","archive_size":3122,"archive_url":"https://extensions.blender.org/download/sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9/add-on-wireframe-color-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wireframe-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Material","Object"]},{"id":"neutral_grey","schema_version":"1.0.0","name":"Neutral Grey","version":"2.0.3","tagline":"A neutral grey theme for Blender","archive_hash":"sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454","archive_size":5558,"archive_url":"https://extensions.blender.org/download/sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454/theme-neutral-grey-v2.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutral-grey/","maintainer":"scopelma","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Accessibility"]},{"id":"deep_dark_sea","schema_version":"1.0.0","name":"Deep Dark Sea","version":"3.0.0","tagline":"Darker than the default dark","archive_hash":"sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298","archive_size":6219,"archive_url":"https://extensions.blender.org/download/sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298/theme-deep-dark-sea-v3.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-dark-sea/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"border_buddy","schema_version":"1.0.0","name":"Border Buddy","version":"0.1.1","tagline":"Your buddy that helps to preserve borders","archive_hash":"sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4","archive_size":2579,"archive_url":"https://extensions.blender.org/download/sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4/add-on-border-buddy-v0.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/border-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"bake_shape_keys","schema_version":"1.0.0","name":"Bake Shape Keys","version":"1.4.0","tagline":"Feature-set for shape keys and shape key animations","archive_hash":"sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd","archive_size":14241,"archive_url":"https://extensions.blender.org/download/sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd/add-on-bake-shape-keys-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-shape-keys/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Mesh"]},{"id":"matalogue","schema_version":"1.0.0","name":"Matalogue","version":"1.5.0","tagline":"All your node trees in one list","archive_hash":"sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2","archive_size":13081,"archive_url":"https://extensions.blender.org/download/sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2/add-on-matalogue-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matalogue/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"NieR_Automata_UI","schema_version":"1.0.0","name":"NieR_Automata_UI","version":"1.2.3","tagline":"Glory to Mankind","archive_hash":"sha256:296e97dbc97caa4ab94612939407210adda1682ffea5be9c916e90671139874a","archive_size":5769,"archive_url":"https://extensions.blender.org/download/sha256:296e97dbc97caa4ab94612939407210adda1682ffea5be9c916e90671139874a/theme-nier-automata-ui-v1.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nier-automata-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Colorful"]},{"id":"preset_startup_manager","schema_version":"1.0.0","name":"Startup Preset Manager","version":"2.10.0","tagline":"Custom startup file creation / hot reloading","archive_hash":"sha256:09db3bb39ffa07a51635b7af748221c1b45c4fca6d49174d2a57366652609ca8","archive_size":4684,"archive_url":"https://extensions.blender.org/download/sha256:09db3bb39ffa07a51635b7af748221c1b45c4fca6d49174d2a57366652609ca8/add-on-preset-startup-manager-v2.10.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/preset-startup-manager/","maintainer":"Gruff-Wright","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline","Scene","System"]},{"id":"time_theme_switcher","schema_version":"1.0.0","name":"Time Theme Switcher","version":"1.0.0","tagline":"Switches between light and dark UI themes at scheduled times","archive_hash":"sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010","archive_size":18346,"archive_url":"https://extensions.blender.org/download/sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010/add-on-time-theme-switcher-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-theme-switcher/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"k_tools_render_preset_manager","schema_version":"1.0.0","name":"K-Tools: Render Preset Manager","version":"1.2.2","tagline":"Save and Load Blender's Settings","archive_hash":"sha256:024bc16b800a7fb54d2b986c79756b3214bbadef5a4f9999a55b6577e2d9d87f","archive_size":75069,"archive_url":"https://extensions.blender.org/download/sha256:024bc16b800a7fb54d2b986c79756b3214bbadef5a4f9999a55b6577e2d9d87f/add-on-k-tools-render-preset-manager-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-render-preset-manager/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .JSON text files from/to disk"},"tags":["Render"]},{"id":"VAT","schema_version":"1.0.0","name":"Vertex Animation Texture Addon (VAT)","version":"1.0.1","tagline":"Tools for vertex animation textures in Blender","archive_hash":"sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065","archive_size":8592,"archive_url":"https://extensions.blender.org/download/sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065/add-on-vat-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vat/","maintainer":"Flement","license":["SPDX:GPL-3.0-or-later"]},{"id":"vectart_import","schema_version":"1.0.0","name":"Vectart Import","version":"1.0.4","tagline":"Import and preview vector files with layer management","archive_hash":"sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1","archive_size":19068,"archive_url":"https://extensions.blender.org/download/sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1/add-on-vectart-import-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-import/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to read and import SVG files from the disk"},"tags":["Modeling","Object"]},{"id":"extrude_along_path","schema_version":"1.0.0","name":"Extrude Along Path","version":"2.2.0","tagline":"Extrude or Rake profile geometry Along a defined Path","archive_hash":"sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283","archive_size":15621,"archive_url":"https://extensions.blender.org/download/sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283/add-on-extrude-along-path-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extrude-along-path/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"dimensions_and_lines","schema_version":"1.0.0","name":"Dimensions and Lines","version":"1.1.0","tagline":"create technical drawings, dimensions and lines","archive_hash":"sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30","archive_size":75526,"archive_url":"https://extensions.blender.org/download/sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30/add-on-dimensions-and-lines-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dimensions-and-lines/","maintainer":"jan.holinka","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"textures_autosave","schema_version":"1.0.0","name":"Autosave Textures","version":"1.0.1","tagline":"Save all modified image textures on blendfile (auto-)save","archive_hash":"sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938","archive_size":2642,"archive_url":"https://extensions.blender.org/download/sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938/add-on-textures-autosave-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/textures-autosave/","maintainer":"mont29","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write image files to disk"},"tags":["Pipeline","Paint"]},{"id":"csv_importer","schema_version":"1.0.0","name":"CSV Importer","version":"0.2.2","tagline":"import csv data to meshes in Blender","archive_hash":"sha256:631249d12f3617113e2f22fa4006a9a96fdb9774e9a0d3a61fb660656314937b","archive_size":46529057,"archive_url":"https://extensions.blender.org/download/sha256:631249d12f3617113e2f22fa4006a9a96fdb9774e9a0d3a61fb660656314937b/add-on-csv-importer-v0.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/csv-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"NLATools","schema_version":"1.0.0","name":"Merge NLA Strips","version":"1.2.0","tagline":"Combine selected NLA strips into one","archive_hash":"sha256:fb71b63b597aa5998c41387cb24ccb78fed7944a43e80418f959080090a4d276","archive_size":4416,"archive_url":"https://extensions.blender.org/download/sha256:fb71b63b597aa5998c41387cb24ccb78fed7944a43e80418f959080090a4d276/add-on-nlatools-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nlatools/","maintainer":"Likkez","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake"]},{"id":"Frigus_Nox","schema_version":"1.0.0","name":"Frigus Nox","version":"1.0.7","tagline":"Frigus Nox theme","archive_hash":"sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06","archive_size":5535,"archive_url":"https://extensions.blender.org/download/sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06/theme-frigus-nox-v1.0.7.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/frigus-nox/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Auto_Sort_Collections","schema_version":"1.0.0","name":"Auto Sort Collections","version":"1.0.2","tagline":"Automatic organisation of collections","archive_hash":"sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079","archive_size":9665,"archive_url":"https://extensions.blender.org/download/sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079/add-on-auto-sort-collections-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sort-collections/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"Cake_Particles","schema_version":"1.0.0","name":"Cake_Particles","version":"5.0.0","tagline":"Bake particles simulation into keyframed animations","archive_hash":"sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f","archive_size":9459,"archive_url":"https://extensions.blender.org/download/sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f/add-on-cake-particles-v5.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cake-particles/","maintainer":"scaryplasmon","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake","Physics","Object"]},{"id":"Quick_Character_Selector","schema_version":"1.0.0","name":"Quick Character Selector","version":"1.1.0","tagline":"Seleccion rapida de armatures","archive_hash":"sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad/add-on-quick-character-selector-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-character-selector/","maintainer":"MatiasMartin","license":["SPDX:GPL-2.0-or-later"],"tags":["Object","Animation"]},{"id":"momo","schema_version":"1.0.0","name":"Momo Light","version":"5.0.5","tagline":"Momo Light - theme inspired by Modo","archive_hash":"sha256:cf00fdad2d18855ecc66619205364da458738a82a0d1e2257ca3011de6fa7f7c","archive_size":6482,"archive_url":"https://extensions.blender.org/download/sha256:cf00fdad2d18855ecc66619205364da458738a82a0d1e2257ca3011de6fa7f7c/theme-momo-v5.0.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"k_tools_visibility_check","schema_version":"1.0.0","name":"Visibility Check","version":"2.5.2","tagline":"Check for mismatched objects in viewport and render view","archive_hash":"sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913","archive_size":6511,"archive_url":"https://extensions.blender.org/download/sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913/add-on-k-tools-visibility-check-v2.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-visibility-check/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render"]},{"id":"boltfactory","schema_version":"1.0.0","name":"BoltFactory","version":"0.7.1","tagline":"Add a bolt or nut","archive_hash":"sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3","archive_size":35319,"archive_url":"https://extensions.blender.org/download/sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3/add-on-boltfactory-v0.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/boltfactory/","maintainer":"Bolt Factory","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"snap_utilities_line","schema_version":"1.0.0","name":"Snap Line Tool","version":"6.8.1","tagline":"Extends Blender Snap controls","archive_hash":"sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc","archive_size":32147,"archive_url":"https://extensions.blender.org/download/sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc/add-on-snap-utilities-line-v6.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-utilities-line/","maintainer":"mano-wii","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"dynamic_context_menu","schema_version":"1.0.0","name":"Dynamic Context Menu","version":"1.9.4","tagline":"Object Mode Context Sensitive Spacebar Menu","archive_hash":"sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5","archive_size":15679,"archive_url":"https://extensions.blender.org/download/sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5/add-on-dynamic-context-menu-v1.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-context-menu/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"open_linked","schema_version":"1.0.0","name":"Open Linked","version":"1.0.1","tagline":"Open linked blends from the Outliner","archive_hash":"sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3","archive_size":40897,"archive_url":"https://extensions.blender.org/download/sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3/add-on-open-linked-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-linked/","maintainer":"polygoniq","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"theme_CrimsonAttack","schema_version":"1.0.0","name":"Crimson Attack","version":"1.0.0","tagline":"A Red hue'd version of blue invasion","archive_hash":"sha256:c797984cfd094d88741f76100340a6885e11d0d815da2ad8d15676f99f3d620c","archive_size":6231,"archive_url":"https://extensions.blender.org/download/sha256:c797984cfd094d88741f76100340a6885e11d0d815da2ad8d15676f99f3d620c/theme-theme-crimsonattack-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-crimsonattack/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"mat_helperr","schema_version":"1.0.0","name":"MAT Helper","version":"1.2.1","tagline":"Smart PBR texture importer for UModel .mat & .json exports","archive_hash":"sha256:3386ada34896c54c73e1cffe52a1de9fdedc5a475324ddbcd08b6fa60691b9b6","archive_size":4011,"archive_url":"https://extensions.blender.org/download/sha256:3386ada34896c54c73e1cffe52a1de9fdedc5a475324ddbcd08b6fa60691b9b6/add-on-mat-helperr-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mat-helperr/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Import-Export"]},{"id":"texops","schema_version":"1.0.0","name":"TexOps","version":"1.0.0","tagline":"Texture Conversion, Generation, and Manipulation Operations","archive_hash":"sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9","archive_size":94059,"archive_url":"https://extensions.blender.org/download/sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9/add-on-texops-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texops/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Bake","Import-Export","User Interface"]},{"id":"VibeyTM_Pro","schema_version":"1.0.0","name":"Vibey™ Pro","version":"0.0.1","tagline":"Visually exciting yet fully functional","archive_hash":"sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92","archive_size":18840,"archive_url":"https://extensions.blender.org/download/sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92/theme-vibeytm-pro-v0.0.1.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/vibeytm-pro/","maintainer":"Fedor-Rezhenov","license":["SPDX:GPL-3.0-or-later"]},{"id":"Three_d_Cursor_Snap","schema_version":"1.0.0","name":"Three d Cursor Snap","version":"1.2.0","tagline":"Move 3d cursor like gizmo to snap vertex, edge and face","archive_hash":"sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55","archive_size":3579,"archive_url":"https://extensions.blender.org/download/sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55/add-on-three-d-cursor-snap-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/three-d-cursor-snap/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"gzm_mod","schema_version":"1.0.0","name":"GZM 3D model format","version":"1.0.2","tagline":"Import-export 3D models for the GZM game","archive_hash":"sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2","archive_size":288070,"archive_url":"https://extensions.blender.org/download/sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2/add-on-gzm-mod-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gzm-mod/","maintainer":"777-tanks","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"batch_camera_render","schema_version":"1.0.0","name":"Batch Render Cameras","version":"1.8.1","tagline":"Render animations from multiple selected cameras","archive_hash":"sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036","archive_size":3228,"archive_url":"https://extensions.blender.org/download/sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036/add-on-batch-camera-render-v1.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-camera-render/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create output folders for rendered frames"},"tags":["Render","Camera"]},{"id":"blur_hdri","schema_version":"1.0.0","name":"Blur HDRI","version":"0.0.6","tagline":"Blur HDRI Images by creating a new node with a Gaussian Blur","archive_hash":"sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7","archive_size":23644138,"archive_url":"https://extensions.blender.org/download/sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7/add-on-blur-hdri-v0.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blur-hdri/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Material","Lighting"]},{"id":"node_editor_pro","schema_version":"1.0.0","name":"Node Editor Pro","version":"0.5.0","tagline":"Organize nodes with auto-layout, snap and cleanup","archive_hash":"sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c","archive_size":4809,"archive_url":"https://extensions.blender.org/download/sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c/add-on-node-editor-pro-v0.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-pro/","maintainer":"the_visual_geek","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"data_scale","schema_version":"1.0.0","name":"ID Tools","version":"1.2.0","tagline":"Assortment of tools for the manipulation of data-blocks","archive_hash":"sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646","archive_size":22974,"archive_url":"https://extensions.blender.org/download/sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646/add-on-data-scale-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/data-scale/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Temporarily create .blend files to weigh them"},"tags":["Import-Export"]},{"id":"anim_offset_pro","schema_version":"1.0.0","name":"Anim Offset Pro","version":"1.3.0","tagline":"Offset poses across animation keyframes","archive_hash":"sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd","archive_size":5091,"archive_url":"https://extensions.blender.org/download/sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd/add-on-anim-offset-pro-v1.3.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-offset-pro/","maintainer":"Drika111.","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"dynamic_render_border","schema_version":"1.0.0","name":"Dynamic Render Border","version":"1.0.1","tagline":"Addon to create dynamic render borders for animations","archive_hash":"sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986","archive_size":7352,"archive_url":"https://extensions.blender.org/download/sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986/add-on-dynamic-render-border-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-render-border/","maintainer":"tobiaskummer","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Animation"]},{"id":"shapeFitter","schema_version":"1.0.0","name":"Shape Fitter","version":"1.3.0","tagline":"Fit primitive shapes to verticies","archive_hash":"sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee","archive_size":10012,"archive_url":"https://extensions.blender.org/download/sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee/add-on-shapefitter-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapefitter/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"trimmer","schema_version":"1.0.0","name":"Trimmer","version":"0.3.0","tagline":"Simplified texturing workflow for trim-sheets","archive_hash":"sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5","archive_size":12275,"archive_url":"https://extensions.blender.org/download/sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5/add-on-trimmer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trimmer/","maintainer":"LaXHeXLuX","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"camera_viewer","schema_version":"1.0.0","name":"Camera Viewer","version":"1.1.4","tagline":"You can preview the camera view directly in the 3D viewport","archive_hash":"sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79","archive_size":11337,"archive_url":"https://extensions.blender.org/download/sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79/add-on-camera-viewer-v1.1.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-viewer/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"polyzamboni","schema_version":"1.0.0","name":"PolyZamboni","version":"1.2.2","tagline":"Papercraft in Blender","archive_hash":"sha256:1ae944f663de2898d1401cede5ca6368b941ee738d647321dc298db32d13871c","archive_size":14292071,"archive_url":"https://extensions.blender.org/download/sha256:1ae944f663de2898d1401cede5ca6368b941ee738d647321dc298db32d13871c/add-on-polyzamboni-v1.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polyzamboni/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export PDF/SVG to disk"},"platforms":["windows-x64"],"tags":["3D View","Import-Export"]},{"id":"meshstats","schema_version":"1.0.0","name":"Meshstats","version":"1.3.2","tagline":"Mesh statistics","archive_hash":"sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421","archive_size":55105,"archive_url":"https://extensions.blender.org/download/sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421/add-on-meshstats-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.2","website":"https://extensions.blender.org/add-ons/meshstats/","maintainer":"muhuk","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"requin_blue_theme","schema_version":"1.0.0","name":"Requin Blue","version":"1.2.0","tagline":"This is a Blender theme with a major blue color","archive_hash":"sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42","archive_size":6733,"archive_url":"https://extensions.blender.org/download/sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42/theme-requin-blue-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/themes/requin-blue-theme/","maintainer":"MozzarellaARC","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"auto_dark_mode","schema_version":"1.0.0","name":"Auto Dark Mode","version":"3.0.0","tagline":"Automatically follow the system light/dark mode","archive_hash":"sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b","archive_size":11993,"archive_url":"https://extensions.blender.org/download/sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b/add-on-auto-dark-mode-v3.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-dark-mode/","maintainer":"dprice","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read installed themes"},"tags":["System","User Interface"]},{"id":"blue_genes","schema_version":"1.0.0","name":"Blue Genes","version":"1.0.3","tagline":"Dark Blue, Readable Daily Driver","archive_hash":"sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e","archive_size":5997,"archive_url":"https://extensions.blender.org/download/sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e/theme-blue-genes-v1.0.3.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blue-genes/","maintainer":"SpectralVectors","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"save_with_versioning","schema_version":"1.0.0","name":"Save with Versioning","version":"2.1.0","tagline":"Save incremental and use published files for asset linking","archive_hash":"sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff","archive_size":20710,"archive_url":"https://extensions.blender.org/download/sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff/add-on-save-with-versioning-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/save-with-versioning/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save .blend files"},"tags":["Pipeline"]},{"id":"is_key_free","schema_version":"1.0.0","name":"Is key Free","version":"1.1.3","tagline":"Find free shortcuts, inform about used and print a key list","archive_hash":"sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a/add-on-is-key-free-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/is-key-free/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"node_presets","schema_version":"1.0.0","name":"Node Presets","version":"1.1.0","tagline":"Add node groups directly to the node editors","archive_hash":"sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04","archive_size":2398,"archive_url":"https://extensions.blender.org/download/sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04/add-on-node-presets-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-presets/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Node"]},{"id":"align_tools","schema_version":"1.0.0","name":"Align Tools","version":"0.3.6","tagline":"Align Selected Objects to Active Object","archive_hash":"sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de","archive_size":6743,"archive_url":"https://extensions.blender.org/download/sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de/add-on-align-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"archimesh","schema_version":"1.0.0","name":"Archimesh","version":"1.2.5","tagline":"Generate rooms, doors, windows, and other architecture objects","archive_hash":"sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87","archive_size":323488,"archive_url":"https://extensions.blender.org/download/sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87/add-on-archimesh-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/archimesh/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"scatter_objects","schema_version":"1.0.0","name":"Scatter Objects","version":"0.2.0","tagline":"Distribute object instances on another object","archive_hash":"sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b","archive_size":6876,"archive_url":"https://extensions.blender.org/download/sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b/add-on-scatter-objects-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scatter-objects/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"node_group_utilities","schema_version":"1.0.0","name":"Node Group Utilities","version":"2.1.1","tagline":"Extra options and functions for node groups","archive_hash":"sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5","archive_size":67952,"archive_url":"https://extensions.blender.org/download/sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5/add-on-node-group-utilities-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-utilities/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"flatterer","schema_version":"1.0.0","name":"Flatterer","version":"1.6.0","tagline":"Flat mesh to SVG exporter for laser cutters","archive_hash":"sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559","archive_size":383844,"archive_url":"https://extensions.blender.org/download/sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559/add-on-flatterer-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/flatterer/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG files to disk"},"tags":["Import-Export"]},{"id":"bombsquad_tools","schema_version":"1.0.0","name":"BombSquad Tools","version":"3.0.12","tagline":"Tools for creating BombSquad game assets","archive_hash":"sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00","archive_size":39147,"archive_url":"https://extensions.blender.org/download/sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00/add-on-bombsquad-tools-v3.0.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bombsquad-tools/","maintainer":"aryan02420","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .bob, .cob, and .json files"},"tags":["Import-Export","Scene"]},{"id":"vertex_group_assistant","schema_version":"1.0.0","name":"Vertex Group Assistant","version":"1.0.2","tagline":"Simplifies clothing rigging for avatars","archive_hash":"sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c","archive_size":3846,"archive_url":"https://extensions.blender.org/download/sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c/add-on-vertex-group-assistant-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-assistant/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"blender_Run_Scripts_From_Folder","schema_version":"1.0.0","name":"Run Scripts From Folder","version":"0.0.7","tagline":"Execute script from Script Directiories","archive_hash":"sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47","archive_size":2464,"archive_url":"https://extensions.blender.org/download/sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47/add-on-blender-run-scripts-from-folder-v0.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-run-scripts-from-folder/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read .py files from disk"},"tags":["System"]},{"id":"convert_rotation_mode","schema_version":"1.0.0","name":"Convert Rotation Mode","version":"1.5.1","tagline":"Change rotation mode whilst preserving animation","archive_hash":"sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec","archive_size":23134,"archive_url":"https://extensions.blender.org/download/sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec/add-on-convert-rotation-mode-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/convert-rotation-mode/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste bone transforms"},"tags":["Animation","3D View","Bake"]},{"id":"bdvd_SharpBlade","schema_version":"1.0.0","name":"Sharp Blade","version":"5.2.0","tagline":"Easy on the eyes, deep in the blue. Create freely","archive_hash":"sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24","archive_size":5892,"archive_url":"https://extensions.blender.org/download/sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24/theme-bdvd-sharpblade-v5.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/bdvd-sharpblade/","maintainer":"bdvd","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"dynamic_brush_menus","schema_version":"1.0.0","name":"Dynamic Brush Menus","version":"1.1.10","tagline":"Fast access to brushes & tools in Sculpt and Paint Modes","archive_hash":"sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400","archive_size":15222,"archive_url":"https://extensions.blender.org/download/sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400/add-on-dynamic-brush-menus-v1.1.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-brush-menus/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"image_sequence_to_mp4_video_converter","schema_version":"1.0.0","name":"Image Sequence to MP4 Video Converter","version":"1.0.3","tagline":"Convert image sequences to MP4 with custom resolution","archive_hash":"sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d","archive_size":8152,"archive_url":"https://extensions.blender.org/download/sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d/add-on-image-sequence-to-mp4-video-converter-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/image-sequence-to-mp4-video-converter/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"vertex_group_hierarchy_sorter","schema_version":"1.0.0","name":"Vertex Group Hierarchy Sorter","version":"1.0.4","tagline":"List vertex groups in armature hierarchy order","archive_hash":"sha256:943c36cb19536f4658439ef967455e8ae927620ebcd5421a1b3fe202823258b1","archive_size":15156,"archive_url":"https://extensions.blender.org/download/sha256:943c36cb19536f4658439ef967455e8ae927620ebcd5421a1b3fe202823258b1/add-on-vertex-group-hierarchy-sorter-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-hierarchy-sorter/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"expLODe","schema_version":"1.0.0","name":"expLODe","version":"1.0.2","tagline":"LOD automation script using Python and Blender","archive_hash":"sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74","archive_size":22275,"archive_url":"https://extensions.blender.org/download/sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74/add-on-explode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/explode/","maintainer":"Rainma22","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["Import-Export"]},{"id":"render_notifications_extension","schema_version":"1.0.0","name":"Render Notifications","version":"1.2.2","tagline":"Notifies you via Discord, desktop, or webhook on render events","archive_hash":"sha256:5ac923b73c553303352a38de784606aefa0580e2fa9002a33e09d956fb12c85e","archive_size":2804206,"archive_url":"https://extensions.blender.org/download/sha256:5ac923b73c553303352a38de784606aefa0580e2fa9002a33e09d956fb12c85e/add-on-render-notifications-extension-v1.2.2-windows-x64.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/render-notifications-extension/","maintainer":"JimmyNoStar","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Needed to send notifications via webhooks and Discord"},"platforms":["windows-x64"],"tags":["Render","System"]},{"id":"armature_deform_with_linked_groups","schema_version":"1.0.0","name":"Armature Deform with Linked Groups","version":"1.0.0","tagline":"Create an armature deformation using linked vertices","archive_hash":"sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2","archive_size":4824,"archive_url":"https://extensions.blender.org/download/sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2/add-on-armature-deform-with-linked-groups-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-deform-with-linked-groups/","maintainer":"Suchaaver","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Mesh"]},{"id":"LinkageMarkingMenu","schema_version":"1.0.0","name":"Linkage Marking Menu","version":"1.0.5","tagline":"Customizable Marking Menu for Object and Edit modes","archive_hash":"sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c","archive_size":18953,"archive_url":"https://extensions.blender.org/download/sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c/add-on-linkagemarkingmenu-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/linkagemarkingmenu/","maintainer":"Linkage","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"eevee_projectors","schema_version":"1.0.0","name":"Eevee Projectors","version":"1.1.1","tagline":"Fake Projector lights in Eeve","archive_hash":"sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e","archive_size":285870,"archive_url":"https://extensions.blender.org/download/sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e/add-on-eevee-projectors-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/eevee-projectors/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","Object"]},{"id":"Arma3ObjectBuilder","schema_version":"1.0.0","name":"Arma 3 Object Builder","version":"2.5.1","tagline":"Comprehensive add-on for modding Arma 3","archive_hash":"sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009","archive_size":270830,"archive_url":"https://extensions.blender.org/download/sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009/add-on-arma3objectbuilder-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/arma3objectbuilder/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export operations on supported file formats"},"tags":["Import-Export","Game Engine","Object"]},{"id":"gp_to_curves","schema_version":"1.0.0","name":"Grease Pencil to Curves","version":"0.4.5","tagline":"Quickly convert Grease Pencil strokes to simple curves and hair","archive_hash":"sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5","archive_size":6977,"archive_url":"https://extensions.blender.org/download/sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5/add-on-gp-to-curves-v0.4.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-to-curves/","maintainer":"DadsCastle","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Add Curve","Modeling"]},{"id":"RigFlex","schema_version":"1.0.0","name":"RigFlex Simple Soft Body Simulation for Armatures","version":"4.2.1","tagline":"Simple Soft Body Simulation for Armatures","archive_hash":"sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064","archive_size":8750,"archive_url":"https://extensions.blender.org/download/sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064/add-on-rigflex-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigflex/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation","Physics","Rigging"]},{"id":"visibility_handler","schema_version":"1.0.0","name":"Visibility handler","version":"1.1.3","tagline":"Copy visibility from viewport to render settings or vice versa","archive_hash":"sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c","archive_size":8680,"archive_url":"https://extensions.blender.org/download/sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c/add-on-visibility-handler-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/visibility-handler/","maintainer":"DanielBystedt","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"FavoriteObjects","schema_version":"1.0.0","name":"Favorite Objects","version":"1.0.5","tagline":"Mark your favorite objects and select them from the Viewport","archive_hash":"sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6","archive_size":5933,"archive_url":"https://extensions.blender.org/download/sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6/add-on-favoriteobjects-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/favoriteobjects/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"property_chart","schema_version":"1.0.0","name":"Property Chart","version":"0.1.2","tagline":"Edit properties simultaneously for selected objects/sequencer","archive_hash":"sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed","archive_size":2959,"archive_url":"https://extensions.blender.org/download/sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed/add-on-property-chart-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/property-chart/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"Connecter","schema_version":"1.0.0","name":"Connecter","version":"0.6.20","tagline":"Streamlined Asset Management: Import & Export with Connecter DAM","archive_hash":"sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310","archive_size":392369,"archive_url":"https://extensions.blender.org/download/sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310/add-on-connecter-v0.6.20-windows-x64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/connecter/","maintainer":"DesignConnected","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export blend files from/to disk"},"platforms":["windows-x64","windows-arm64"],"tags":["Import-Export"]},{"id":"render_multiple_instances","schema_version":"1.0.0","name":"Render Multiple Instances","version":"3.2.1","tagline":"Render animations and Flipbooks faster with multiple instances","archive_hash":"sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc","archive_size":8380,"archive_url":"https://extensions.blender.org/download/sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc/add-on-render-multiple-instances-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-multiple-instances/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and read exports images"},"tags":["Render","Pipeline"]},{"id":"turnaround_camera","schema_version":"1.0.0","name":"Turnaround Camera","version":"0.3.0","tagline":"Add a camera rotation around selected object","archive_hash":"sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa","archive_size":3237,"archive_url":"https://extensions.blender.org/download/sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa/add-on-turnaround-camera-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turnaround-camera/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"carver","schema_version":"1.0.0","name":"Carver","version":"1.2.3","tagline":"Multiple tools to carve or to create objects","archive_hash":"sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b","archive_size":29032,"archive_url":"https://extensions.blender.org/download/sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b/add-on-carver-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/carver/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"image_dimensions_viewer","schema_version":"1.0.0","name":"Image Dimensions Viewer","version":"1.0.0","tagline":"Displays image dimensions in Node and Image Editors","archive_hash":"sha256:73f178f668da9da03c70738cdf09c249114e06f33c37bba37bfe8395130f15db","archive_size":4894,"archive_url":"https://extensions.blender.org/download/sha256:73f178f668da9da03c70738cdf09c249114e06f33c37bba37bfe8395130f15db/add-on-image-dimensions-viewer-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/image-dimensions-viewer/","maintainer":"Pazelock","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"dynamic_rig_ui","schema_version":"1.0.0","name":"Dynamic Rig UI","version":"1.0.1","tagline":"Dynamic Rig UI driven by bone collections and custom properties","archive_hash":"sha256:688fae94a0b2cfb8c55da4f0208f0aaa8c2d1d926e437c5334b0ef8df3dc39f7","archive_size":33793,"archive_url":"https://extensions.blender.org/download/sha256:688fae94a0b2cfb8c55da4f0208f0aaa8c2d1d926e437c5334b0ef8df3dc39f7/add-on-dynamic-rig-ui-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/dynamic-rig-ui/","maintainer":"Samy_Rodriguez","license":["SPDX:GPL-3.0-or-later"]},{"id":"auto_paint_boundaries","schema_version":"1.0.0","name":"Auto Paint Boundaries","version":"1.1.1","tagline":"Paint cleanly inside smart, selection-limited regions","archive_hash":"sha256:5db1c2668d80db2e149ac3dd75fc2d15b7a6603e2da184468bd3588f29edb496","archive_size":14645,"archive_url":"https://extensions.blender.org/download/sha256:5db1c2668d80db2e149ac3dd75fc2d15b7a6603e2da184468bd3588f29edb496/add-on-auto-paint-boundaries-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-paint-boundaries/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"sprocket_tools","schema_version":"1.0.0","name":"Sprocket Tools","version":"1.0.2","tagline":"Import and export Sprocket tank blueprints","archive_hash":"sha256:ede8a6a611179c585c1ad09cf5240fb1ea1cda37ecc994ce2c9817ef73f2758b","archive_size":392332,"archive_url":"https://extensions.blender.org/download/sha256:ede8a6a611179c585c1ad09cf5240fb1ea1cda37ecc994ce2c9817ef73f2758b/add-on-sprocket-tools-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sprocket-tools/","maintainer":"Brian-Marshall","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to import/export Sprocket blueprint data"},"tags":["Game Engine","Import-Export"]},{"id":"isometric_scene_setup","schema_version":"1.0.0","name":"Isometric Scene Setup","version":"1.0.1","tagline":"Isometric scene setup and 2D normal map rendering","archive_hash":"sha256:1e9dea02be61e0e956e7686afab62bd16494e620ace389f495cb7de2934bdda4","archive_size":5255,"archive_url":"https://extensions.blender.org/download/sha256:1e9dea02be61e0e956e7686afab62bd16494e620ace389f495cb7de2934bdda4/add-on-isometric-scene-setup-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/isometric-scene-setup/","maintainer":"RafaelPasquay","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"tags":["Camera","Render","Scene"]},{"id":"render_profiler","schema_version":"1.0.0","name":"Render Profiler","version":"0.9.3","tagline":"Profile and analyze Blender render/viewport performance","archive_hash":"sha256:0f8cefbcaf62dc6caeee332a249876c1f9020f5b5827249ab64d6b64c6552169","archive_size":38504,"archive_url":"https://extensions.blender.org/download/sha256:0f8cefbcaf62dc6caeee332a249876c1f9020f5b5827249ab64d6b64c6552169/add-on-render-profiler-v0.9.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-profiler/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","System"]},{"id":"gruvbox_green_theme","schema_version":"1.0.0","name":"Gruvbox Green Theme","version":"1.0.1","tagline":"A gruvbox theme that is using aqua / green as the primary color","archive_hash":"sha256:f557ec7c47635202c1a700091f1c35cb931aff8f7c5791200d988f9f3a30e85e","archive_size":6478,"archive_url":"https://extensions.blender.org/download/sha256:f557ec7c47635202c1a700091f1c35cb931aff8f7c5791200d988f9f3a30e85e/theme-gruvbox-green-theme-v1.0.1.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/gruvbox-green-theme/","maintainer":"Edin-Spiegel","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"batch_texture_converter","schema_version":"1.0.0","name":"Batch Texture Converter","version":"1.1.0","tagline":"Bulk texture conversion with color space and alpha splitting","archive_hash":"sha256:93fd5b7addd7d32213938f448fafd1bbc342f27c6eba53f55104ce79dbe2080a","archive_size":4400,"archive_url":"https://extensions.blender.org/download/sha256:93fd5b7addd7d32213938f448fafd1bbc342f27c6eba53f55104ce79dbe2080a/add-on-batch-texture-converter-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/batch-texture-converter/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write local files"},"tags":["Import-Export"]},{"id":"stmap_exporter","schema_version":"1.0.0","name":"STMap Exporter","version":"1.1.0","tagline":"STMap Exporter for All Distortion Models","archive_hash":"sha256:19b8aaa06074c695d069c27288c0703b4f8d6be6046d4a4e663bcb18d94c4a61","archive_size":8942,"archive_url":"https://extensions.blender.org/download/sha256:19b8aaa06074c695d069c27288c0703b4f8d6be6046d4a4e663bcb18d94c4a61/add-on-stmap-exporter-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stmap-exporter/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Import-Export"]},{"id":"softviz_pro","schema_version":"1.0.0","name":"SoftViz Pro","version":"1.2.0","tagline":"GPU-accelerated heatmap visualizer for Proportional Editing","archive_hash":"sha256:3f84cef289f013863d16b9a80df390e0c24b5b9deb9c094e6f1749bbc9d946f9","archive_size":5456,"archive_url":"https://extensions.blender.org/download/sha256:3f84cef289f013863d16b9a80df390e0c24b5b9deb9c094e6f1749bbc9d946f9/add-on-softviz-pro-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/softviz-pro/","maintainer":"Niels-Couvreur","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","3D View"]},{"id":"script_launcher","schema_version":"1.0.0","name":"Script Launcher","version":"1.1.2","tagline":"Manage and run Python scripts from multiple root folders","archive_hash":"sha256:a5681588beaaaccb4a5a2d2791d9ec3944eefa68227d823148597f02056d5eab","archive_size":7074,"archive_url":"https://extensions.blender.org/download/sha256:a5681588beaaaccb4a5a2d2791d9ec3944eefa68227d823148597f02056d5eab/add-on-script-launcher-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/script-launcher/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Development","Pipeline"]},{"id":"momentum","schema_version":"1.0.0","name":"Momentum","version":"1.0.1","tagline":"quickly add configurable follow-through to animations","archive_hash":"sha256:1d8f3e962baabeb2f028ae92952bc9f3fbffc0c390c2889859534dab616f7383","archive_size":16133,"archive_url":"https://extensions.blender.org/download/sha256:1d8f3e962baabeb2f028ae92952bc9f3fbffc0c390c2889859534dab616f7383/add-on-momentum-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/momentum/","maintainer":"Isaac-Burke","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"lily_lime_theme","schema_version":"1.0.0","name":"LiLy Lime","version":"1.0.0","tagline":"A fresh LiLy Lime-inspired light theme for Blender","archive_hash":"sha256:64af2baa0f398da24c045d1e33265dfcc174fc2e2df0c23dbbdfb10e331829bb","archive_size":9509,"archive_url":"https://extensions.blender.org/download/sha256:64af2baa0f398da24c045d1e33265dfcc174fc2e2df0c23dbbdfb10e331829bb/theme-lily-lime-theme-v1.0.0.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/lily-lime-theme/","maintainer":"Eridanus-Epsilon","license":["SPDX:MIT"],"tags":["Light","Colorful","Inspired By"]},{"id":"Solemn_Theme","schema_version":"1.0.0","name":"Solemn","version":"1.0.1","tagline":"A clean and dark theme","archive_hash":"sha256:2ae08f3759820778a85132a84edc89b77faf2240f844638469d28932bdd57f5e","archive_size":6723,"archive_url":"https://extensions.blender.org/download/sha256:2ae08f3759820778a85132a84edc89b77faf2240f844638469d28932bdd57f5e/theme-solemn-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.1","website":"https://extensions.blender.org/themes/solemn-theme/","maintainer":"czod","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Dark_Max_Pro","schema_version":"1.0.0","name":"Dark Max Pro","version":"1.0.0","tagline":"Pro Dark Max","archive_hash":"sha256:fbdab60a32fc45ac3a8de80366bea7dd8fb2903d315daf9714e496f7516f3f6e","archive_size":5433,"archive_url":"https://extensions.blender.org/download/sha256:fbdab60a32fc45ac3a8de80366bea7dd8fb2903d315daf9714e496f7516f3f6e/theme-dark-max-pro-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-max-pro/","maintainer":"PedroAmorim","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"gp_select","schema_version":"1.0.0","name":"Gp Select","version":"1.2.2","tagline":"Grease Pencil,Weight/Rig,reorder,Rename,lock,Duplicate,Mask,Hide","archive_hash":"sha256:ca2e053296dbdd1f9b0ac99534f77e59c717bae915dcde402b68f329c5e93b4f","archive_size":14151,"archive_url":"https://extensions.blender.org/download/sha256:ca2e053296dbdd1f9b0ac99534f77e59c717bae915dcde402b68f329c5e93b4f/add-on-gp-select-v1.2.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/gp-select/","maintainer":"HissatsuClaw","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Rigging"]},{"id":"stop_motion_style_animator","schema_version":"1.0.0","name":"Stop Motion Animator","version":"0.3.1","tagline":"Convert animations into stop-motion style","archive_hash":"sha256:264e8e39a2015709778e8c3fbb8c70585aabd438ee9737b9df538d1f9ad24917","archive_size":3004,"archive_url":"https://extensions.blender.org/download/sha256:264e8e39a2015709778e8c3fbb8c70585aabd438ee9737b9df538d1f9ad24917/add-on-stop-motion-style-animator-v0.3.1.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/stop-motion-style-animator/","maintainer":"Copperhead","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"alias_repowered","schema_version":"1.0.0","name":"Alias Repowered","version":"1.0.0","tagline":"Classic theme inspired by Alias Poweranimator","archive_hash":"sha256:b2d913d82657c2b4f5e91eb61d5fe3ed131b2601234714a2b6aefc7adc91a525","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:b2d913d82657c2b4f5e91eb61d5fe3ed131b2601234714a2b6aefc7adc91a525/theme-alias-repowered-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/alias-repowered/","maintainer":"Tetrabunz","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Light"]},{"id":"object_reporter","schema_version":"1.0.0","name":"Object Reporter","version":"2.4.5","tagline":"Report, edit, select and export objects by custom properties","archive_hash":"sha256:7691ac2222aebcc83143312b391bb43f44683972a68d6216a69b50d4eef7adfa","archive_size":71155,"archive_url":"https://extensions.blender.org/download/sha256:7691ac2222aebcc83143312b391bb43f44683972a68d6216a69b50d4eef7adfa/add-on-object-reporter-v2.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/object-reporter/","maintainer":"Justinas-Dudenas","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export object property reports to CSV files on disk"},"tags":["Object"]},{"id":"e_topology_smooth","schema_version":"1.0.0","name":"E Topology Smooth","version":"2.7.1","tagline":"Mesh topology smoothing with G0-G4 continuity analysis","archive_hash":"sha256:2428b86c5e340712ce74dfe731cf5601acf3222f187189a2495bc683d42282ba","archive_size":35954186,"archive_url":"https://extensions.blender.org/download/sha256:2428b86c5e340712ce74dfe731cf5601acf3222f187189a2495bc683d42282ba/add-on-e-topology-smooth-v2.7.1-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/e-topology-smooth/","maintainer":"Eridanus-Epsilon","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Mesh","Modeling"]},{"id":"frame_range_renderer","schema_version":"1.0.0","name":"Frame Range Renderer","version":"1.0.0","tagline":"Render specific frames or frame ranges from the Output panel","archive_hash":"sha256:36b5912e8efd5943a737161e6076a0fc4c5dd0aa949bb60850dd6d1e45d2da53","archive_size":8126,"archive_url":"https://extensions.blender.org/download/sha256:36b5912e8efd5943a737161e6076a0fc4c5dd0aa949bb60850dd6d1e45d2da53/add-on-frame-range-renderer-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/frame-range-renderer/","maintainer":"AndreasResch","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Writes output images to disk"}},{"id":"soleshapper","schema_version":"1.0.0","name":"SoleShapper","version":"2.0.1","tagline":"Procedural shoe sole designer with noise deformation","archive_hash":"sha256:3724521212c5bf026c78f3dccef1cee697355dceac3847de85350f9cdf8d3ae7","archive_size":23584,"archive_url":"https://extensions.blender.org/download/sha256:3724521212c5bf026c78f3dccef1cee697355dceac3847de85350f9cdf8d3ae7/add-on-soleshapper-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/soleshapper/","maintainer":"David-Orrick","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import OBJ meshes and export STL or OBJ"},"tags":["Add Mesh"]},{"id":"edge_length_measure","schema_version":"1.0.0","name":"Edge Length Measure","version":"1.0.0","tagline":"Measure mesh edge lengths in Object Mode","archive_hash":"sha256:1fb1319bf07728a6c8cd4478f28a8ebb03072f0f2f10a2f7392c8586bfb73a0e","archive_size":16761,"archive_url":"https://extensions.blender.org/download/sha256:1fb1319bf07728a6c8cd4478f28a8ebb03072f0f2f10a2f7392c8586bfb73a0e/add-on-edge-length-measure-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/edge-length-measure/","maintainer":"binary-angel","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Mesh","Modeling"]},{"id":"tu_addon_id","schema_version":"1.0.0","name":"GeneradorMapsPbr","version":"1.0.0","tagline":"Make texture metallic,specular,Roughtness,NormalMap,Height","archive_hash":"sha256:0b37d42af8905161a45836f5c1be098f1f22b9b171f46995b3c9828791ebe37b","archive_size":6065,"archive_url":"https://extensions.blender.org/download/sha256:0b37d42af8905161a45836f5c1be098f1f22b9b171f46995b3c9828791ebe37b/add-on-tu-addon-id-v1.0.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/tu-addon-id/","maintainer":"Fran-Dominguez-Leiva-2","license":["SPDX:GPL-3.0-or-later"]},{"id":"doblux_geometry_node_group_execute","schema_version":"1.0.0","name":"DOBLUX Button to execute Geometry Node Group","version":"1.1.1","tagline":"one-click execution of any open Geometry Node group","archive_hash":"sha256:2975816a00a2d28d2f8cb8f9ba6c7598208d07ce1e72e6795c847847b4495344","archive_size":2014,"archive_url":"https://extensions.blender.org/download/sha256:2975816a00a2d28d2f8cb8f9ba6c7598208d07ce1e72e6795c847847b4495344/add-on-doblux-geometry-node-group-execute-v1.1.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/doblux-geometry-node-group-execute/","maintainer":"Dan-Oak","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes","User Interface"]},{"id":"Crunchyroll_Dark","schema_version":"1.0.0","name":"Crunchyroll Dark","version":"1.0.0","tagline":"A Crunchyroll theme for Blender","archive_hash":"sha256:c8ce1657172ae7e855e8820d924070caab3bfeedb20a47fc12ec2abbbed17c55","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:c8ce1657172ae7e855e8820d924070caab3bfeedb20a47fc12ec2abbbed17c55/theme-crunchyroll-dark-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/crunchyroll-dark/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"EyeZen","schema_version":"1.0.0","name":"Eye Zen","version":"1.0.3","tagline":"A Relaxing Theme","archive_hash":"sha256:822e900972709f7402a5021b569ec8cc29074656d7a7037fc0a1434023287362","archive_size":5767,"archive_url":"https://extensions.blender.org/download/sha256:822e900972709f7402a5021b569ec8cc29074656d7a7037fc0a1434023287362/theme-eyezen-v1.0.3.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/eyezen/","maintainer":"Sakuta-Narukami","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Print"]},{"id":"randomizer","schema_version":"1.0.0","name":"Material Randomizer Pro","version":"1.10.0","tagline":"Material Randomization Tools","archive_hash":"sha256:8747ea7cad63a28ebba701b426f306ad6fc1bf8c66f7486c222a40120f902d46","archive_size":10795,"archive_url":"https://extensions.blender.org/download/sha256:8747ea7cad63a28ebba701b426f306ad6fc1bf8c66f7486c222a40120f902d46/add-on-randomizer-v1.10.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/randomizer/","maintainer":"lambdawalker","license":["SPDX:GPL-3.0-or-later"]},{"id":"Dark_Pro_Max_Theme","schema_version":"1.0.0","name":"Dark_Pro_Max_Theme","version":"1.0.8","tagline":"Dark Ultra Plus","archive_hash":"sha256:a41a968cf505728dee403000c953fa2ad6ef5e52cf97e98522c2e1e043b78d35","archive_size":5658,"archive_url":"https://extensions.blender.org/download/sha256:a41a968cf505728dee403000c953fa2ad6ef5e52cf97e98522c2e1e043b78d35/theme-dark-pro-max-theme-v1.0.8.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-pro-max-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"output_setup_helper","schema_version":"1.0.0","name":"Output Setup Helper","version":"5.0.1","tagline":"Auto setup render outputs and denoising for multi-pass renders","archive_hash":"sha256:2ae18a2f31ec11e134586c3dfae4df83732dbc5c42a39171a04ab3f6c4f2c848","archive_size":4450,"archive_url":"https://extensions.blender.org/download/sha256:2ae18a2f31ec11e134586c3dfae4df83732dbc5c42a39171a04ab3f6c4f2c848/add-on-output-setup-helper-v5.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/output-setup-helper/","maintainer":"lukas.remis","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Render","Pipeline"]},{"id":"reflex_potentials","schema_version":"1.0.0","name":"Reflex Potentials","version":"1.0.3","tagline":"Reflex Potentials","archive_hash":"sha256:f41f8e3805cf75f8cb732dc24733ab839f5b7d633d136bcc59f40635245b1890","archive_size":35482,"archive_url":"https://extensions.blender.org/download/sha256:f41f8e3805cf75f8cb732dc24733ab839f5b7d633d136bcc59f40635245b1890/add-on-reflex-potentials-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/reflex-potentials/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"blender_source_theme","schema_version":"1.0.0","name":"Source","version":"1.0.0","tagline":"This is a Source Engine Based theme for Blender","archive_hash":"sha256:5a6aaaf773d46c437c98caef00c0dfede6a26d4b2ffdd0853fa099fdfe95ac49","archive_size":6684,"archive_url":"https://extensions.blender.org/download/sha256:5a6aaaf773d46c437c98caef00c0dfede6a26d4b2ffdd0853fa099fdfe95ac49/theme-blender-source-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blender-source-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"Blueprint_Theme","schema_version":"1.0.0","name":"Blueprint_Theme","version":"1.0.3","tagline":"True Blueprint Colour","archive_hash":"sha256:259a10535fcb1f7092a2278a4dfe0af8b8ecf5d66192ef2a3c9ef3375b6a79cf","archive_size":5665,"archive_url":"https://extensions.blender.org/download/sha256:259a10535fcb1f7092a2278a4dfe0af8b8ecf5d66192ef2a3c9ef3375b6a79cf/theme-blueprint-theme-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Nostalgia_2bit_UI","schema_version":"1.0.0","name":"Nostalgia_2bit_UI","version":"1.2.6","tagline":"Hi-fi alternate of default Light","archive_hash":"sha256:2d3c82efd1d86bf7f4bdef2f5f824f652a03c3af688a189893be3900c7a9dd1a","archive_size":5589,"archive_url":"https://extensions.blender.org/download/sha256:2d3c82efd1d86bf7f4bdef2f5f824f652a03c3af688a189893be3900c7a9dd1a/theme-nostalgia-2bit-ui-v1.2.6.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/nostalgia-2bit-ui/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"BLeQ_Extension","schema_version":"1.0.0","name":"BLeQ","version":"1.0.5","tagline":"Renderqueue / 3DHomePage / Hardwaremonitor / Tools","archive_hash":"sha256:286cefdc0eaeabc2e348c1e26ac7c5eaec9946603e3570aa5382a1704132c0ac","archive_size":35304,"archive_url":"https://extensions.blender.org/download/sha256:286cefdc0eaeabc2e348c1e26ac7c5eaec9946603e3570aa5382a1704132c0ac/add-on-bleq-extension-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bleq-extension/","maintainer":"Christian-Makarski","license":["SPDX:GPL-3.0-or-later"]},{"id":"driver_copy_io","schema_version":"1.0.0","name":"Driver Copy IO","version":"2.1.1","tagline":"Copy/Paste drivers via JSON using full path","archive_hash":"sha256:58a88728287093155bb2f61c7a7e526c2923c0889872d4613bf2db867dba207d","archive_size":21147,"archive_url":"https://extensions.blender.org/download/sha256:58a88728287093155bb2f61c7a7e526c2923c0889872d4613bf2db867dba207d/add-on-driver-copy-io-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/driver-copy-io/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"modifier_manager","schema_version":"1.0.0","name":"Modifier Manager","version":"1.0.2","tagline":"Manage your modifiers from right click menu","archive_hash":"sha256:0e03355dba011e705ff220940779f32169080136f625866173e8a79077f87f29","archive_size":11707,"archive_url":"https://extensions.blender.org/download/sha256:0e03355dba011e705ff220940779f32169080136f625866173e8a79077f87f29/add-on-modifier-manager-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifier-manager/","maintainer":"KewlSheet","license":["SPDX:GPL-3.0-or-later"]},{"id":"mockup_screenshoter","schema_version":"1.0.0","name":"Mockup Screenshoter","version":"0.9.1","tagline":"Capture your screen to make mockups in Penpot","archive_hash":"sha256:16c2d787b49297921eebec6f3bebf1727606c435f1053f6ed6eab55280bbd96e","archive_size":6437,"archive_url":"https://extensions.blender.org/download/sha256:16c2d787b49297921eebec6f3bebf1727606c435f1053f6ed6eab55280bbd96e/add-on-mockup-screenshoter-v0.9.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mockup-screenshoter/","maintainer":"Blender","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary folder for the screen captures","clipboard":"Copy Penpot-ready json into the clipboard"},"tags":["Development"]},{"id":"SilhouetteToole","schema_version":"1.0.0","name":"SilhouetteToole","version":"1.9.3","tagline":"One-click viewport silhouette mode","archive_hash":"sha256:3d21f4e70cbc54a5ad89ce8169dcec502cad3d4d5a96c3cbd899ddee1ec82bc9","archive_size":2042,"archive_url":"https://extensions.blender.org/download/sha256:3d21f4e70cbc54a5ad89ce8169dcec502cad3d4d5a96c3cbd899ddee1ec82bc9/add-on-silhouettetoole-v1.9.3.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/silhouettetoole/","maintainer":"Quinzy","license":["SPDX:GPL-3.0-or-later"]},{"id":"b3d_ui_langloop","schema_version":"1.0.0","name":"B3D UI Language Loop","version":"1.0.3","tagline":"Quickly cycle Blender interface languages with a shortcut","archive_hash":"sha256:63bf8c9073919e21a7eb49b352d02a54f71057cfe26adce7f9d2337ac9a0b866","archive_size":6240,"archive_url":"https://extensions.blender.org/download/sha256:63bf8c9073919e21a7eb49b352d02a54f71057cfe26adce7f9d2337ac9a0b866/add-on-b3d-ui-langloop-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b3d-ui-langloop/","maintainer":"楊景貴","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Expecto_Patronum_Theme","schema_version":"1.0.0","name":"Expecto_Patronum_Theme","version":"1.0.4","tagline":"Airy Guardian Spirit","archive_hash":"sha256:953fcee6436a16e31e8c1e9b758e39d95ab5368dd255fdf1536032491139eac8","archive_size":5720,"archive_url":"https://extensions.blender.org/download/sha256:953fcee6436a16e31e8c1e9b758e39d95ab5368dd255fdf1536032491139eac8/theme-expecto-patronum-theme-v1.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/expecto-patronum-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"tree_clipper","schema_version":"1.0.0","name":"Tree Clipper","version":"0.1.6","tagline":"Export and import Blender node trees as JSON","archive_hash":"sha256:e67f50a0da6699a7257e93f10be341f5e3461d070d808c2281264d8d0ac8de44","archive_size":52846,"archive_url":"https://extensions.blender.org/download/sha256:e67f50a0da6699a7257e93f10be341f5e3461d070d808c2281264d8d0ac8de44/add-on-tree-clipper-v0.1.6.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/tree-clipper/","maintainer":"Lars-Helge-Scheel","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Node"]},{"id":"shapingrecorder","schema_version":"1.0.0","name":"Shaping Recorder","version":"0.7.5","tagline":"Record mesh shaping and viewport moves, replay interpolated","archive_hash":"sha256:a10c5e07c373447ad896741da47cc8a4fc831852c2f09261b57c120f2f8c3596","archive_size":38248,"archive_url":"https://extensions.blender.org/download/sha256:a10c5e07c373447ad896741da47cc8a4fc831852c2f09261b57c120f2f8c3596/add-on-shapingrecorder-v0.7.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapingrecorder/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write image sequences"},"tags":["Modeling"]},{"id":"reforge","schema_version":"1.0.0","name":"Reforge","version":"0.5.2","tagline":"Reforge Blender scenes into Defold assets","archive_hash":"sha256:15bd625739050ad3a4b3641ebdebfac6298330c02dee5d0b1bc08eb96b47f811","archive_size":16167,"archive_url":"https://extensions.blender.org/download/sha256:15bd625739050ad3a4b3641ebdebfac6298330c02dee5d0b1bc08eb96b47f811/add-on-reforge-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reforge/","maintainer":"Alexander-Bulatov","license":["SPDX:GPL-3.0-or-later"]},{"id":"comparable","schema_version":"1.0.0","name":"Comparable","version":"1.0.2","tagline":"Compare two objects or collections in one click","archive_hash":"sha256:b72d64fdb22b697a07806b75fcf932348475e326fc38b27d9230ddc0aae2116d","archive_size":3981,"archive_url":"https://extensions.blender.org/download/sha256:b72d64fdb22b697a07806b75fcf932348475e326fc38b27d9230ddc0aae2116d/add-on-comparable-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/comparable/","maintainer":"ffuthoni","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"screenwriter","schema_version":"1.0.0","name":"Screenwriter","version":"1.0.0","tagline":"Screenplay formatting and syncing tools for Blender","archive_hash":"sha256:ea16e42750bde882d4e1ceed7a74d55e020bb52bed06816615f9d5e162f6c2c6","archive_size":7307,"archive_url":"https://extensions.blender.org/download/sha256:ea16e42750bde882d4e1ceed7a74d55e020bb52bed06816615f9d5e162f6c2c6/add-on-screenwriter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/screenwriter/","maintainer":"zhengyang237","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing .fountain files"}},{"id":"image_zoom_overlay","schema_version":"1.0.0","name":"Image Zoom Overlay","version":"1.0.0","tagline":"Display zoom level in Image Editor with quick presets","archive_hash":"sha256:96407335647d7191ba1522818bd6f5b9e15be10fd896c50a18a5330e4d09e154","archive_size":2896,"archive_url":"https://extensions.blender.org/download/sha256:96407335647d7191ba1522818bd6f5b9e15be10fd896c50a18a5330e4d09e154/add-on-image-zoom-overlay-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/image-zoom-overlay/","maintainer":"pikok85","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to image editor display settings"},"tags":["User Interface"]},{"id":"pataz_notes","schema_version":"1.0.0","name":"Pataz Notes","version":"5.1.1","tagline":"Anotate your blend files","archive_hash":"sha256:41e6e18fe44ba530a0525c3f1543a54589096fe017ad1dac108aa96a03ab72b0","archive_size":4385,"archive_url":"https://extensions.blender.org/download/sha256:41e6e18fe44ba530a0525c3f1543a54589096fe017ad1dac108aa96a03ab72b0/add-on-pataz-notes-v5.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-notes/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"local_view_collection","schema_version":"1.0.0","name":"Local View by collection","version":"1.0.1","tagline":"Quickly isolate into local view the objects of a collection","archive_hash":"sha256:b3787414e05eb4fec2321dfa8869b24a904daca1a94537c0624733dd171b9e7b","archive_size":5631,"archive_url":"https://extensions.blender.org/download/sha256:b3787414e05eb4fec2321dfa8869b24a904daca1a94537c0624733dd171b9e7b/add-on-local-view-collection-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/local-view-collection/","maintainer":"D3W3","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","User Interface"]},{"id":"omoospace","schema_version":"1.0.0","name":"Omoospace","version":"0.2.1","tagline":"Manage your project files in omoospace's way","archive_hash":"sha256:fda909ae9183036292520db5c2e8b564f43f7156c0acb1ede24b38eeab8a04cf","archive_size":1669373,"archive_url":"https://extensions.blender.org/download/sha256:fda909ae9183036292520db5c2e8b564f43f7156c0acb1ede24b38eeab8a04cf/add-on-omoospace-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omoospace/","maintainer":"icrdr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Manage your project files in omoospace's way"},"platforms":["windows-x64"],"tags":["Pipeline"]},{"id":"export_curve_to_json","schema_version":"1.0.0","name":"Export Curve To Json","version":"1.0.2","tagline":"File import/export for curves with JSON","archive_hash":"sha256:3646464bdf053849db751b2222790836064e5e268c70ef559f89bacde467c115","archive_size":18907,"archive_url":"https://extensions.blender.org/download/sha256:3646464bdf053849db751b2222790836064e5e268c70ef559f89bacde467c115/add-on-export-curve-to-json-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-curve-to-json/","maintainer":"Quint-Vrolijk","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"sculpting_extra_meshes_curve","schema_version":"1.0.0","name":"Sculpting Extra Meshes + Curve","version":"1.2.1","tagline":"Add primitives, join, boolean, mirror while in Sculpt Mode","archive_hash":"sha256:1ffdfc6d35b339f74a33a425a63d896b0c1516306e1c70b14974ea032f47f556","archive_size":3706,"archive_url":"https://extensions.blender.org/download/sha256:1ffdfc6d35b339f74a33a425a63d896b0c1516306e1c70b14974ea032f47f556/add-on-sculpting-extra-meshes-curve-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sculpting-extra-meshes-curve/","maintainer":"pixldg","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt"]},{"id":"global_custom_properties","schema_version":"1.0.0","name":"Global Custom Properties","version":"1.0.0","tagline":"Reusable Custom Properties on Objects and Collections","archive_hash":"sha256:9775ca35a3b7fb12a8c36dcbde85c8497a0ddd8938ec180416d9f23d9907d128","archive_size":18782,"archive_url":"https://extensions.blender.org/download/sha256:9775ca35a3b7fb12a8c36dcbde85c8497a0ddd8938ec180416d9f23d9907d128/add-on-global-custom-properties-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/global-custom-properties/","maintainer":"1hue","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"SimpleMIDI","schema_version":"1.0.0","name":"SimpleMIDI","version":"0.1.13","tagline":"Control object parameters through MIDI Input","archive_hash":"sha256:1c9001d8ced49c7dd63ec3c88c69f3095eff57dd00b6d45f136dd6a00b67db16","archive_size":279077,"archive_url":"https://extensions.blender.org/download/sha256:1c9001d8ced49c7dd63ec3c88c69f3095eff57dd00b6d45f136dd6a00b67db16/add-on-simplemidi-v0.1.13-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simplemidi/","maintainer":"yadu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Imports and exports JSON for target maps"},"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"curve_fillet_tool","schema_version":"1.0.0","name":"NURBS/Poly Fillet Tool","version":"1.0.0","tagline":"Fillet and 'unfillet' for paths","archive_hash":"sha256:07d671b719e336aba5192208baf4951d2db3cf161e56350c3fb405fb3b6b1df7","archive_size":17360,"archive_url":"https://extensions.blender.org/download/sha256:07d671b719e336aba5192208baf4951d2db3cf161e56350c3fb405fb3b6b1df7/add-on-curve-fillet-tool-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/curve-fillet-tool/","maintainer":"zaphod","license":["SPDX:GPL-3.0-or-later"]},{"id":"time_stretch_sync","schema_version":"1.0.0","name":"Time Stretch Sync","version":"1.1.0","tagline":"Sync timeline range, playline and operators with timestretching","archive_hash":"sha256:347dd396d927096a9f8c361e79214b2a612a5ca8208274a667ee207195f5df4c","archive_size":13493,"archive_url":"https://extensions.blender.org/download/sha256:347dd396d927096a9f8c361e79214b2a612a5ca8208274a667ee207195f5df4c/add-on-time-stretch-sync-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-stretch-sync/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"render_subcollections","schema_version":"1.0.0","name":"Render Subcollections","version":"1.0.1","tagline":"Automatically renders subcollections one by one","archive_hash":"sha256:54f2c7f20d243d96a7575d8083e92de190a0ceb9149e3757491c82cad3833066","archive_size":3353,"archive_url":"https://extensions.blender.org/download/sha256:54f2c7f20d243d96a7575d8083e92de190a0ceb9149e3757491c82cad3833066/add-on-render-subcollections-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-subcollections/","maintainer":"Nico-Peters","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Camera"]},{"id":"Dissolve2EdgeVertices","schema_version":"1.0.0","name":"Dissolve 2-Edge Vertices","version":"1.1.0","tagline":"Dissolve vertices with two edges to clean up mesh topology","archive_hash":"sha256:6bfec11aea3f67f68c75897824e690f2110b5a0a84f57b8c9681e1b46a60241a","archive_size":1920,"archive_url":"https://extensions.blender.org/download/sha256:6bfec11aea3f67f68c75897824e690f2110b5a0a84f57b8c9681e1b46a60241a/add-on-dissolve2edgevertices-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dissolve2edgevertices/","maintainer":"Jackal","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"beyond_channel_packer","schema_version":"1.0.0","name":"Beyond Channel Packer","version":"1.0.2","tagline":"Pack image channels (RGBA) in the Image Editor","archive_hash":"sha256:713e336af49bf826e91aead72025eadd114580927d24e33e0493583e187b7e77","archive_size":22143,"archive_url":"https://extensions.blender.org/download/sha256:713e336af49bf826e91aead72025eadd114580927d24e33e0493583e187b7e77/add-on-beyond-channel-packer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.9.999","website":"https://extensions.blender.org/add-ons/beyond-channel-packer/","maintainer":"tyler.tofu","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","Paint"]},{"id":"chordsong","schema_version":"1.0.0","name":"Chord Song","version":"1.1.6","tagline":"Vim-like key implementation for Blender","archive_hash":"sha256:63e0b7ffb93d0651424f0cd46e9b88186d8d84e63d85bf2ce8d816aa0dcbe49d","archive_size":178683,"archive_url":"https://extensions.blender.org/download/sha256:63e0b7ffb93d0651424f0cd46e9b88186d8d84e63d85bf2ce8d816aa0dcbe49d/add-on-chordsong-v1.1.6.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/chordsong/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Development"]},{"id":"keyboard_layout_emulation","schema_version":"1.0.0","name":"Keyboard Layout Emulation","version":"1.0.2","tagline":"Emulate QWERTY keyboard shortcuts on non-QWERTY keyboard layouts","archive_hash":"sha256:16913e50665a8e293b248d82aec64859f67c4c0932a3ef41b765cbcb603b2e04","archive_size":32090,"archive_url":"https://extensions.blender.org/download/sha256:16913e50665a8e293b248d82aec64859f67c4c0932a3ef41b765cbcb603b2e04/add-on-keyboard-layout-emulation-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyboard-layout-emulation/","maintainer":"endorh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export keyboard layouts/add-on preferences"},"tags":["User Interface"]},{"id":"ghostview","schema_version":"1.0.0","name":"GhostView","version":"1.0.2","tagline":"Adjust Window Opacity","archive_hash":"sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2","archive_size":1997,"archive_url":"https://extensions.blender.org/download/sha256:5cdb7039cbed497381072c413152cc571e9a6d37e92364fd2331d864785c7cc2/add-on-ghostview-v1.0.2-windows-x64-windows-arm64-macos-x64-macos-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ghostview/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","windows-arm64","macos-x64","macos-arm64"],"tags":["User Interface","System"]},{"id":"majik_blender_edu_teacher","schema_version":"1.0.0","name":"Majik Blender Edu","version":"1.1.4","tagline":"Submission integrity tool for educators to verify students' work","archive_hash":"sha256:fc1007990be6653f524611f8c7f1daf8b043dcb0bc55d7fb103d26612786446f","archive_size":3743388,"archive_url":"https://extensions.blender.org/download/sha256:fc1007990be6653f524611f8c7f1daf8b043dcb0bc55d7fb103d26612786446f/add-on-majik-blender-edu-teacher-v1.1.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/majik-blender-edu-teacher/","maintainer":"Zelijah","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write keys and logs as JSON for integrity verification","network":"Access required for JSON file analysis"},"platforms":["windows-x64"],"tags":["Pipeline"]},{"id":"theme_elsyiun_like","schema_version":"1.0.0","name":"elsyiun like","version":"1.1.0","tagline":"A flat dark theme that is easy on the eyes","archive_hash":"sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1","archive_size":5639,"archive_url":"https://extensions.blender.org/download/sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1/theme-theme-elsyiun-like-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-elsyiun-like/","maintainer":"modekichi","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"only_blends_mixer","schema_version":"1.0.0","name":"OnlyBlends.Mixer","version":"0.1.4","tagline":"An extension to turn Blender into a Mixer... of Sounds","archive_hash":"sha256:9b4dfdd0e1da99931f745bd89229c3ed3edb2fa89bedfd0b6afc481b8a3bf347","archive_size":54096,"archive_url":"https://extensions.blender.org/download/sha256:9b4dfdd0e1da99931f745bd89229c3ed3edb2fa89bedfd0b6afc481b8a3bf347/add-on-only-blends-mixer-v0.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-mixer/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline"]},{"id":"viewport_navigation_display","schema_version":"1.0.0","name":"Viewport Navigation Display","version":"1.2.1","tagline":"Visualize and control other viewports from TOP view","archive_hash":"sha256:3764c677ad34d57510e22257ff61646ab4ec8a25d2599486588d2bf9ab2bba01","archive_size":44446,"archive_url":"https://extensions.blender.org/download/sha256:3764c677ad34d57510e22257ff61646ab4ec8a25d2599486588d2bf9ab2bba01/add-on-viewport-navigation-display-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-navigation-display/","maintainer":"Cristiano-Tosoni","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","User Interface"]},{"id":"viewport_fps","schema_version":"1.0.0","name":"Viewport FPS","version":"1.0.2","tagline":"Displays frames per second in current 3D viewport","archive_hash":"sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f","archive_size":3040,"archive_url":"https://extensions.blender.org/download/sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f/add-on-viewport-fps-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-fps/","maintainer":"Pazelock","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","System"]},{"id":"asset_shelf_shortcut_display","schema_version":"1.0.0","name":"Asset Shelf Shortcut Display","version":"1.0.0","tagline":"Adds a line with hotkey/shortcut of the asset in the shelf","archive_hash":"sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad","archive_size":2816,"archive_url":"https://extensions.blender.org/download/sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad/add-on-asset-shelf-shortcut-display-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/asset-shelf-shortcut-display/","maintainer":"The-Loose-Spirit","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_signs","schema_version":"1.0.0","name":"QuickSigns","version":"1.0.1","tagline":"Create 3D text signs with Google Fonts integration","archive_hash":"sha256:d24a17ff92d6a2bbcbc7767c5c4f0a92eee7c6a564e900db4fd993545f9d9959","archive_size":9089,"archive_url":"https://extensions.blender.org/download/sha256:d24a17ff92d6a2bbcbc7767c5c4f0a92eee7c6a564e900db4fd993545f9d9959/add-on-quick-signs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-signs/","maintainer":"Marin-Brouwers","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write font files to local storage","network":"Access Google Fonts API for font search and download"},"tags":["Import-Export"]},{"id":"dy_pack_master","schema_version":"1.0.0","name":"dy Pack Master","version":"1.0.1","tagline":"Make Blender projects portable for render farms","archive_hash":"sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f","archive_size":34845,"archive_url":"https://extensions.blender.org/download/sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f/add-on-dy-pack-master-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dy-pack-master/","maintainer":"cdordelly","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Copies and localizes external assets to project directory"},"tags":["Pipeline","Import-Export","System"]},{"id":"cycles_bake_info","schema_version":"1.0.0","name":"Bake Info","version":"1.0.2","tagline":"fast bake checkup","archive_hash":"sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5/add-on-cycles-bake-info-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cycles-bake-info/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"Areas_by_Materials","schema_version":"1.0.0","name":"Areas by Materials","version":"1.6.0","tagline":"Displays information about areas of materials in selection","archive_hash":"sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9","archive_size":3609,"archive_url":"https://extensions.blender.org/download/sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9/add-on-areas-by-materials-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/areas-by-materials/","maintainer":"Justinas-Dudenas","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","User Interface"]},{"id":"quill","schema_version":"1.0.0","name":"Quill Import/Export","version":"1.4.2","tagline":"Import and export Quill VR illustrations and animations","archive_hash":"sha256:cf17224facfb070004066cbdd94970612938ededfc654573a7ce1b787e7a5daf","archive_size":52095,"archive_url":"https://extensions.blender.org/download/sha256:cf17224facfb070004066cbdd94970612938ededfc654573a7ce1b787e7a5daf/add-on-quill-v1.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quill/","maintainer":"Joan-Charmant","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export Quill projects from/to disk"},"tags":["Import-Export"]},{"id":"splats","schema_version":"1.0.0","name":"Splats","version":"1.0.1","tagline":"Generate multi-view training data for Gaussian Splatting","archive_hash":"sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2","archive_size":15856,"archive_url":"https://extensions.blender.org/download/sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2/add-on-splats-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/splats/","maintainer":"Dev.Patel","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PLY point clouds and render output files"},"tags":["Render","Camera"]},{"id":"export_curve_as_svg","schema_version":"1.0.0","name":"Export Curve as SVG","version":"1.0.0","tagline":"Export selected Bezier and Poly curves as SVG files","archive_hash":"sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990","archive_size":16937,"archive_url":"https://extensions.blender.org/download/sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990/add-on-export-curve-as-svg-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-curve-as-svg/","maintainer":"Gilberto.R","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"asset_library_tools","schema_version":"1.0.0","name":"Asset Library Tools","version":"1.0.0","tagline":"Filter assets by tags and catalogue backups for asset libraries","archive_hash":"sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37","archive_size":15607,"archive_url":"https://extensions.blender.org/download/sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37/add-on-asset-library-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-library-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write tag indexes and catalogue backup files"},"tags":["System","User Interface","Pipeline"]},{"id":"redlix_theme","schema_version":"1.0.0","name":"Redlix Theme","version":"1.0.0","tagline":"Cooperative brutalist framework - retro-futuristic design system","archive_hash":"sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8","archive_size":4968,"archive_url":"https://extensions.blender.org/download/sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8/theme-redlix-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redlix-theme/","maintainer":"redlix","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"ftw_flattening_toolset","schema_version":"1.0.0","name":"FTW Flattening Toolset","version":"2.0.0","tagline":"UV workflow: flattening, curve alignment, scaling, UV transfer","archive_hash":"sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a","archive_size":1176759,"archive_url":"https://extensions.blender.org/download/sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a/add-on-ftw-flattening-toolset-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw-flattening-toolset/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"]},{"id":"folded_paper_engine","schema_version":"1.0.0","name":"Folded Paper Engine","version":"1.0.6","tagline":"Define gameplay in Blender and play in Godot with a few clicks","archive_hash":"sha256:036c41c8dc4cd88fde3f2259d17e8d2d84b5a396b869bc48ce0fa95a70d324b0","archive_size":13799,"archive_url":"https://extensions.blender.org/download/sha256:036c41c8dc4cd88fde3f2259d17e8d2d84b5a396b869bc48ce0fa95a70d324b0/add-on-folded-paper-engine-v1.0.6.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/folded-paper-engine/","maintainer":"Papercraft-Games","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"tags":["Import-Export","Game Engine","Pipeline"]},{"id":"gather_resources","schema_version":"1.0.0","name":"Gather Resources","version":"0.5.2","tagline":"Collect project media into a local folder","archive_hash":"sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3","archive_size":10373,"archive_url":"https://extensions.blender.org/download/sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3/add-on-gather-resources-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gather-resources/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read project media files and copy them into a local directory"},"tags":["System","Pipeline"]},{"id":"rendercue","schema_version":"1.0.0","name":"RenderCue","version":"1.1.3","tagline":"Sequence. Queue. Render","archive_hash":"sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b","archive_size":52378,"archive_url":"https://extensions.blender.org/download/sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b/add-on-rendercue-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rendercue/","maintainer":"UsamaSQ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save renders to user-defined directories","network":"Send render notifications via Webhooks"},"tags":["Render","Pipeline"]},{"id":"character_pipeline_tracker","schema_version":"1.0.0","name":"Character Pipeline Tracker","version":"1.0.0","tagline":"Track and automate character creation pipeline stages","archive_hash":"sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010","archive_size":27555,"archive_url":"https://extensions.blender.org/download/sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010/add-on-character-pipeline-tracker-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/character-pipeline-tracker/","maintainer":"Evgeny-Lisichik","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"spine_io","schema_version":"1.0.0","name":"Spine IO","version":"0.0.3","tagline":"Export bone-driven Spine 4.3 JSON files","archive_hash":"sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e","archive_size":29815,"archive_url":"https://extensions.blender.org/download/sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e/add-on-spine-io-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spine-io/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read textures and write Spine JSON"},"tags":["Import-Export","Rigging","Animation"]},{"id":"cam_tools","schema_version":"1.0.0","name":"Cam Tools","version":"1.1.0","tagline":"Streamlined camera workflow toolkit","archive_hash":"sha256:1140c5de02db1814f024ce9838b0aa772901ccccb320b6c79613932d61b8fc3c","archive_size":39272,"archive_url":"https://extensions.blender.org/download/sha256:1140c5de02db1814f024ce9838b0aa772901ccccb320b6c79613932d61b8fc3c/add-on-cam-tools-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cam-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"camfree","schema_version":"1.0.0","name":"CamFree","version":"1.0.5","tagline":"Fly/Walk Navigation on Cameras with Constraints","archive_hash":"sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344","archive_size":2409,"archive_url":"https://extensions.blender.org/download/sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344/add-on-camfree-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camfree/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"sort_viewlayers_rmb","schema_version":"1.0.0","name":"RMB Sort View Layers Alphabetically in Outliner-Scenes","version":"0.0.2","tagline":"RMB Sort View Layers Alphabetically in Outliner-Scenes","archive_hash":"sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0","archive_size":2908,"archive_url":"https://extensions.blender.org/download/sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0/add-on-sort-viewlayers-rmb-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sort-viewlayers-rmb/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"voda_theme_cinnamon","schema_version":"1.0.0","name":"Cinnamon","version":"1.0.0","tagline":"Cinnamon-Orange themed Blender with a gradiented kick","archive_hash":"sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d","archive_size":6549,"archive_url":"https://extensions.blender.org/download/sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d/theme-voda-theme-cinnamon-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/voda-theme-cinnamon/","maintainer":"VaVo","license":["SPDX:CC0-1.0"]},{"id":"Studio_Dark","schema_version":"1.0.0","name":"Studio Dark","version":"1.7.3","tagline":"Sharp colors, comfortable contrast, white select, green active","archive_hash":"sha256:1a2a0dc3b02ecf95c26cb51b4c2043ecfb9d03c722550d5a123d742f2f5fcdd2","archive_size":5412,"archive_url":"https://extensions.blender.org/download/sha256:1a2a0dc3b02ecf95c26cb51b4c2043ecfb9d03c722550d5a123d742f2f5fcdd2/theme-studio-dark-v1.7.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/studio-dark/","maintainer":"3DDinosaur","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"khellstr_light","schema_version":"1.0.0","name":"khellstr light theme","version":"1.0.0","tagline":"Balanced Light Theme for Blender","archive_hash":"sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d","archive_size":6493,"archive_url":"https://extensions.blender.org/download/sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d/theme-khellstr-light-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/khellstr-light/","maintainer":"Kimmo-Hellström","license":["SPDX:GPL-3.0-or-later"]},{"id":"Black","schema_version":"1.0.0","name":"Black","version":"5.0.4","tagline":"A black theme, probably the blackest one","archive_hash":"sha256:3167d027740b8693d0a97af41ee0fbedfde3fc378c8900ddb43adf5935600f64","archive_size":5200,"archive_url":"https://extensions.blender.org/download/sha256:3167d027740b8693d0a97af41ee0fbedfde3fc378c8900ddb43adf5935600f64/theme-black-v5.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/black/","maintainer":"Gurra","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"root_maker","schema_version":"1.0.0","name":"RootMaker","version":"1.0.1","tagline":"Create root bone & bake into actions","archive_hash":"sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3","archive_size":6592,"archive_url":"https://extensions.blender.org/download/sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3/add-on-root-maker-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/root-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging","Bake"]},{"id":"k_tools_texture_map_loader","schema_version":"1.0.0","name":"K-Tools: Texture Map Loader","version":"1.0.9","tagline":" An easy way to load Texture Sets in your Shader Material","archive_hash":"sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495","archive_size":787239,"archive_url":"https://extensions.blender.org/download/sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495/add-on-k-tools-texture-map-loader-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-texture-map-loader/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load Node Groups from disk"},"tags":["Material"]},{"id":"MetahumanToManny","schema_version":"1.0.0","name":"MetaHumanToManny","version":"1.2.0","tagline":"Clean up MetaHuman meshes and match them to UE5 Manny","archive_hash":"sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685","archive_size":21164,"archive_url":"https://extensions.blender.org/download/sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685/add-on-metahumantomanny-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/metahumantomanny/","maintainer":"hakan-erunsal","license":["SPDX:GPL-3.0-or-later"]},{"id":"cad_helper","schema_version":"1.0.0","name":"CAD-Helper","version":"0.6.1","tagline":"Blender Extension to manage imported CAD assemblies","archive_hash":"sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6","archive_size":34745,"archive_url":"https://extensions.blender.org/download/sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6/add-on-cad-helper-v0.6.1-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/cad-helper/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Object"]},{"id":"momo_dark","schema_version":"1.0.0","name":"Momo Dark","version":"5.0.2","tagline":"Momo Dark - theme inspired by Modo","archive_hash":"sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36","archive_size":6454,"archive_url":"https://extensions.blender.org/download/sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36/theme-momo-dark-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo-dark/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"rss_theme_cyberpunk","schema_version":"1.0.0","name":"RedSavStudios: Cyberpunk","version":"0.5.5","tagline":"A dark blue cyberpunk-inspired theme with neon highlights","archive_hash":"sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c","archive_size":5501,"archive_url":"https://extensions.blender.org/download/sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c/theme-rss-theme-cyberpunk-v0.5.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-cyberpunk/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"rss_theme_nord","schema_version":"1.0.0","name":"RedSavStudios: Nord (Aurora)","version":"0.5.2","tagline":"Nord Theme With Aurora Accents","archive_hash":"sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50","archive_size":5196,"archive_url":"https://extensions.blender.org/download/sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50/theme-rss-theme-nord-v0.5.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-nord/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"randomize_noise_offset","schema_version":"1.0.0","name":"Randomize Noise Offset","version":"1.0.3","tagline":"Randomize Noise Offset for F-Curves","archive_hash":"sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9","archive_size":2500,"archive_url":"https://extensions.blender.org/download/sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9/add-on-randomize-noise-offset-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-noise-offset/","maintainer":"a.a.andrusenko","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"mirror_image","schema_version":"1.0.0","name":"Mirror Image","version":"1.0.0","tagline":"Applies mirroring to the active image","archive_hash":"sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46","archive_size":2540,"archive_url":"https://extensions.blender.org/download/sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46/add-on-mirror-image-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mirror-image/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"toggle_orbit_method","schema_version":"1.0.0","name":"Toggle Orbit Method (Turntable / Trackball)","version":"1.0.0","tagline":"Quickly toggles between Turntable and Trackball orbit modes","archive_hash":"sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4","archive_size":1369,"archive_url":"https://extensions.blender.org/download/sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4/add-on-toggle-orbit-method-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-orbit-method/","maintainer":"ArgelliKa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"blender_vnf_exporter_extension","schema_version":"1.0.0","name":"VNF Export Extension","version":"1.0.0","tagline":"Export blender mesh to openscad vnf","archive_hash":"sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e","archive_size":14400,"archive_url":"https://extensions.blender.org/download/sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e/add-on-blender-vnf-exporter-extension-v1.0.0-windows-x64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-vnf-exporter-extension/","maintainer":"runerback","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .scad to disk"},"platforms":["windows-x64","linux-x64"],"tags":["Import-Export"]},{"id":"vray_arena_setup","schema_version":"1.0.0","name":"Vray Arena Setup","version":"2.5.0","tagline":"Export VRay Cosmos assets, scene textures, and stage cube setup","archive_hash":"sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f","archive_size":6050,"archive_url":"https://extensions.blender.org/download/sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f/add-on-vray-arena-setup-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/vray-arena-setup/","maintainer":"Darsh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write project and resources directories"},"tags":["Import-Export","Material"]},{"id":"Minimal","schema_version":"1.0.0","name":"Minimal","version":"1.0.0","tagline":"Dark minimal theme","archive_hash":"sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb","archive_size":5620,"archive_url":"https://extensions.blender.org/download/sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb/theme-minimal-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/minimal/","maintainer":"A7medKhaled.me","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"auto_track_weights","schema_version":"1.0.0","name":"Auto Track Weights","version":"0.2.1","tagline":"Automatically adjust the weights of tracking markers","archive_hash":"sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be","archive_size":2415,"archive_url":"https://extensions.blender.org/download/sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be/add-on-auto-track-weights-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track-weights/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"batch_bone_constraints","schema_version":"1.0.0","name":"Batch Bone Constraints","version":"1.1.4","tagline":"Batch bone constraints to the selected multiple armatures","archive_hash":"sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee","archive_size":6589,"archive_url":"https://extensions.blender.org/download/sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee/add-on-batch-bone-constraints-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-bone-constraints/","maintainer":"distinctive-mark","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"theme_BlueInvasion","schema_version":"1.0.0","name":"Blue Invasion","version":"1.0.3-1","tagline":"A theme inspired by Winamp's blue invasion theme","archive_hash":"sha256:aaa50db52785b547c7902f7dea3808dbd06ba8a27b989b96de0640590a7863f2","archive_size":6165,"archive_url":"https://extensions.blender.org/download/sha256:aaa50db52785b547c7902f7dea3808dbd06ba8a27b989b96de0640590a7863f2/theme-theme-blueinvasion-v1.0.3-1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-blueinvasion/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"trident","schema_version":"1.0.0","name":"TRIDENT","version":"0.2.1","tagline":"3D UMAP/t-SNE embeddings into Blender","archive_hash":"sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a","archive_size":128117,"archive_url":"https://extensions.blender.org/download/sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a/add-on-trident-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trident/","maintainer":"ccordi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write data files and build outputs"},"platforms":["windows-x64"],"tags":["3D View","Object"]},{"id":"FrameFlowBlender","schema_version":"1.0.0","name":"Frame Flow Beta","version":"1.4.1","tagline":"Advanced Node Frame Add-on for Blender","archive_hash":"sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f","archive_size":922364,"archive_url":"https://extensions.blender.org/download/sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f/add-on-frameflowblender-v1.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/frameflowblender/","maintainer":"abhi.01","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Text Editor"]},{"id":"pataz_thumbnail_toolz","schema_version":"1.0.0","name":"Pataz Thumbnail Toolz","version":"1.0.0","tagline":"Tools for managing asset thumbnails","archive_hash":"sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac","archive_size":2763,"archive_url":"https://extensions.blender.org/download/sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac/add-on-pataz-thumbnail-toolz-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-thumbnail-toolz/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load files from disk"},"tags":["Pipeline"]},{"id":"io_scene_jsbsim","schema_version":"1.0.0","name":"JSBSim Viewer","version":"0.2.3","tagline":"Import and visualize JSBSim FDM aircraft XML metrics","archive_hash":"sha256:3d97352d2c89e76944575b20004a05aeb07c771412a6ffda6b375f973b8dff5f","archive_size":6721,"archive_url":"https://extensions.blender.org/download/sha256:3d97352d2c89e76944575b20004a05aeb07c771412a6ffda6b375f973b8dff5f/add-on-io-scene-jsbsim-v0.2.3.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/io-scene-jsbsim/","maintainer":"RenanMsV","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"multi_adjust","schema_version":"1.0.0","name":"Multi Adjust","version":"1.0.1","tagline":"Edits properties of multiple things together","archive_hash":"sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed","archive_size":9515,"archive_url":"https://extensions.blender.org/download/sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed/add-on-multi-adjust-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multi-adjust/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"replace_with_copy","schema_version":"1.0.0","name":"Replace With Copy","version":"1.0.1","tagline":"Batch replace multiple objects with a template","archive_hash":"sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf","archive_size":4116,"archive_url":"https://extensions.blender.org/download/sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf/add-on-replace-with-copy-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/replace-with-copy/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"sierpinski_triangle","schema_version":"1.0.0","name":"Sierpinski Triangle","version":"1.0.4","tagline":"This add-on creates Sierpinski triangles","archive_hash":"sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05","archive_size":4106,"archive_url":"https://extensions.blender.org/download/sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05/add-on-sierpinski-triangle-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sierpinski-triangle/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"]},{"id":"light_generator","schema_version":"1.0.0","name":"Light Generator","version":"1.2.0","tagline":"Generate lights with advanced distribution","archive_hash":"sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05","archive_size":5837,"archive_url":"https://extensions.blender.org/download/sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05/add-on-light-generator-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/light-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting"]},{"id":"nfc_card_keychain_generator","schema_version":"1.0.0","name":"NFC Card and Keychain Generator","version":"1.2.2","tagline":"Generate customizable 3D-printable cards, tags, and keychains","archive_hash":"sha256:61fc9b726002f7cd17ffb5b1e54bfa1827e8edf538881e72749f4faf931dc384","archive_size":513576,"archive_url":"https://extensions.blender.org/download/sha256:61fc9b726002f7cd17ffb5b1e54bfa1827e8edf538881e72749f4faf931dc384/add-on-nfc-card-keychain-generator-v1.2.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/nfc-card-keychain-generator/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For custom SVG import and file saving operations"},"tags":["Modeling","Object"]},{"id":"Physical_Motion_Blur","schema_version":"1.0.0","name":"Physical Motion Blur","version":"1.1.0","tagline":"Adds intuitive shutter speed and angle controls for motion blur","archive_hash":"sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438","archive_size":2605,"archive_url":"https://extensions.blender.org/download/sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438/add-on-physical-motion-blur-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/physical-motion-blur/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render","Animation"]},{"id":"utility_materials","schema_version":"1.0.0","name":"Utility Materials","version":"1.1.5","tagline":"Industrial design theme in the Utility Materials universe","archive_hash":"sha256:1060b83f61823e30cac6147ad365e0e2532132ba85719a73fb8a881b1daee82f","archive_size":5294,"archive_url":"https://extensions.blender.org/download/sha256:1060b83f61823e30cac6147ad365e0e2532132ba85719a73fb8a881b1daee82f/theme-utility-materials-v1.1.5.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/utility-materials/","maintainer":"Utility-Materials","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"AddShaderAttribute","schema_version":"1.0.0","name":"Add Shader Attribute","version":"0.3.0","tagline":"Add attribute directly in shader nodetree","archive_hash":"sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707","archive_size":2591,"archive_url":"https://extensions.blender.org/download/sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707/add-on-addshaderattribute-v0.3.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/addshaderattribute/","maintainer":"atticuslv","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"all_objects_into_assets","schema_version":"1.0.0","name":"All Objects into Assets","version":"1.0.4","tagline":"Create collection assets and catalogs automatically","archive_hash":"sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7","archive_size":9361,"archive_url":"https://extensions.blender.org/download/sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7/add-on-all-objects-into-assets-v1.0.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/all-objects-into-assets/","maintainer":"StellArc","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset library catalogs file"}},{"id":"goldsrc_model_helper","schema_version":"1.0.0","name":"GS Model Helper","version":"2.2.0","tagline":"A set of tools for working with Goldsource models in Blender","archive_hash":"sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df","archive_size":7626,"archive_url":"https://extensions.blender.org/download/sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df/add-on-goldsrc-model-helper-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/goldsrc-model-helper/","maintainer":"DaKashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to rename and clean up materials/textures"}},{"id":"pjavel_theme","schema_version":"1.0.0","name":"Pjavel Theme","version":"1.1.1","tagline":"Green accent theme","archive_hash":"sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece","archive_size":18590,"archive_url":"https://extensions.blender.org/download/sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece/theme-pjavel-theme-v1.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/pjavel-theme/","maintainer":"Zexyp","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"bfds","schema_version":"1.0.0","name":"BFDS fire simulations","version":"7.0.0","tagline":"Create and manage NIST FDS fire simulations","archive_hash":"sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6","archive_size":370951,"archive_url":"https://extensions.blender.org/download/sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6/add-on-bfds-v7.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bfds/","maintainer":"emanuele.gissi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FDS files from/to disk","network":"Display geographic positions, convert coordinates"},"tags":["Import-Export"]},{"id":"sciblend","schema_version":"1.0.0","name":"SciBlend","version":"1.1.2","tagline":"Scientific visualization tools for Blender","archive_hash":"sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d","archive_size":143536802,"archive_url":"https://extensions.blender.org/download/sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d/add-on-sciblend-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/sciblend/","maintainer":"José-Marín","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"navigation_puck_addon","schema_version":"1.0.0","name":"Navigation Puck Addon","version":"1.0.1","tagline":"Navigation Puck like in Sketchbook Pro","archive_hash":"sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51","archive_size":14528,"archive_url":"https://extensions.blender.org/download/sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51/add-on-navigation-puck-addon-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation-puck-addon/","maintainer":"IliaVerpa","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"midicontroller","schema_version":"1.0.0","name":"MidiController","version":"0.1.6","tagline":"Control objects properties through midi","archive_hash":"sha256:bb2e01e67b347e8b11cce2b30d2b037fb5eb45e183815c5c5d546a03941d08a0","archive_size":165336,"archive_url":"https://extensions.blender.org/download/sha256:bb2e01e67b347e8b11cce2b30d2b037fb5eb45e183815c5c5d546a03941d08a0/add-on-midicontroller-v0.1.6-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/midicontroller/","maintainer":"Eldin-Zenderink","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"mc_animaker","schema_version":"1.0.0","name":"MC Animaker","version":"1.4.0","tagline":"Bring your Blender animations to life in Minecraft","archive_hash":"sha256:b3533f2c1b1ff605d0c162023d27096d92c4ff705577f72738ebc4981701c830","archive_size":183928,"archive_url":"https://extensions.blender.org/download/sha256:b3533f2c1b1ff605d0c162023d27096d92c4ff705577f72738ebc4981701c830/add-on-mc-animaker-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mc-animaker/","maintainer":"Priqnot","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Resource Packs and Export Minecraft Datapack Files"},"tags":["Game Engine","Import-Export"]},{"id":"smart_transform","schema_version":"1.0.0","name":"Smart Transform","version":"1.0.2","tagline":"filter objects by size or transforms, and more tools","archive_hash":"sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11","archive_size":2671,"archive_url":"https://extensions.blender.org/download/sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11/add-on-smart-transform-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-transform/","maintainer":"Claz_Arts","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"animated_brush","schema_version":"1.0.0","name":"Animated Texture Brush","version":"1.0.2","tagline":"Randomly cycles image sequence texture while painting","archive_hash":"sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be","archive_size":2467,"archive_url":"https://extensions.blender.org/download/sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be/add-on-animated-brush-v1.0.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animated-brush/","maintainer":"Kvendy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"lod_gen","schema_version":"1.0.0","name":"LODGen","version":"0.0.5","tagline":"Generate LODs for Games in 3 Clicks or Less","archive_hash":"sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128","archive_size":15434,"archive_url":"https://extensions.blender.org/download/sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128/add-on-lod-gen-v0.0.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/lod-gen/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"LostSelection","schema_version":"1.0.0","name":"Lost Selection","version":"0.2.0","tagline":"Set of usefull extra selection operators","archive_hash":"sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4","archive_size":32205,"archive_url":"https://extensions.blender.org/download/sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4/add-on-lostselection-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lostselection/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"reset_workspace","schema_version":"1.0.0","name":"Reset Workspace","version":"0.0.4","tagline":"Reset the user interface (with your startup file interface)","archive_hash":"sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32","archive_size":5093,"archive_url":"https://extensions.blender.org/download/sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32/add-on-reset-workspace-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reset-workspace/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"edit_instanced_collection","schema_version":"1.0.0","name":"Edit Instanced Collection","version":"0.0.5","tagline":"Quickly find the instanced collection source","archive_hash":"sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3","archive_size":6971,"archive_url":"https://extensions.blender.org/download/sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3/add-on-edit-instanced-collection-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-instanced-collection/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"add_std_paper_size","schema_version":"1.0.0","name":"Add Std Paper-Format","version":"0.1.0","tagline":"Blender add-on to add planes with standardized paper formats","archive_hash":"sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4","archive_size":19785,"archive_url":"https://extensions.blender.org/download/sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4/add-on-add-std-paper-size-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-std-paper-size/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"Blueprint_Film_Theme","schema_version":"1.0.0","name":"Blueprint_Film_Theme","version":"2.2.4","tagline":"Translucent Aqua","archive_hash":"sha256:a986b52fe7ea86be2c205d4c7ab87ac2115a8ec70713733782f1d885cc8240c1","archive_size":5686,"archive_url":"https://extensions.blender.org/download/sha256:a986b52fe7ea86be2c205d4c7ab87ac2115a8ec70713733782f1d885cc8240c1/theme-blueprint-film-theme-v2.2.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-film-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"pbsu_addon_3ds","schema_version":"1.0.0","name":"PBSU 3D Studio (.3ds)","version":"1.0.1","tagline":"Import/export 3DS scenes, objects, cameras, lights & anims","archive_hash":"sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d","archive_size":42631,"archive_url":"https://extensions.blender.org/download/sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d/add-on-pbsu-addon-3ds-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pbsu-addon-3ds/","maintainer":"Arturo-Cervantes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"on_screen_numpad","schema_version":"1.0.0","name":"On-Screen Numpad","version":"1.2.0","tagline":"No need to leave the mouse to enter numbers","archive_hash":"sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20","archive_size":22847,"archive_url":"https://extensions.blender.org/download/sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20/add-on-on-screen-numpad-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/on-screen-numpad/","maintainer":"Pluglug","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Sakura_Rig_GUI","schema_version":"1.0.0","name":"Sakura's Rig Interfaces","version":"3.1.0","tagline":"A control script for use with Sakura's Rigs","archive_hash":"sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0","archive_size":23119,"archive_url":"https://extensions.blender.org/download/sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0/add-on-sakura-rig-gui-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-rig-gui/","maintainer":"SakuraSedaia","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and Store Player Skin Information and Downloaded Rigs","network":"Download Minecraft Skin Information from minecraft.net"},"tags":["Rigging","User Interface"]},{"id":"EMU3BM","schema_version":"1.0.0","name":"Toggle Emulate 3 Button Mouse","version":"1.4.0","tagline":"Toggle Emulate 3 Button Mouse","archive_hash":"sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593","archive_size":1343,"archive_url":"https://extensions.blender.org/download/sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593/add-on-emu3bm-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/emu3bm/","maintainer":"chenkin123","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"BL_EasyCrop","schema_version":"1.0.0","name":"BL Easy Crop","version":"2.0.3","tagline":"Use handles for easy cropping in the Blender VSE Preview window","archive_hash":"sha256:f63200c2f634b927cc0ccf82af20aa4298f36f5f5bfbcfdfc85f20adf4a2d9da","archive_size":31082,"archive_url":"https://extensions.blender.org/download/sha256:f63200c2f634b927cc0ccf82af20aa4298f36f5f5bfbcfdfc85f20adf4a2d9da/add-on-bl-easycrop-v2.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-easycrop/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","User Interface"]},{"id":"SHIRAKUMO_sf3_io","schema_version":"1.0.0","name":"Shirakumo SF3 IO","version":"1.1.0","tagline":"Export/Import support for Simple File Format Family (SF3) files","archive_hash":"sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c","archive_size":24064,"archive_url":"https://extensions.blender.org/download/sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c/add-on-shirakumo-sf3-io-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-sf3-io/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"permissions":{"files":"Import/export SF3 from/to disk"},"tags":["Import-Export"]},{"id":"normalize_resize_handles","schema_version":"1.0.0","name":"Normalize and Resize Curve Handles","version":"1.0.1","tagline":"Normalize and resize all selected bezier curve handles","archive_hash":"sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a","archive_size":1537,"archive_url":"https://extensions.blender.org/download/sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a/add-on-normalize-resize-handles-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/normalize-resize-handles/","maintainer":"TomasCJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"FocalLengthTweaker","schema_version":"1.0.0","name":"Focal Length Tweaker","version":"1.0.1","tagline":"Control viewport and camera focal length with your mouse","archive_hash":"sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833","archive_size":9686,"archive_url":"https://extensions.blender.org/download/sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833/add-on-focallengthtweaker-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/focallengthtweaker/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","User Interface"]},{"id":"Zeratul_Theme","schema_version":"1.0.0","name":"Zeratul_Theme","version":"3.1.6","tagline":"Invisible Shadow Warrior","archive_hash":"sha256:90afd67134729ba4038c7b94dce68432a0c365c93842c2ec83d12aa5baf1daed","archive_size":5620,"archive_url":"https://extensions.blender.org/download/sha256:90afd67134729ba4038c7b94dce68432a0c365c93842c2ec83d12aa5baf1daed/theme-zeratul-theme-v3.1.6.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zeratul-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blueprint_Theme","schema_version":"1.0.0","name":"Prussian_Blueprint_Theme","version":"2.2.1","tagline":"Blueprint True Color","archive_hash":"sha256:482f3d41ae95cf10ab32d9ad57bed3093edb67334ed7043511174da53c6558d3","archive_size":5748,"archive_url":"https://extensions.blender.org/download/sha256:482f3d41ae95cf10ab32d9ad57bed3093edb67334ed7043511174da53c6558d3/theme-prussian-blueprint-theme-v2.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"render_webhook","schema_version":"1.0.0","name":"Render Webhook","version":"1.0.2","tagline":"Sends a message after render events to a webhook","archive_hash":"sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58","archive_size":2567,"archive_url":"https://extensions.blender.org/download/sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58/add-on-render-webhook-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-webhook/","maintainer":"vignette","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Sending HTTP requests to provided webhook URL"},"tags":["Render","Pipeline"]},{"id":"Prussian_Blue_Pink_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Pink_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356","archive_size":5758,"archive_url":"https://extensions.blender.org/download/sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356/theme-prussian-blue-pink-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-pink-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blue_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135","archive_size":5687,"archive_url":"https://extensions.blender.org/download/sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135/theme-prussian-blue-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Clip_Tools","schema_version":"1.0.0","name":"Clip Tools","version":"1.0.3","tagline":"Add a simple tool to the Movie Clip Editor","archive_hash":"sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391","archive_size":7924,"archive_url":"https://extensions.blender.org/download/sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391/add-on-clip-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clip-tools/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Camera","3D View"]},{"id":"Merge_selected_cameras","schema_version":"1.0.0","name":"Merge Selected Cameras","version":"1.1.1","tagline":"Create one animated camera from your photogrammetry sequence","archive_hash":"sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d","archive_size":4219,"archive_url":"https://extensions.blender.org/download/sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d/add-on-merge-selected-cameras-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/merge-selected-cameras/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking","3D View"]},{"id":"only_blends_gamepad","schema_version":"1.0.0","name":"OnlyBlends.Gamepad","version":"0.5.0","tagline":"Integrate Controller like Gamepads and other inputs via Nodes","archive_hash":"sha256:b545dbe69757dff54cd589a2462a5739cc011580fae6398860b48289e3b8be71","archive_size":72361,"archive_url":"https://extensions.blender.org/download/sha256:b545dbe69757dff54cd589a2462a5739cc011580fae6398860b48289e3b8be71/add-on-only-blends-gamepad-v0.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-gamepad/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Game Engine","Node"]},{"id":"Scene_Duration_Display","schema_version":"1.0.0","name":"Scene Duration Display","version":"1.1.1","tagline":"Displays and syncs timeline duration. Set preview range with I/O","archive_hash":"sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940","archive_size":2361,"archive_url":"https://extensions.blender.org/download/sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940/add-on-scene-duration-display-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-duration-display/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Gray50","schema_version":"1.0.0","name":"Gray50","version":"1.0.2","tagline":"Remake of Blender3.3 light theme","archive_hash":"sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9","archive_size":5795,"archive_url":"https://extensions.blender.org/download/sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9/theme-gray50-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gray50/","maintainer":"Nick2321","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Inspired By"]},{"id":"bl_reset_custom_properties","schema_version":"1.0.0","name":"Reset Custom Properties","version":"1.0.4","tagline":"Reset custom properties to their default values","archive_hash":"sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4","archive_size":5646,"archive_url":"https://extensions.blender.org/download/sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4/add-on-bl-reset-custom-properties-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bl-reset-custom-properties/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View"]},{"id":"color_grid_texture_gen","schema_version":"1.0.0","name":"Color Grid Texture Generator","version":"0.1.2","tagline":"Generate customizable color grid textures","archive_hash":"sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f","archive_size":28692,"archive_url":"https://extensions.blender.org/download/sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f/add-on-color-grid-texture-gen-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-grid-texture-gen/","maintainer":"andersmmg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Read Coolors URL from clipboard"},"tags":["Material","UV"]},{"id":"io_import_build_map","schema_version":"1.0.0","name":"BUILD Map Importer","version":"1.4.1","tagline":"Import BUILD Engine maps as used in Duke Nukem 3D, Blood, etc","archive_hash":"sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54","archive_size":57108,"archive_url":"https://extensions.blender.org/download/sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54/add-on-io-import-build-map-v1.4.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-build-map/","maintainer":"Jens.Ne","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .map files and textures from filesystem"},"tags":["Import-Export","Mesh","Material"]},{"id":"distribute_grease_pencil_strokes","schema_version":"1.0.0","name":"Align-Distribute Grease Pencil Strokes","version":"2.1.0","tagline":"Align-Distribute Grease Pencil strokes","archive_hash":"sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2","archive_size":13284,"archive_url":"https://extensions.blender.org/download/sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2/add-on-distribute-grease-pencil-strokes-v2.1.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/distribute-grease-pencil-strokes/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"BL_FastStart","schema_version":"1.0.0","name":"BL Fast Start (MP4/MOV)","version":"1.9.3","tagline":"A checkbox to add a 'Fast Start' copy of MP4/MOV renders","archive_hash":"sha256:e1954e4b7c112e82249144fe3d2c6a17ab77a256c63f5f3d82c424812197c4a4","archive_size":23184,"archive_url":"https://extensions.blender.org/download/sha256:e1954e4b7c112e82249144fe3d2c6a17ab77a256c63f5f3d82c424812197c4a4/add-on-bl-faststart-v1.9.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-faststart/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"quantum_void_fluoamber","schema_version":"1.0.0","name":"Quantum Void FluoAmber","version":"1.0.2","tagline":"A monochromatic dark theme with accent","archive_hash":"sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f","archive_size":3205,"archive_url":"https://extensions.blender.org/download/sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f/theme-quantum-void-fluoamber-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quantum-void-fluoamber/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"vectart_animation","schema_version":"1.0.0","name":"Vectart Animation","version":"1.1.4","tagline":"Animation tools for VectArt curves and objects","archive_hash":"sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb","archive_size":22398,"archive_url":"https://extensions.blender.org/download/sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb/add-on-vectart-animation-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-animation/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blueprints","schema_version":"1.0.0","name":"Blueprints","version":"1.0.3","tagline":"Manage background images ","archive_hash":"sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9","archive_size":3264,"archive_url":"https://extensions.blender.org/download/sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9/add-on-blueprints-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blueprints/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"batch_render_actions","schema_version":"1.0.0","name":"Batch Render Actions","version":"1.0.2","tagline":"Render each animation action to its own folder","archive_hash":"sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff","archive_size":2413,"archive_url":"https://extensions.blender.org/download/sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff/add-on-batch-render-actions-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-render-actions/","maintainer":"Padraig-O-Cinneide","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Render"]},{"id":"rmKit_uv","schema_version":"1.0.0","name":"rmKitUV","version":"2.0.0","tagline":"Collection of Tools","archive_hash":"sha256:cd75170fc5d652ba6e52a70939949480ea78a7417b7608e7c2d2c1fb48b3360e","archive_size":259364,"archive_url":"https://extensions.blender.org/download/sha256:cd75170fc5d652ba6e52a70939949480ea78a7417b7608e7c2d2c1fb48b3360e/add-on-rmkit-uv-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/rmkit-uv/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"read/write hotspots to disk"},"tags":["Mesh","UV","Material"]},{"id":"to_square","schema_version":"1.0.0","name":"To Square","version":"2.2.0","tagline":"Square the selection","archive_hash":"sha256:79d3c5e8865ac768079d866693a23d01fee922856ecb31163b396cb8677ea61e","archive_size":41484,"archive_url":"https://extensions.blender.org/download/sha256:79d3c5e8865ac768079d866693a23d01fee922856ecb31163b396cb8677ea61e/add-on-to-square-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/to-square/","maintainer":"Jean-Yves-Grosbeau","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"acreplay_importer","schema_version":"1.0.0","name":"AC Replay Importer","version":"0.3.0","tagline":"Animate your cars using Assetto Corsa replays","archive_hash":"sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da","archive_size":8688,"archive_url":"https://extensions.blender.org/download/sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da/add-on-acreplay-importer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/acreplay-importer/","maintainer":"abchouhan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import CSV from disk"},"tags":["Animation"]},{"id":"dynamic_head_property_manager","schema_version":"1.0.0","name":"Dynamic Head Property Manager","version":"1.0.7","tagline":"Manage custom facial properties for Roblox Bundles","archive_hash":"sha256:ca7ee4063be416c9a82c1552a97efbf4227b4ce210826547e2b8cd164a418e5b","archive_size":26446,"archive_url":"https://extensions.blender.org/download/sha256:ca7ee4063be416c9a82c1552a97efbf4227b4ce210826547e2b8cd164a418e5b/add-on-dynamic-head-property-manager-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-head-property-manager/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"enhanced_svg","schema_version":"1.0.0","name":"Enhanced SVG","version":"0.1.8","tagline":"Import SVG with accurate colors and path processing","archive_hash":"sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2","archive_size":4067305,"archive_url":"https://extensions.blender.org/download/sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2/add-on-enhanced-svg-v0.1.8-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/enhanced-svg/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"M2V","schema_version":"1.0.0","name":"MIDI To Visuals","version":"1.2.0","tagline":"With MIDI file as input create somes 3D animations in blender","archive_hash":"sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1","archive_size":41169,"archive_url":"https://extensions.blender.org/download/sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1/add-on-m2v-v1.2.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/m2v/","maintainer":"Patochun","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"separate_loose_plus","schema_version":"1.0.0","name":"Separate Loose Plus","version":"1.0.0","tagline":"Enhanced mesh separation tools with object tracking","archive_hash":"sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5","archive_size":1973,"archive_url":"https://extensions.blender.org/download/sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5/add-on-separate-loose-plus-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/separate-loose-plus/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"bve_import_export","schema_version":"1.0.0","name":"BVE Import/Export","version":"5.1.3","tagline":"Import/Export DirectX X (.x) or Export CSV files for BVE/OpenBVE","archive_hash":"sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984","archive_size":22514,"archive_url":"https://extensions.blender.org/download/sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984/add-on-bve-import-export-v5.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bve-import-export/","maintainer":"Kusaanko","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export model file from/to disk"},"tags":["Import-Export"]},{"id":"symple","schema_version":"1.0.0","name":"Symple (symmetry groups)","version":"0.1.2","tagline":"Create figures with spherical symmetry with ease","archive_hash":"sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3","archive_size":29123,"archive_url":"https://extensions.blender.org/download/sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3/add-on-symple-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/symple/","maintainer":"Martín-Torres-Valverde","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling","Object"]},{"id":"select_by_index","schema_version":"1.0.0","name":"Select By Index","version":"1.3.0","tagline":"Select all vertices, edges, or faces within an index range","archive_hash":"sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050/add-on-select-by-index-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-by-index/","maintainer":"Eric-Banker","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"blender_lut_exporter","schema_version":"1.0.0","name":"LUT Exporter and Importer","version":"2.0.1","tagline":"Converts adjustment layer into LUT .cube file and back","archive_hash":"sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd","archive_size":5588,"archive_url":"https://extensions.blender.org/download/sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd/add-on-blender-lut-exporter-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/blender-lut-exporter/","maintainer":"ichlubna","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Sequencer"]},{"id":"arc_edge","schema_version":"1.0.0","name":"Arc Edge","version":"1.1.0","tagline":"Arc Edge","archive_hash":"sha256:2a3d3700534566d81d8202a795db594b1e36f407368276319a1141e67419bb4f","archive_size":10986,"archive_url":"https://extensions.blender.org/download/sha256:2a3d3700534566d81d8202a795db594b1e36f407368276319a1141e67419bb4f/add-on-arc-edge-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/arc-edge/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"Render_from_Terminal","schema_version":"1.0.0","name":"Render from Terminal","version":"0.1.5","tagline":"Create script to launch render from terminal","archive_hash":"sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3","archive_size":10030,"archive_url":"https://extensions.blender.org/download/sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3/add-on-render-from-terminal-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-from-terminal/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal"},"tags":["Render","Pipeline"]},{"id":"Fabnodes","schema_version":"1.0.0","name":"Fabnodes","version":"0.0.3","tagline":"Generates G-Code from geometry node attributes","archive_hash":"sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281","archive_size":5343,"archive_url":"https://extensions.blender.org/download/sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281/add-on-fabnodes-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fabnodes/","maintainer":"luigipacheco","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Geometry Nodes"]},{"id":"substance_textures_importer","schema_version":"1.0.0","name":"Substance Textures Importer","version":"7.1.0","tagline":"Import & autoassign images from 3D painting tools like Substance","archive_hash":"sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7","archive_size":35582,"archive_url":"https://extensions.blender.org/download/sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7/add-on-substance-textures-importer-v7.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/substance-textures-importer/","maintainer":"Cosmin_Planchon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk & read/write customs presets"},"tags":["Material","Import-Export","Node"]},{"id":"slot_link","schema_version":"1.0.0","name":"Slot Link","version":"0.0.11","tagline":"Easily manage projects with multiple separate animations","archive_hash":"sha256:aec6c11bef46dadb552838b00e82a63637ee4dd0c77f21a5fef886317a5a6bab","archive_size":21217,"archive_url":"https://extensions.blender.org/download/sha256:aec6c11bef46dadb552838b00e82a63637ee4dd0c77f21a5fef886317a5a6bab/add-on-slot-link-v0.0.11.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/slot-link/","maintainer":"mars","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","User Interface","Import-Export"]},{"id":"mesh_planes_pro","schema_version":"1.0.0","name":"Mesh Planes Pro","version":"2.0.1","tagline":"Ultimate Background Removal for Faster, Seamless Renders","archive_hash":"sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b","archive_size":2471909,"archive_url":"https://extensions.blender.org/download/sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b/add-on-mesh-planes-pro-v2.0.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mesh-planes-pro/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load node groups from blend file"},"tags":["Material","Node","Render","Mesh"]},{"id":"developer_utilities","schema_version":"1.0.0","name":"Developer Utilities","version":"1.1.0","tagline":"Make life of addon developers easier","archive_hash":"sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c","archive_size":9006,"archive_url":"https://extensions.blender.org/download/sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c/add-on-developer-utilities-v1.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/developer-utilities/","maintainer":"scorpion81","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open source files of addons for editing"},"tags":["Development"]},{"id":"srtm_terrain_importer","schema_version":"1.0.0","name":"SRTM Terrain Importer","version":"1.0.5","tagline":"Import SRTM elevation data as accurate 3D terrain","archive_hash":"sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454","archive_size":6645,"archive_url":"https://extensions.blender.org/download/sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454/add-on-srtm-terrain-importer-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/srtm-terrain-importer/","maintainer":"NicolasPriniotakis","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import SRTM HGT files from disk"},"tags":["Import-Export"]},{"id":"Industrial_Light_AOV_Splitter","schema_version":"1.0.0","name":"Industrial Light AOV Splitter","version":"1.0.1","tagline":"Auto create better light aovs (diffuse_env, specular_env...)","archive_hash":"sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7","archive_size":8954,"archive_url":"https://extensions.blender.org/download/sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7/add-on-industrial-light-aov-splitter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-light-aov-splitter/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"servo_animation","schema_version":"1.0.0","name":"Servo Animation","version":"2.1.1","tagline":"Export your Blender animation to servo position values","archive_hash":"sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4","archive_size":161106,"archive_url":"https://extensions.blender.org/download/sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4/add-on-servo-animation-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/servo-animation/","maintainer":"timhendriks93","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Import-Export","Rigging"]},{"id":"ac_tools","schema_version":"1.0.0","name":"AC Tools","version":"0.1.5","tagline":"AC Tools for track modding","archive_hash":"sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd","archive_size":30842,"archive_url":"https://extensions.blender.org/download/sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd/add-on-ac-tools-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ac-tools/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk, Manage track folders"},"tags":["Development","Object","User Interface"]},{"id":"img_alpha_to_bsdf","schema_version":"1.0.0","name":"Connect image alpha","version":"1.0.6","tagline":"Connecting image alpha to shader alpha","archive_hash":"sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02","archive_size":2692,"archive_url":"https://extensions.blender.org/download/sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02/add-on-img-alpha-to-bsdf-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img-alpha-to-bsdf/","maintainer":"Snakyboopface","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Material"]},{"id":"link_parents","schema_version":"1.0.0","name":"Link Parents","version":"1.2.1","tagline":"Link objects parents & edit Parent Inverse Matrix in UI","archive_hash":"sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395","archive_size":2883,"archive_url":"https://extensions.blender.org/download/sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395/add-on-link-parents-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/link-parents/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Rigging","User Interface"]},{"id":"sco_buttobjects","schema_version":"1.0.0","name":"SCO ButtObjects","version":"2.0.5","tagline":"Easily align Objects in your scene by Active Object or 3D Cursor","archive_hash":"sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb","archive_size":138673,"archive_url":"https://extensions.blender.org/download/sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb/add-on-sco-buttobjects-v2.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-buttobjects/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"Grid_Layout","schema_version":"1.0.0","name":"Grid Layout","version":"1.5.7","tagline":"Tools to help layout your UV layout","archive_hash":"sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c","archive_size":10399,"archive_url":"https://extensions.blender.org/download/sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c/add-on-grid-layout-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-layout/","maintainer":"Hodgson3d","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"povable","schema_version":"1.0.0","name":"POV@Ble","version":"0.1.8","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830","archive_size":329019,"archive_url":"https://extensions.blender.org/download/sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830/add-on-povable-v0.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/povable/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render","Pipeline","Import-Export","Text Editor","Development","User Interface","Scene","Modeling","Object","Material","Mesh","Add Curve","Camera","Lighting","Bake"]},{"id":"b_palettes","schema_version":"1.0.0","name":"B Palettes","version":"1.1.0","tagline":"Import/Export Color Palettes","archive_hash":"sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6","archive_size":5538,"archive_url":"https://extensions.blender.org/download/sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6/add-on-b-palettes-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/b-palettes/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"node_runner","schema_version":"1.0.0","name":"Node Runner","version":"1.2.1","tagline":"Import and export nodes as strings","archive_hash":"sha256:4dbda5713238be2b9ec7b7a0c485de80f65284d612e805e55f2a388c044d70cb","archive_size":28770,"archive_url":"https://extensions.blender.org/download/sha256:4dbda5713238be2b9ec7b7a0c485de80f65284d612e805e55f2a388c044d70cb/add-on-node-runner-v1.2.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/node-runner/","maintainer":"Noah-Thiering","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy Node Runner Hash to clipboard"},"tags":["Node","Material","Geometry Nodes"]},{"id":"import_files_svg_cuts_directory","schema_version":"1.0.0","name":"Import SVG Cuts Directory","version":"1.0.1","tagline":"Import object based on a directory of SVG cuts","archive_hash":"sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb","archive_size":5958242,"archive_url":"https://extensions.blender.org/download/sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb/add-on-import-files-svg-cuts-directory-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-files-svg-cuts-directory/","maintainer":"Benedikt-Schaber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import directory of SVGs from disk"},"tags":["Import-Export"]},{"id":"Selected_Bones_To_Vertex_Group","schema_version":"1.0.0","name":"Selected_Bones_To_Vertex_Group","version":"1.0.1","tagline":"Add or delete selected bone to selected mesh","archive_hash":"sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0","archive_size":2074,"archive_url":"https://extensions.blender.org/download/sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0/add-on-selected-bones-to-vertex-group-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selected-bones-to-vertex-group/","maintainer":"mochi_Lin","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"highlighter","schema_version":"1.0.0","name":"Highlighter","version":"0.1.0","tagline":"Syntax highlighting for text objects","archive_hash":"sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046","archive_size":1209500,"archive_url":"https://extensions.blender.org/download/sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046/add-on-highlighter-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/highlighter/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve","Text Editor"]},{"id":"frame_focus","schema_version":"1.0.0","name":"Frame Focus","version":"2.0.1","tagline":"List All Frame Nodes And Focus Easily","archive_hash":"sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc","archive_size":6600,"archive_url":"https://extensions.blender.org/download/sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc/add-on-frame-focus-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/frame-focus/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"neigh_context_switcher","schema_version":"1.0.0","name":"Context Switcher","version":"1.1.2","tagline":"Quick workspace and editor switching via popup at mouse location","archive_hash":"sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d","archive_size":2365,"archive_url":"https://extensions.blender.org/download/sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d/add-on-neigh-context-switcher-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/neigh-context-switcher/","maintainer":"Neigh","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"SelectModeKeymaps","schema_version":"1.0.0","name":"Select Mode Keymaps","version":"1.0.1","tagline":"Assign keymaps to toggle Object/Edit Mode and Select Modes","archive_hash":"sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573","archive_size":5772,"archive_url":"https://extensions.blender.org/download/sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573/add-on-selectmodekeymaps-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/selectmodekeymaps/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"skin_mesh_to_bone","schema_version":"1.0.0","name":"Skin Mesh To Bone","version":"1.0.2","tagline":"Skins selected meshes to a bone on the active armature","archive_hash":"sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf","archive_size":3048,"archive_url":"https://extensions.blender.org/download/sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf/add-on-skin-mesh-to-bone-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-mesh-to-bone/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Faster_FBX_Exporter","schema_version":"1.0.0","name":"Faster FBX Exporter","version":"0.2.4","tagline":"Faster .fbx Exporter for Static Objects With Modifiers","archive_hash":"sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60","archive_size":94222,"archive_url":"https://extensions.blender.org/download/sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60/add-on-faster-fbx-exporter-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/faster-fbx-exporter/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .fbx files"},"tags":["Import-Export"]},{"id":"copyshapekeys","schema_version":"1.0.0","name":"ShapeKey Copy","version":"3.4.1","tagline":"Copy shapekeys from one mesh to another","archive_hash":"sha256:769278803ab26c411354aec6ded13c4017af8c85a8e9e23eba44434c1467d24b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:769278803ab26c411354aec6ded13c4017af8c85a8e9e23eba44434c1467d24b/add-on-copyshapekeys-v3.4.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copyshapekeys/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Animation"]},{"id":"Control_Render_Regions","schema_version":"1.0.0","name":"Control Render Regions","version":"1.0.11","tagline":"Manage renders in region","archive_hash":"sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c","archive_size":2586090,"archive_url":"https://extensions.blender.org/download/sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c/add-on-control-render-regions-v1.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/control-render-regions/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal and render regions"},"platforms":["windows-x64"],"tags":["Render","Pipeline"]},{"id":"ftl_exporter","schema_version":"1.0.0","name":"3dverse Exporter","version":"1.0.1","tagline":"Export blender project to 3dverse (scene, meshes, materials)","archive_hash":"sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291","archive_size":13274,"archive_url":"https://extensions.blender.org/download/sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291/add-on-ftl-exporter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ftl-exporter/","maintainer":"Nathalie-Raffray","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary 3dverse files to then export to server","network":"Need to export blender project to 3dverse server"},"tags":["Import-Export"]},{"id":"Night_Rain_Theme","schema_version":"1.0.0","name":"Night_Rain_Theme","version":"2.1.4","tagline":"Transparent Dark Grey","archive_hash":"sha256:5db07c3e0d1768706b9556810a3b3ede2b2757a00c65719e3fbda252e950c53c","archive_size":5605,"archive_url":"https://extensions.blender.org/download/sha256:5db07c3e0d1768706b9556810a3b3ede2b2757a00c65719e3fbda252e950c53c/theme-night-rain-theme-v2.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/night-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"nla_midi_copier","schema_version":"1.0.0","name":"NLA Midi Copier","version":"1.2.0","tagline":"NLA and Graph Editor tools for syncing animation to midi files","archive_hash":"sha256:4acdaac298dd38372982087e4cacfa908780bd4993be62204d9df9b194fc30b2","archive_size":115530,"archive_url":"https://extensions.blender.org/download/sha256:4acdaac298dd38372982087e4cacfa908780bd4993be62204d9df9b194fc30b2/add-on-nla-midi-copier-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nla-midi-copier/","maintainer":"Cornerback24","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read midi files from disk"},"tags":["Animation"]},{"id":"blender_mqo","schema_version":"1.0.0","name":"MQO (Metasequoia) Format File Importer/Exporter","version":"2.0.0","tagline":"Import/Export MQO format files","archive_hash":"sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171","archive_size":21616,"archive_url":"https://extensions.blender.org/download/sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171/add-on-blender-mqo-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-mqo/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export MQO from/to disk"},"tags":["Import-Export"]},{"id":"core_debug_tools","schema_version":"1.0.0","name":"Core Debug Tools","version":"0.1.0","tagline":"Debugging utilities for core Blender developers","archive_hash":"sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20","archive_size":629513,"archive_url":"https://extensions.blender.org/download/sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20/add-on-core-debug-tools-v0.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/core-debug-tools/","maintainer":"JacquesLucke","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Build temporary html files to view in the browser"},"tags":["Development"]},{"id":"twformats","schema_version":"1.0.0","name":"Teeworlds and DDNet Map import","version":"0.4.1","tagline":"Import Teeworlds and DDNet maps","archive_hash":"sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5","archive_size":9592799,"archive_url":"https://extensions.blender.org/download/sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5/add-on-twformats-v0.4.1-linux-x64-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/twformats/","maintainer":"Patiga","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export files from/to disk"},"platforms":["linux-x64","windows-x64"],"tags":["Import-Export"]},{"id":"Graphite_Mono_Theme","schema_version":"1.0.0","name":"Graphite_Mono_Theme","version":"3.2.3","tagline":"Steel Grey","archive_hash":"sha256:25ef59421abd5855e63c07286ca2283c80fa43941ed06afa5c50c4e8093c8914","archive_size":5814,"archive_url":"https://extensions.blender.org/download/sha256:25ef59421abd5855e63c07286ca2283c80fa43941ed06afa5c50c4e8093c8914/theme-graphite-mono-theme-v3.2.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/graphite-mono-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"io_import_pixelart","schema_version":"1.0.0","name":"Import Pixel Art","version":"1.2.1","tagline":"Imports pixel art as colored cubes or squares for each pixel","archive_hash":"sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1","archive_size":5860,"archive_url":"https://extensions.blender.org/download/sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1/add-on-io-import-pixelart-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-pixelart/","maintainer":"bloody_albatross","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import pixel art from disk"},"tags":["Import-Export"]},{"id":"scene_workspaces","schema_version":"1.0.0","name":"Scene Workspaces","version":"1.1.1","tagline":"Filter and sort your workspaces, scene by scene","archive_hash":"sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a","archive_size":8786,"archive_url":"https://extensions.blender.org/download/sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a/add-on-scene-workspaces-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-workspaces/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System","User Interface"]},{"id":"clean_game_asset_exporter","schema_version":"1.0.0","name":"Clean Game Asset Exporter","version":"1.0.0","tagline":"Game asset exporter for the Defold game engine","archive_hash":"sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3","archive_size":4988,"archive_url":"https://extensions.blender.org/download/sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3/add-on-clean-game-asset-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clean-game-asset-exporter/","maintainer":"DeBolt","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export game asset files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"aligning_horizontally_mini","schema_version":"1.0.0","name":"Aligning Horizontally Mini","version":"1.0.1","tagline":"Align selected objects in a customizable grid in the 3D viewport","archive_hash":"sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35","archive_size":3511,"archive_url":"https://extensions.blender.org/download/sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35/add-on-aligning-horizontally-mini-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/aligning-horizontally-mini/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"lead_edge_maze_ash_creator","schema_version":"1.0.0","name":"Lead Edge Maze Ash Creator","version":"2.4.1","tagline":"Lead Edge Maze Ash","archive_hash":"sha256:003291b86247ce09847fd955f2f3fcc0433162af279eb1d262a35e0fd36fb541","archive_size":11149,"archive_url":"https://extensions.blender.org/download/sha256:003291b86247ce09847fd955f2f3fcc0433162af279eb1d262a35e0fd36fb541/add-on-lead-edge-maze-ash-creator-v2.4.1.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/lead-edge-maze-ash-creator/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"f1dg3t_blender_red","schema_version":"1.0.0","name":"F1dg3t Red","version":"1.1.0","tagline":"Perfect for Shadow State 2","archive_hash":"sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680","archive_size":6491,"archive_url":"https://extensions.blender.org/download/sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680/theme-f1dg3t-blender-red-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/f1dg3t-blender-red/","maintainer":"F1dg3t","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"VMD","schema_version":"1.0.0","name":"vmdesk","version":"5.0.0","tagline":"Interactive editor environment in 3D Viewport","archive_hash":"sha256:4a46a8587281dd636ab45759fbbd1a66868e1be0691d6422e246b105dd483b5a","archive_size":10169041,"archive_url":"https://extensions.blender.org/download/sha256:4a46a8587281dd636ab45759fbbd1a66868e1be0691d6422e246b105dd483b5a/add-on-vmd-v5.0.0.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/vmd/","maintainer":"Y.T-LAW","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export from disk to user-supplied path","clipboard":"Copy and paste from shortcut/UI"},"tags":["3D View","Modeling","Mesh","Object","User Interface"]},{"id":"govietools","schema_version":"1.0.0","name":"Govie Tools","version":"1.0.20","tagline":"Optimize your model for use in the Govie Editor","archive_hash":"sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476","archive_size":123018,"archive_url":"https://extensions.blender.org/download/sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476/add-on-govietools-v1.0.20.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/govietools/","maintainer":"3D-Interaction-Technologies","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export GLB to disk"},"tags":["Scene","Import-Export"]},{"id":"microscopynodes","schema_version":"1.0.0","name":"Microscopy Nodes","version":"2.2.7","tagline":"Handling microscopy data in Blender, up to 5D volumes","archive_hash":"sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b","archive_size":49077670,"archive_url":"https://extensions.blender.org/download/sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b/add-on-microscopynodes-v2.2.7-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/microscopynodes/","maintainer":"Aafke-Gros","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk, writing to cache folder","network":"Loading OME-zarr files from the internet from a given URL"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"new_object_from_selected_geometry","schema_version":"1.0.0","name":"New Object From Selected Geometry","version":"1.0.2","tagline":"Creates a new object from the selected geometry in Edit mode","archive_hash":"sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f","archive_size":13392,"archive_url":"https://extensions.blender.org/download/sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f/add-on-new-object-from-selected-geometry-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/new-object-from-selected-geometry/","maintainer":"Giambattista-Caltabiano","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Metaseq_Classic_theme","schema_version":"1.0.0","name":"Metaseq_Classic","version":"1.0.1","tagline":"Classic light Metasequoia-style theme","archive_hash":"sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a","archive_size":36342,"archive_url":"https://extensions.blender.org/download/sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a/theme-metaseq-classic-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-classic-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Xromm_Tools","schema_version":"1.0.0","name":"XROMM toolkit","version":"0.9.6","tagline":"XROMM toolkit for Blender","archive_hash":"sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771","archive_size":18986,"archive_url":"https://extensions.blender.org/download/sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771/add-on-xromm-tools-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/xromm-tools/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"io_scene_ase","schema_version":"1.0.0","name":"ASCII Scene Export (.ase)","version":"2.2.1","tagline":"Export .ase files used in Unreal Engine 1 & 2","archive_hash":"sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494","archive_size":13786,"archive_url":"https://extensions.blender.org/download/sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494/add-on-io-scene-ase-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-ase/","maintainer":"darknation","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .ase files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"blender_magicavoxel","schema_version":"1.0.0","name":"MagicaVoxel VOX format","version":"1.5.7","tagline":"Importer addon for MagicaVoxel vox files","archive_hash":"sha256:30f41041bb989380687699ec6b47ec6457e438c922ff71be6e93f99b68fe8d0d","archive_size":24371,"archive_url":"https://extensions.blender.org/download/sha256:30f41041bb989380687699ec6b47ec6457e438c922ff71be6e93f99b68fe8d0d/add-on-blender-magicavoxel-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-magicavoxel/","maintainer":"AstrorEnales","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"permissions":{"files":"Import VOX from disk"},"tags":["Import-Export"]},{"id":"odyssey_eobet_remix","schema_version":"1.0.0","name":"Odyssey eobet Remix","version":"2.0.1","tagline":"Theme highlighting the active object","archive_hash":"sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743","archive_size":5970,"archive_url":"https://extensions.blender.org/download/sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743/theme-odyssey-eobet-remix-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/odyssey-eobet-remix/","maintainer":"eobet","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"PieMenu_Everywhere","schema_version":"1.0.0","name":"PieMenu Everywhere","version":"1.4.5","tagline":"Maximize your efficiency with PieMenu Everywhere","archive_hash":"sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84","archive_size":438388,"archive_url":"https://extensions.blender.org/download/sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84/add-on-piemenu-everywhere-v1.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/piemenu-everywhere/","maintainer":"DeathShot-747","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline","3D View","Node"]},{"id":"Partybots_converter","schema_version":"1.0.0","name":"Partybots converter","version":"1.0.4","tagline":"This is a addon to build partybots maps","archive_hash":"sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00","archive_size":5333,"archive_url":"https://extensions.blender.org/download/sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00/add-on-partybots-converter-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/partybots-converter/","maintainer":"vuyghu2020","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To write the compiled output to the clipbord"},"tags":["3D View","Object","Game Engine"]},{"id":"add_airfoil","schema_version":"1.0.0","name":"Add Airfoil","version":"2.0.0","tagline":"Import Airfoil Dat Files into Blender","archive_hash":"sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae","archive_size":2356,"archive_url":"https://extensions.blender.org/download/sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae/add-on-add-airfoil-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-airfoil/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"atomic_blender_cluster","schema_version":"1.0.0","name":"Atomic Blender Cluster","version":"1.0.0","tagline":"Creating atom clusters or nanoparticles in Blender","archive_hash":"sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18","archive_size":11917,"archive_url":"https://extensions.blender.org/download/sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18/add-on-atomic-blender-cluster-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-cluster/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"add_positive_cube","schema_version":"1.0.0","name":"Add Positive Cube","version":"1.0.2","tagline":"Adds a cube with its origin at the corner","archive_hash":"sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807","archive_size":2022,"archive_url":"https://extensions.blender.org/download/sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807/add-on-add-positive-cube-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-positive-cube/","maintainer":"jefftml","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","3D View"]},{"id":"theme_modo","schema_version":"1.0.0","name":"Modo","version":"2.0.0","tagline":"Community-made theme inspired by Modo","archive_hash":"sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f","archive_size":5822,"archive_url":"https://extensions.blender.org/download/sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f/theme-theme-modo-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-modo/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"stl_format_legacy","schema_version":"1.0.0","name":"STL format (legacy)","version":"1.1.4","tagline":"Import-Export STL files","archive_hash":"sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6","archive_size":7513,"archive_url":"https://extensions.blender.org/download/sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6/add-on-stl-format-legacy-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stl-format-legacy/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"atomic_blender_pdb_xyz","schema_version":"1.0.0","name":"Atomic Blender PDB/XYZ","version":"1.9.1","tagline":"Importing atoms listed in PDB and XYZ files into Blender","archive_hash":"sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268","archive_size":51000,"archive_url":"https://extensions.blender.org/download/sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268/add-on-atomic-blender-pdb-xyz-v1.9.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-pdb-xyz/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"geodesic_domes","schema_version":"1.0.0","name":"Geodesic Domes","version":"0.3.6","tagline":"Create geodesic dome type objects","archive_hash":"sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0","archive_size":25222,"archive_url":"https://extensions.blender.org/download/sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0/add-on-geodesic-domes-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geodesic-domes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"ui_animation_render","schema_version":"1.0.0","name":"UI Animation Render","version":"0.1.0","tagline":"Render animations of the Blender UI","archive_hash":"sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29","archive_size":2426,"archive_url":"https://extensions.blender.org/download/sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29/add-on-ui-animation-render-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ui-animation-render/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"pov_at_ble","schema_version":"1.0.0","name":"POV@Ble (Legacy)","version":"0.1.6","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339","archive_size":302310,"archive_url":"https://extensions.blender.org/download/sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339/add-on-pov-at-ble-v0.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pov-at-ble/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render"]},{"id":"inset_straight_skeleton","schema_version":"1.0.0","name":"Inset Straight Skeleton","version":"1.1.0","tagline":"Make an inset inside selection using straight skeleton algo . . ","archive_hash":"sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553","archive_size":33199,"archive_url":"https://extensions.blender.org/download/sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553/add-on-inset-straight-skeleton-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/inset-straight-skeleton/","maintainer":"howardt","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"refine_tracking_solution","schema_version":"1.0.0","name":"Refine tracking solution","version":"1.1.6","tagline":"Refine motion solution by adjusting track weight","archive_hash":"sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f","archive_size":2210,"archive_url":"https://extensions.blender.org/download/sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f/add-on-refine-tracking-solution-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/refine-tracking-solution/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"assign_shape_keys","schema_version":"1.0.0","name":"Assign Shape Keys","version":"1.0.2","tagline":"Assigns one or more Bezier curves as shape keys to another . . ","archive_hash":"sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1","archive_size":10143,"archive_url":"https://extensions.blender.org/download/sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1/add-on-assign-shape-keys-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/assign-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"export_pointcache_formatpc2","schema_version":"1.0.0","name":"Export Pointcache Format(.pc2)","version":"1.1.4","tagline":"Export mesh Pointcache data (.pc2)","archive_hash":"sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805","archive_size":2683,"archive_url":"https://extensions.blender.org/download/sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805/add-on-export-pointcache-formatpc2-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-pointcache-formatpc2/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .pc2 file"},"tags":["Import-Export"]},{"id":"corrective_shape_keys","schema_version":"1.0.0","name":"Corrective Shape Keys","version":"1.0.0","tagline":"Creates a corrective shape key for the current pose","archive_hash":"sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19","archive_size":4821,"archive_url":"https://extensions.blender.org/download/sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19/add-on-corrective-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/corrective-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"freestyle_svg_exporter","schema_version":"1.0.0","name":"Freestyle SVG Exporter","version":"1.0.0","tagline":"Exports Freestyle's stylized edges in SVG format","archive_hash":"sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b","archive_size":7691,"archive_url":"https://extensions.blender.org/download/sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b/add-on-freestyle-svg-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/freestyle-svg-exporter/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"edit_operator_source","schema_version":"1.0.0","name":"Edit Operator Source","version":"1.2.4","tagline":"Opens source file of chosen operator or call locations","archive_hash":"sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc","archive_size":2897,"archive_url":"https://extensions.blender.org/download/sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc/add-on-edit-operator-source-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-operator-source/","maintainer":"scorpion81","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"copy_render_settings","schema_version":"1.0.0","name":"Copy Render Settings","version":"2.0.0","tagline":"Allows to copy a selection of render settings from current . . ","archive_hash":"sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0","archive_size":7786,"archive_url":"https://extensions.blender.org/download/sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0/add-on-copy-render-settings-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-render-settings/","maintainer":"mont29","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"newtek_mdd_format","schema_version":"1.0.0","name":"NewTek MDD format","version":"1.0.3","tagline":"Import-Export MDD as mesh shape keys","archive_hash":"sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759","archive_size":4368,"archive_url":"https://extensions.blender.org/download/sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759/add-on-newtek-mdd-format-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/newtek-mdd-format/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with MDD format files"},"tags":["Import-Export"]},{"id":"demo_mode","schema_version":"1.0.0","name":"Demo Mode","version":"1.0.0","tagline":"Demo mode lets you select multiple blend files and loop ove . . ","archive_hash":"sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62","archive_size":9071,"archive_url":"https://extensions.blender.org/download/sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62/add-on-demo-mode-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/demo-mode/","maintainer":"campbell","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"scene_information","schema_version":"1.0.0","name":"Scene Information","version":"0.3.1","tagline":"Show information about the .blend","archive_hash":"sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6","archive_size":1816,"archive_url":"https://extensions.blender.org/download/sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6/add-on-scene-information-v0.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-information/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"paint_palettes","schema_version":"1.0.0","name":"Paint Palettes","version":"0.9.4","tagline":"Palettes for color and weight paint modes","archive_hash":"sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321","archive_size":6133,"archive_url":"https://extensions.blender.org/download/sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321/add-on-paint-palettes-v0.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-palettes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Paint"]},{"id":"nuke_animation_format_chan","schema_version":"1.0.0","name":"Nuke Animation Format (.chan)","version":"1.0.0","tagline":"Import/Export object's animation with nuke","archive_hash":"sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9","archive_size":4340,"archive_url":"https://extensions.blender.org/download/sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9/add-on-nuke-animation-format-chan-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nuke-animation-format-chan/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export"]},{"id":"btracer","schema_version":"1.0.0","name":"BTracer","version":"1.2.4","tagline":"Tools for converting/animating objects/particles into curves","archive_hash":"sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064","archive_size":17367,"archive_url":"https://extensions.blender.org/download/sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064/add-on-btracer-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/btracer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"web3d_x3d_vrml2_format","schema_version":"1.0.0","name":"Web3D X3D/VRML2 format","version":"2.5.1","tagline":"Import-Export X3D, Import VRML2","archive_hash":"sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604","archive_size":100153,"archive_url":"https://extensions.blender.org/download/sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604/add-on-web3d-x3d-vrml2-format-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/","maintainer":"Bujus_Krachus","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to access files for import/export","network":"Required to download web resources for import"},"tags":["Import-Export"]},{"id":"export_camera_animation","schema_version":"1.0.0","name":"Export Camera Animation","version":"0.1.2","tagline":"Export Cameras & Markers to a Python script","archive_hash":"sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed","archive_size":2057,"archive_url":"https://extensions.blender.org/download/sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed/add-on-export-camera-animation-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-camera-animation/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .py file"},"tags":["Import-Export"]},{"id":"cadbase_library","schema_version":"1.0.0","name":"CADBase Library","version":"0.3.0","tagline":"Add-on enables data sync with remote storage (cloud)","archive_hash":"sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be","archive_size":190158,"archive_url":"https://extensions.blender.org/download/sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be/add-on-cadbase-library-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cadbase-library/","maintainer":"mnnxp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export library data from/to disk","network":"Need to to sync library data with a remote server","clipboard":"Copy component link to clipboard"},"tags":["Import-Export"]},{"id":"forts_map","schema_version":"1.0.0","name":"Forts Map Importer","version":"1.0.1","tagline":"Import Forts Map","archive_hash":"sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66","archive_size":4234,"archive_url":"https://extensions.blender.org/download/sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66/add-on-forts-map-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/forts-map/","maintainer":"Gonnetz","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Import-Export"]},{"id":"democap_tools","schema_version":"1.0.0","name":"DEMoCap Tools","version":"1.0.4","tagline":"Tools for importing DEMoCap motion captures into Blender","archive_hash":"sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e","archive_size":114185,"archive_url":"https://extensions.blender.org/download/sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e/add-on-democap-tools-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/democap-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading motion capture files","network":"Connect to DEMoCap (Live Connection)"},"tags":["Import-Export","3D View","Object","Animation"]},{"id":"dragengine_tools","schema_version":"1.0.0","name":"Drag[en]gine Import/Export","version":"1.29.1","tagline":"Import/Export Drag[en]gine Resources including helper tools","archive_hash":"sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a","archive_size":115706,"archive_url":"https://extensions.blender.org/download/sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a/add-on-dragengine-tools-v1.29.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragengine-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing/Exporting resources"},"tags":["Import-Export","3D View","Mesh","Object","Animation"]}],"version":"v1"} \ No newline at end of file diff --git a/extensions/blender_org/.blender_ext/index.json@c22c b/extensions/blender_org/.blender_ext/index.json@c22c deleted file mode 100644 index 6034482..0000000 --- a/extensions/blender_org/.blender_ext/index.json@c22c +++ /dev/null @@ -1 +0,0 @@ -{"blocklist":[],"data":[{"id":"geo_nodes_guide","schema_version":"1.0.0","name":"Geo Nodes Guide","version":"0.1.0","tagline":"Live documentation and examples for Geometry Nodes","archive_hash":"sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792","archive_size":93537,"archive_url":"https://extensions.blender.org/download/sha256:4b6c3a38e41845e4af3c48ac96f991023802ec6fb472fb27f1b70252141ed792/add-on-geo-nodes-guide-v0.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/geo-nodes-guide/","maintainer":"Addonyte","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Geometry Nodes"]},{"id":"red_velvet_theme","schema_version":"1.0.0","name":"Red Velvet Theme","version":"1.0.0","tagline":"A cosmic red cyberpunk-inspired theme","archive_hash":"sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:befa1a1df17476ad63283489e5f0ec497a548aacde2889e337b4b390444f0ab7/theme-red-velvet-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/red-velvet-theme/","maintainer":"Thunder-Artist","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"outliner_preview","schema_version":"1.0.0","name":"Outliner Model Preview","version":"1.0.8","tagline":"Preview selected model in the Outliner","archive_hash":"sha256:f0b5c8946a4f5d700300bf2be1aecde90baaa3d82e6a52974b98a22e4caed510","archive_size":17450,"archive_url":"https://extensions.blender.org/download/sha256:f0b5c8946a4f5d700300bf2be1aecde90baaa3d82e6a52974b98a22e4caed510/add-on-outliner-preview-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/outliner-preview/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"ftw3dforge_image_projector","schema_version":"1.0.0","name":"FTW3DForge Image Projector","version":"2.1.0","tagline":"Project images onto 3D meshes with real-time preview and baking","archive_hash":"sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf","archive_size":16305,"archive_url":"https://extensions.blender.org/download/sha256:617174fdbacd5d088f727e257df211836bb8e56a8e133baf2e39ffa937ac8eaf/add-on-ftw3dforge-image-projector-v2.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw3dforge-image-projector/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["UV","Mesh","Import-Export","Material"]},{"id":"sidebar_tab_search","schema_version":"1.0.0","name":"Sidebar Tab Search","version":"1.0.0","tagline":"Quick search and switch between Sidebar (N-Panel) tabs","archive_hash":"sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd","archive_size":18766,"archive_url":"https://extensions.blender.org/download/sha256:ef4c57506642a4131e717e90d02486e842fae877de07098bcf234a017bcb1efd/add-on-sidebar-tab-search-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sidebar-tab-search/","maintainer":"McKaa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"selection_mode_cycler","schema_version":"1.0.0","name":"Selection Mode Cycler","version":"1.0.1","tagline":"Cycles through mesh selection modes in Edit Mode","archive_hash":"sha256:39a1cadea1841218de15e7cb6d76460c2b5300abff6d0044e3074c92eb25bce3","archive_size":1311,"archive_url":"https://extensions.blender.org/download/sha256:39a1cadea1841218de15e7cb6d76460c2b5300abff6d0044e3074c92eb25bce3/add-on-selection-mode-cycler-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selection-mode-cycler/","maintainer":"Lise-2","license":["SPDX:GPL-3.0-or-later"]},{"id":"colornova","schema_version":"1.0.0","name":"COLOR-NOVA // SPECTRAL UV | M-87","version":"1.0.1","tagline":"Essential UV contrast. Absolute clarity for professional focus","archive_hash":"sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc","archive_size":6257,"archive_url":"https://extensions.blender.org/download/sha256:576cbbbabfcee8185c036eecd82778dacc608cf8ca104a7982374b27300662bc/theme-colornova-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/colornova/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast","Colorful"]},{"id":"select_similar_geometry","schema_version":"1.0.0","name":"Select Similar Geometry","version":"1.3.0","tagline":"Select objects by percentage of matching vertices","archive_hash":"sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21","archive_size":397646,"archive_url":"https://extensions.blender.org/download/sha256:549558b40ebcb9135cc6634abaedb5e7fffb8cd901fbc209543e484c79e05d21/add-on-select-similar-geometry-v1.3.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/select-similar-geometry/","maintainer":"JuanRomero","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"matgeo","schema_version":"1.0.0","name":"MatGeo","version":"1.0.0","tagline":"Convert Materials to Geometry Nodes","archive_hash":"sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556","archive_size":9103,"archive_url":"https://extensions.blender.org/download/sha256:8c636cfb2e778681acb09b8222e94284a2a90f5735a4344ab7f6cc3bb6272556/add-on-matgeo-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/matgeo/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Geometry Nodes","Node"]},{"id":"Cross_Select","schema_version":"1.0.0","name":"Cross Select","version":"1.0.4","tagline":"Select scene objects similar like RHINO or CAD","archive_hash":"sha256:9679d1ed71bc457f2528984934f86fb96878f05211be7d30195afe586c1ddc22","archive_size":20040,"archive_url":"https://extensions.blender.org/download/sha256:9679d1ed71bc457f2528984934f86fb96878f05211be7d30195afe586c1ddc22/add-on-cross-select-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cross-select/","maintainer":"RARA","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View","Scene"]},{"id":"Dark_3d","schema_version":"1.0.0","name":"Dark 3d","version":"1.0.0","tagline":"Shaded Buttons","archive_hash":"sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad","archive_size":6664,"archive_url":"https://extensions.blender.org/download/sha256:85287c4f042cee529776e3307774d0c0084b76b6d1026a3eb4a526119cbe64ad/theme-dark-3d-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-3d/","maintainer":"SammyTheBest","license":["SPDX:GPL-3.0-or-later"]},{"id":"VibeyTM_Pro","schema_version":"1.0.0","name":"Vibey™ Pro","version":"0.0.1","tagline":"Visually exciting yet fully functional","archive_hash":"sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92","archive_size":18840,"archive_url":"https://extensions.blender.org/download/sha256:dad4cca29ed2bbf3aa50a4b11551bf7474d3d0b0f8c12be6f1e5f271f448af92/theme-vibeytm-pro-v0.0.1.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/vibeytm-pro/","maintainer":"Fedor-Rezhenov","license":["SPDX:GPL-3.0-or-later"]},{"id":"bone_math","schema_version":"1.0.0","name":"Bone Math","version":"0.1.0","tagline":"Calculate pole angles, plus other bone related math","archive_hash":"sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c","archive_size":4795,"archive_url":"https://extensions.blender.org/download/sha256:bffa46d552cc35629cededdab661852c6cfaf195224693423343d36233f9be3c/add-on-bone-math-v0.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bone-math/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"surface_diagnostics","schema_version":"1.0.0","name":"Surface Diagnostics","version":"1.4.2","tagline":"Set of tools for diagnosing surface quality","archive_hash":"sha256:72f120b717c9d83ec5072d22eeb826dbea67c09a61e2e272cfbd12a9a4043d8e","archive_size":1235547,"archive_url":"https://extensions.blender.org/download/sha256:72f120b717c9d83ec5072d22eeb826dbea67c09a61e2e272cfbd12a9a4043d8e/add-on-surface-diagnostics-v1.4.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/surface-diagnostics/","maintainer":"JLBöhm","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Geometry Nodes"]},{"id":"savepoints","schema_version":"1.0.0","name":"SavePoints","version":"1.4.1","tagline":"Visual version control, easy restore, and automatic timelapse","archive_hash":"sha256:459db276ebc865d1f84881640d02484bb1442e0636e0be51158566f3e392caad","archive_size":90184,"archive_url":"https://extensions.blender.org/download/sha256:459db276ebc865d1f84881640d02484bb1442e0636e0be51158566f3e392caad/add-on-savepoints-v1.4.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/savepoints/","maintainer":"unclepomedev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create version history and move deleted versions to trash"},"tags":["System","Pipeline","Render"]},{"id":"sprite_sheet_maker","schema_version":"1.0.0","name":"Sprite Sheet Maker","version":"5.1.1","tagline":"3D to 2D sprite sheet converter with optional pixelation","archive_hash":"sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329","archive_size":8711545,"archive_url":"https://extensions.blender.org/download/sha256:9815ddb645236f6da93d490665640c713254354e2938c107275d90073fd26329/add-on-sprite-sheet-maker-v5.1.1-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/sprite-sheet-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Animation","Render"]},{"id":"kanagawa","schema_version":"1.0.0","name":"Kanagawa","version":"1.0.1","tagline":"kanagawa.nvim for Blender","archive_hash":"sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d","archive_size":6190,"archive_url":"https://extensions.blender.org/download/sha256:6ed495278dc7aa6b6de08cf43f8407fb6afc06eef1d3c6f093413d156e01f22d/theme-kanagawa-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/kanagawa/","maintainer":"timberlinefpv","license":["SPDX:GPL-3.0-or-later"]},{"id":"io_xnalara","schema_version":"1.0.0","name":"XPS Import/Export","version":"2.2.3","tagline":"Import-Export for XNALara/XPS files","archive_hash":"sha256:562c1bc1ff1375190a25604fda95897f1d3f6c034d8aeee742bd91a8acbf3d8d","archive_size":179046,"archive_url":"https://extensions.blender.org/download/sha256:562c1bc1ff1375190a25604fda95897f1d3f6c034d8aeee742bd91a8acbf3d8d/add-on-io-xnalara-v2.2.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-xnalara/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"ZZZ","schema_version":"1.0.0","name":"ZZZ Theme","version":"1.0.0","tagline":"High-contrast dark theme with Zenless Zone Zero's signature","archive_hash":"sha256:e1f9b0b7f60d398e27faab38b779e7e3c50191b98fb1b312b26b48854544093c","archive_size":5309,"archive_url":"https://extensions.blender.org/download/sha256:e1f9b0b7f60d398e27faab38b779e7e3c50191b98fb1b312b26b48854544093c/theme-zzz-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zzz/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By","High Contrast"]},{"id":"Cyberpunk2077","schema_version":"1.0.0","name":"Cyberpunk 2077","version":"1.1.3","tagline":"A Cyberpunk 2077 theme for Blender","archive_hash":"sha256:824e9449685f7b4cde9b4088e2f76c41386ca58a9fc242b430fc9b080a26d7a2","archive_size":5626,"archive_url":"https://extensions.blender.org/download/sha256:824e9449685f7b4cde9b4088e2f76c41386ca58a9fc242b430fc9b080a26d7a2/theme-cyberpunk2077-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cyberpunk2077/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"sleek_navy","schema_version":"1.0.0","name":"Sleek Navy","version":"1.0.0","tagline":"A clean dark-blue Blender theme","archive_hash":"sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420","archive_size":5546,"archive_url":"https://extensions.blender.org/download/sha256:d285940ff5d39d4f6a08ac6ce575fbb4c37448322def695c85863b9d272d7420/theme-sleek-navy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/sleek-navy/","maintainer":"Martel6ix","license":["SPDX:MIT"]},{"id":"viewport_camera_positions","schema_version":"1.0.0","name":"Lutaya Viewport Camera","version":"1.0.1","tagline":"Save and switch between camera positions with orthographic views","archive_hash":"sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b","archive_size":4336,"archive_url":"https://extensions.blender.org/download/sha256:ede7461b4a2d43a0f6f97d17c5d27ef056bc55901608d83dcb46f6c0c832f71b/add-on-viewport-camera-positions-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-camera-positions/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load camera position configurations"},"tags":["3D View","Camera"]},{"id":"sequence_loader","schema_version":"1.0.0","name":"Sequence Loader","version":"0.3.9","tagline":"Just-in-time loader for meshio-supported mesh file sequences","archive_hash":"sha256:9b1737835579d20d755c4e86ac2da304b22805761532432fec7fe79bf195bb5b","archive_size":629207,"archive_url":"https://extensions.blender.org/download/sha256:9b1737835579d20d755c4e86ac2da304b22805761532432fec7fe79bf195bb5b/add-on-sequence-loader-v0.3.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sequence-loader/","maintainer":"Stefan-Jeske","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Core functionality to load files from disk"},"tags":["Import-Export"]},{"id":"automata_theme","schema_version":"1.0.0","name":"Automata","version":"1.0.0","tagline":"NieR inspired theme","archive_hash":"sha256:cdf20785438bdbeca1640a9fa59a86ad0e96b98b0b2a267622fceb9c60122168","archive_size":5881,"archive_url":"https://extensions.blender.org/download/sha256:cdf20785438bdbeca1640a9fa59a86ad0e96b98b0b2a267622fceb9c60122168/theme-automata-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/automata-theme/","maintainer":"NSA-Cloud","license":["SPDX:GPL-3.0-or-later"]},{"id":"ani_offset","schema_version":"1.0.0","name":"Ani Offset","version":"3.2.2","tagline":"Propagate pose offsets across selected keyframes","archive_hash":"sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154","archive_size":3526,"archive_url":"https://extensions.blender.org/download/sha256:6bf4ed70b657094558e0f01616facd761d74d8e7d97b03a55e42cbeec3db3154/add-on-ani-offset-v3.2.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ani-offset/","maintainer":"Drika111","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"copy_paste_nodes","schema_version":"1.0.0","name":"Copy/Paste Nodes","version":"0.1.4","tagline":"Copy nodes to and from the system clipboard as JSON","archive_hash":"sha256:dfc0957b119c2bc7435b9887a480855f712be1eff69a6f520de0e3345ceb47fd","archive_size":10704,"archive_url":"https://extensions.blender.org/download/sha256:dfc0957b119c2bc7435b9887a480855f712be1eff69a6f520de0e3345ceb47fd/add-on-copy-paste-nodes-v0.1.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/copy-paste-nodes/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste nodes to the clipboard"},"tags":["Node"]},{"id":"mixamo_rig","schema_version":"1.0.0","name":"Mixamo Rig","version":"1.1.8","tagline":"Generate a control rig from Mixamo Fbx skeleton","archive_hash":"sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96","archive_size":171560,"archive_url":"https://extensions.blender.org/download/sha256:f42ac139ec3b35c92c45ef6d50eba24acc97b01dba337597d537933dfda69a96/add-on-mixamo-rig-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.5.999","website":"https://extensions.blender.org/add-ons/mixamo-rig/","maintainer":"tyler.tofu","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Rigging"]},{"id":"img2mat_pro","schema_version":"1.0.0","name":"img2mat_pro","version":"1.10.0","tagline":"Extract color materials and paint palettes from images","archive_hash":"sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990","archive_size":9875,"archive_url":"https://extensions.blender.org/download/sha256:63cc939853b7d1657b88026f815565e374ed7c8662bbe03c2359be744e855990/add-on-img2mat-pro-v1.10.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img2mat-pro/","maintainer":"stevewarner","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","User Interface","Pipeline"]},{"id":"export_render_as_dng","schema_version":"1.0.0","name":"Export Render as DNG","version":"1.0.2","tagline":"Export renders and images as Bayer-style DNG files","archive_hash":"sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85","archive_size":25960,"archive_url":"https://extensions.blender.org/download/sha256:f856182d2c346ade4c2a86e4969f7f3d4851c9c75c653ae97edb797d9e71df85/add-on-export-render-as-dng-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-render-as-dng/","maintainer":"FloBEAUG","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export DNG to disk"}},{"id":"Origin_move_like_maya","schema_version":"1.0.0","name":"Origin_move_like_maya (Press D)","version":"1.2.0","tagline":"Move pivot independently with snapping and gizmo like maya","archive_hash":"sha256:4290ecc7ba2ce331cfd6e0fd369f78783dd2fb1f434bee3e15c94cee8dd72362","archive_size":3331,"archive_url":"https://extensions.blender.org/download/sha256:4290ecc7ba2ce331cfd6e0fd369f78783dd2fb1f434bee3e15c94cee8dd72362/add-on-origin-move-like-maya-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/origin-move-like-maya/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"printing_helper","schema_version":"1.0.0","name":"Printing Helper","version":"0.1.1","tagline":"Set the resolution required for printing more simply","archive_hash":"sha256:f98b2b9706a9aab3d09f7b79eefb02b4a603d3d64a41739eaafadcdec2629281","archive_size":10107,"archive_url":"https://extensions.blender.org/download/sha256:f98b2b9706a9aab3d09f7b79eefb02b4a603d3d64a41739eaafadcdec2629281/add-on-printing-helper-v0.1.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/printing-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"bh_smart_sym","schema_version":"1.0.0","name":"BH Smart Sym","version":"0.9.0","tagline":"Interactive 3D arrows for quick face symmetrize","archive_hash":"sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34","archive_size":5272,"archive_url":"https://extensions.blender.org/download/sha256:ce7b895d47814b9d85ac9401d04fbd7172df8236fcf2b0313549b8c419e36c34/add-on-bh-smart-sym-v0.9.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bh-smart-sym/","maintainer":"bogatyr4ik","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"camera_aspect_ratio_guides","schema_version":"1.0.0","name":"Camera Aspect Ratio Guides","version":"1.0.5","tagline":"Viewport composition guides with render burn-in support","archive_hash":"sha256:ba571c784e7cf5b2ced8ee6b07ab2d2dc46d1ce9ca33d132669a77f80b36f99e","archive_size":7526,"archive_url":"https://extensions.blender.org/download/sha256:ba571c784e7cf5b2ced8ee6b07ab2d2dc46d1ce9ca33d132669a77f80b36f99e/add-on-camera-aspect-ratio-guides-v1.0.5.zip","type":"add-on","blender_version_min":"4.5.0","blender_version_max":"5.5.0","website":"https://extensions.blender.org/add-ons/camera-aspect-ratio-guides/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render","Compositing"]},{"id":"camerafly","schema_version":"1.0.0","name":"Camerafly","version":"2.1.3","tagline":"Fly around with the Dolly Rig of the Camera Rigs Addon","archive_hash":"sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d","archive_size":23698,"archive_url":"https://extensions.blender.org/download/sha256:2cf80404569b5392531e80970fda2aa674d9917890252f4e075f650237c4314d/add-on-camerafly-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camerafly/","maintainer":"MichaelSchieber","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"rigi_all","schema_version":"1.0.0","name":"Rigi-All","version":"1.5.2","tagline":"Speeds up the Rigify process","archive_hash":"sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17","archive_size":31809,"archive_url":"https://extensions.blender.org/download/sha256:be58389a205a4674658dea7e20ade3a085fa7af720d79c01692e81ed98735c17/add-on-rigi-all-v1.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigi-all/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Quick_Asset_Saver","schema_version":"1.0.0","name":"Quick Asset Saver","version":"1.3.2","tagline":"Create, Rename, Move, and Delete Asset Files Quickly","archive_hash":"sha256:501cb1d92ce35218a7254c6825690aa6dbf284fa82b287d490cbe566fff17efc","archive_size":54837,"archive_url":"https://extensions.blender.org/download/sha256:501cb1d92ce35218a7254c6825690aa6dbf284fa82b287d490cbe566fff17efc/add-on-quick-asset-saver-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-asset-saver/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"For reading user library paths and writing asset files"},"tags":["User Interface","System"]},{"id":"bone_widget","schema_version":"1.0.0","name":"Bone Widget","version":"2.3.3","tagline":"Easily Create Bone Widgets","archive_hash":"sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970","archive_size":293994,"archive_url":"https://extensions.blender.org/download/sha256:782bc123b494fd568b4400735d59d279e23610c4d57a33b3052ceed893726970/add-on-bone-widget-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-widget/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export json and image files from/to disk"},"tags":["Rigging"]},{"id":"Bone_Animation_Copy_Tool","schema_version":"1.0.0","name":"Bone Animation Copy Tool","version":"1.1.5","tagline":"Copy animation between armatures using bone constraints","archive_hash":"sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2","archive_size":9772,"archive_url":"https://extensions.blender.org/download/sha256:88a3155787f7257b4d696d7b84b8a64b68e8ac9f456c4bce79edd129b055a5f2/add-on-bone-animation-copy-tool-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-animation-copy-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"orbiter","schema_version":"1.0.0","name":"Orbiter","version":"1.1.0","tagline":"Orbit around objects in the viewport","archive_hash":"sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a","archive_size":3393,"archive_url":"https://extensions.blender.org/download/sha256:a50f42981a2273110cb9af1a508b0573f4e08b21f67bb76c5d91ec6ad4af680a/add-on-orbiter-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orbiter/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"spline_generator","schema_version":"1.0.0","name":"Spline Generator","version":"1.0.3","tagline":"Generate parametric spline","archive_hash":"sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145","archive_size":8307,"archive_url":"https://extensions.blender.org/download/sha256:129cc2a92f5d127bd8d1c15f9766183a1fa25aaa69eda144ef27f47b50315145/add-on-spline-generator-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spline-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Add Curve"]},{"id":"graph_generator","schema_version":"1.0.0","name":"Graph Generator","version":"1.2.2","tagline":"Generate graph between saved keyframes","archive_hash":"sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4","archive_size":9526,"archive_url":"https://extensions.blender.org/download/sha256:6f8a49aa275a16a70cd75db50d1bbecdc4dc4f0b9d6fd3173a10e7b8967cafe4/add-on-graph-generator-v1.2.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/graph-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"wisteria","schema_version":"1.0.0","name":"Wisteria","version":"1.0.1","tagline":"Gray with hints of purple","archive_hash":"sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915","archive_size":5690,"archive_url":"https://extensions.blender.org/download/sha256:d551b27cc0ee87125c02ecc9f22243bf0db7f8f7ffb64a70cca982ecc182a915/theme-wisteria-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/wisteria/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"trajectory_anim","schema_version":"1.0.0","name":"Trajectory Anim","version":"1.2.1","tagline":"Animate quickly by drawing trajectory line","archive_hash":"sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d","archive_size":43987,"archive_url":"https://extensions.blender.org/download/sha256:3185af4b475175a5cddef7f87745943bd3a7224daba5d4416425476a5245bc9d/add-on-trajectory-anim-v1.2.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/trajectory-anim/","maintainer":"trisnox","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Analysis_Toolkit","schema_version":"1.0.0","name":"Analysis Toolkit","version":"1.0.1","tagline":"Measurement calculations, illuminance, distance, speed, and more","archive_hash":"sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823","archive_size":25910,"archive_url":"https://extensions.blender.org/download/sha256:524de12e2a1cb0de369560e7e83aa2a47d45e2ccefdd628d941ebcd23d363823/add-on-analysis-toolkit-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/analysis-toolkit/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Lighting"]},{"id":"ns_toolkit_mesh_cleanup_pro","schema_version":"1.0.0","name":"NS Toolkit - Mesh Cleanup Pro","version":"1.0.1","tagline":"Professional mesh cleanup with topology visualization tools","archive_hash":"sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e","archive_size":9410,"archive_url":"https://extensions.blender.org/download/sha256:0d7fa13aae7b308929ffd16d4bfc84a9a8dce03fecfd7df152f4ee434646792e/add-on-ns-toolkit-mesh-cleanup-pro-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ns-toolkit-mesh-cleanup-pro/","maintainer":"nandur","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"OLED","schema_version":"1.0.0","name":"OLED","version":"1.0.0","tagline":"OLED theme for Blender","archive_hash":"sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:11f8ca2e68d692cbfef511ce3b84d94dacb60e72c3253e15f010f479f2469eee/theme-oled-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/oled/","maintainer":"NARZ","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"CYNexusLX490","schema_version":"1.0.0","name":"CyanoNexus LX490","version":"1.0.1","tagline":"Stellar-grade Blender theme – tri-spectrum of CyanoNexus LX490","archive_hash":"sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9","archive_size":6218,"archive_url":"https://extensions.blender.org/download/sha256:8ea816a51657ede592156a97f26568ca0edcf6a1466e57d23947e0d1146899f9/theme-cynexuslx490-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cynexuslx490/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"editorbar","schema_version":"1.0.0","name":"EditorBar","version":"0.4.7","tagline":"Turn Outliner & Properties editors into a toggleable sidebar","archive_hash":"sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a","archive_size":24251,"archive_url":"https://extensions.blender.org/download/sha256:2ad15ef0f635c03095176b6f64eb24604fe20d2878e41f35612b05ee3b77a08a/add-on-editorbar-v0.4.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/editorbar/","maintainer":"atetraxx","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"manage_file_paths","schema_version":"1.0.0","name":"Manage File Paths","version":"1.0.1","tagline":"A list of image file paths with indicators for missing files","archive_hash":"sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906","archive_size":3273,"archive_url":"https://extensions.blender.org/download/sha256:934b305fd815c3d3d82f26dbc1bf4a72fa5680df3941e261b42f6e5fe1f38906/add-on-manage-file-paths-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/manage-file-paths/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check if image files exist on disk"},"tags":["Material","System"]},{"id":"matcolex","schema_version":"1.0.0","name":"MatColeX","version":"1.7.8","tagline":"Collect, Organize, and Apply Shaders from Your 3D View","archive_hash":"sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5","archive_size":9589,"archive_url":"https://extensions.blender.org/download/sha256:6b742fd6b14bd16df4a9ff182d73d83b07a2fa6e34780e968114d867d2acb6d5/add-on-matcolex-v1.7.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matcolex/","maintainer":"budijozz","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","3D View","Modeling"]},{"id":"wfc_3d_generator","schema_version":"1.0.0","name":"WFC 3D Generator","version":"1.3.7","tagline":"Simple WFC 3D generator for procedural creation of objects","archive_hash":"sha256:bf1666615c874701a492227230c8137140b4de8a76fa610d31ed7a6b302f4bef","archive_size":76569,"archive_url":"https://extensions.blender.org/download/sha256:bf1666615c874701a492227230c8137140b4de8a76fa610d31ed7a6b302f4bef/add-on-wfc-3d-generator-v1.3.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wfc-3d-generator/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export constraints (JSON) from/to disk"},"tags":["Object","Modeling","Render","Game Engine"]},{"id":"blender_dark_aero_theme","schema_version":"1.0.0","name":"Dark Aero","version":"1.0.0","tagline":"This is a Dark Aero Theme for Blender","archive_hash":"sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca","archive_size":7696,"archive_url":"https://extensions.blender.org/download/sha256:dd91b8fee851865a4e2441bb32cd44003acf85e919f128b477666b3cacbdf8ca/theme-blender-dark-aero-theme-v1.0.0.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blender-dark-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"nurbs2mesh","schema_version":"1.0.0","name":"NURBS2Mesh","version":"1.0.3","tagline":"Auto-updating mesh copies from NURBS/Curves","archive_hash":"sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35","archive_size":9718,"archive_url":"https://extensions.blender.org/download/sha256:6c6d4c2a248679c2f5fbeb3227647baced5bbca6fd23df4e4b8a5b622dd61a35/add-on-nurbs2mesh-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nurbs2mesh/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"curve_generator","schema_version":"1.0.0","name":"Curve Generator","version":"1.2.1","tagline":"Generate float curves","archive_hash":"sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac","archive_size":6289,"archive_url":"https://extensions.blender.org/download/sha256:041ae75e03c1d0988b9c4cf0064654b26234b1dca3dbf8f2eea6307aa2b6adac/add-on-curve-generator-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Add Curve"]},{"id":"true_roboanimator","schema_version":"1.0.0","name":"True RoboAnimator","version":"1.0.1","tagline":"Robot motion to wheel RPM with CSV export","archive_hash":"sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606","archive_size":18055,"archive_url":"https://extensions.blender.org/download/sha256:f7fd9db315107b46866da3bdafc33a5faf41bdf208f02f7a1dc4be162a415606/add-on-true-roboanimator-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/true-roboanimator/","maintainer":"danyal-sarfraz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write CSV and animation data files"}},{"id":"MaterialHelper","schema_version":"1.0.0","name":"MaterialHelper","version":"1.4.7","tagline":"Make local asset manager your place to create powerful materials","archive_hash":"sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d","archive_size":3927318,"archive_url":"https://extensions.blender.org/download/sha256:a9a764764b3887429bdc64ff4ead86981532d84af60d76611d61ac3d1dab8b1d/add-on-materialhelper-v1.4.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/materialhelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load preview material file/Access and modify asset catalog file"},"tags":["3D View","Material"]},{"id":"lutiy_timeline","schema_version":"1.0.0","name":"Lutiy Timeline","version":"1.0.1","tagline":"Save and switch between camera frame range","archive_hash":"sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb","archive_size":3790,"archive_url":"https://extensions.blender.org/download/sha256:7a10d287ecbbb955861d09ae436d12fa9e72f143bef625b1fb0e36dd1748e3bb/add-on-lutiy-timeline-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lutiy-timeline/","maintainer":"3D_SHVYREV","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load preset configurations"},"tags":["Animation","Camera","Scene"]},{"id":"py_btn_box","schema_version":"1.0.0","name":"PyBtnBox","version":"5.1.0","tagline":"Use Button To Execute Script","archive_hash":"sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf","archive_size":14035,"archive_url":"https://extensions.blender.org/download/sha256:064fe1faa509be5bd44f5d0e9b11970e2035508156ba7b2860e8f434c459eeaf/add-on-py-btn-box-v5.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/py-btn-box/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Need to sync button data from python/json files and folder"},"tags":["System"]},{"id":"mesh_attribute_utils","schema_version":"1.0.0","name":"Mesh Attribute Utils","version":"0.2.0","tagline":"Easily view and edit custom mesh attributes","archive_hash":"sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211","archive_size":8347,"archive_url":"https://extensions.blender.org/download/sha256:e62f38ee324ba6983ce8963358bc06a9570bca9da8ffa2f38f8f653c23365211/add-on-mesh-attribute-utils-v0.2.0.zip","type":"add-on","blender_version_min":"4.5.3","website":"https://extensions.blender.org/add-ons/mesh-attribute-utils/","maintainer":"Hannah-Pascal-Noël","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"theme_updater","schema_version":"1.0.0","name":"Theme Updater","version":"1.0.0","tagline":"Update themes from 4.5 LTS to 5.0","archive_hash":"sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21","archive_size":5066,"archive_url":"https://extensions.blender.org/download/sha256:b376af83f16f0b089690d87a2b8d1dfaeeaa11578ac9a9ff8214d5e4a0308a21/add-on-theme-updater-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/theme-updater/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"rotor","schema_version":"1.0.0","name":"rotor","version":"1.2.0","tagline":"rotor","archive_hash":"sha256:f6ffa0ce4333220130d35235e958b0985edb56c86898ca6568e4296e7541e291","archive_size":39884,"archive_url":"https://extensions.blender.org/download/sha256:f6ffa0ce4333220130d35235e958b0985edb56c86898ca6568e4296e7541e291/add-on-rotor-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rotor/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"Blockout","schema_version":"1.0.0","name":"Blockout","version":"1.3.0","tagline":"Blockout","archive_hash":"sha256:a65a3b237b0eec60909bea1f0f68756c25fd19355521e9196baebcd9533190da","archive_size":140538,"archive_url":"https://extensions.blender.org/download/sha256:a65a3b237b0eec60909bea1f0f68756c25fd19355521e9196baebcd9533190da/add-on-blockout-v1.3.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blockout/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing node group from disk"},"tags":["Modeling","3D View","Mesh"]},{"id":"collection_switcher","schema_version":"1.0.0","name":"Collection Switcher","version":"1.4.0","tagline":"Switch visibility between sub-collections in switchers","archive_hash":"sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9","archive_size":1124111,"archive_url":"https://extensions.blender.org/download/sha256:dbdfecad5e8051a1bd8a8005200ff91c37dab4fb3ffc489d66859be1454519e9/add-on-collection-switcher-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-switcher/","maintainer":"Valentin-Komkov","license":["SPDX:GPL-3.0-or-later"]},{"id":"stb_section_toolbox","schema_version":"1.0.0","name":"Section Toolbox","version":"0.0.2","tagline":"Parametric section box and planar cuts with SVG DXF export","archive_hash":"sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7","archive_size":30173,"archive_url":"https://extensions.blender.org/download/sha256:93dd3b52321132a6c44cfdf0a738628fc156fba3d06d5f8d57fd2f189447f3f7/add-on-stb-section-toolbox-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stb-section-toolbox/","maintainer":"Victor-Calixto","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG and DXF to disk"},"tags":["Modeling","Mesh","Import-Export","Object"]},{"id":"uv_maps_plus","schema_version":"1.0.0","name":"UV Maps+","version":"1.0.4","tagline":"Reorder UV Maps, Copy/Paste UVs, and exceed the 8-map limit","archive_hash":"sha256:e4c39900ee3c74b88c77c685ff8b9dafa00657c405c2d8c1a21d36bf08808638","archive_size":3585,"archive_url":"https://extensions.blender.org/download/sha256:e4c39900ee3c74b88c77c685ff8b9dafa00657c405c2d8c1a21d36bf08808638/add-on-uv-maps-plus-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-maps-plus/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","User Interface"]},{"id":"parallax_node","schema_version":"1.0.0","name":"Parallax Node","version":"1.1.0","tagline":"Adds parallax node for shader nodes","archive_hash":"sha256:94787c90229f5a051d27f9593c461f861829b1fe7e1dbdd5e6a78db67c5b6955","archive_size":10854,"archive_url":"https://extensions.blender.org/download/sha256:94787c90229f5a051d27f9593c461f861829b1fe7e1dbdd5e6a78db67c5b6955/add-on-parallax-node-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/parallax-node/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"easy_driver","schema_version":"1.0.0","name":"Easy Driver","version":"1.5.7","tagline":"Technical rigging made easier","archive_hash":"sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e","archive_size":41557,"archive_url":"https://extensions.blender.org/download/sha256:67bb46459b69c6db2a040f83df1903d0f3f449193b587da175117fa5dbac9b1e/add-on-easy-driver-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/add-ons/easy-driver/","maintainer":"NeoEmberArt","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"hifi_builder","schema_version":"1.0.0","name":"HiFi Architecture Builder v3.8","version":"3.8.0","tagline":"One click architecture builder for Blender with feet units","archive_hash":"sha256:c5b202c6a13af487c275bd95d3a15bd953a2973980c627b78580ba43dc573072","archive_size":73845,"archive_url":"https://extensions.blender.org/download/sha256:c5b202c6a13af487c275bd95d3a15bd953a2973980c627b78580ba43dc573072/add-on-hifi-builder-v3.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hifi-builder/","maintainer":"Malik-Nomi","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling"]},{"id":"secondary_language","schema_version":"1.0.0","name":"Secondary Language","version":"1.1.0","tagline":"Quickly switch to secondary language","archive_hash":"sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049","archive_size":3939,"archive_url":"https://extensions.blender.org/download/sha256:f4fca123ca687c2b2977fdcef6157718d47d4bae15970ff3e90064948abd6049/add-on-secondary-language-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/secondary-language/","maintainer":"mdlt7z","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"driver_helper","schema_version":"1.0.0","name":"DriverHelper","version":"1.0.1","tagline":"Helps generate driver formulas in the Shape Keys panel","archive_hash":"sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149","archive_size":2152,"archive_url":"https://extensions.blender.org/download/sha256:5e6937bfd83777793ecc35c0c52351bd45ff842d76fe5914f2c5df9f609d3149/add-on-driver-helper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/driver-helper/","maintainer":"Zakmen150","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"format_rename","schema_version":"1.0.0","name":"Format Rename","version":"0.0.4","tagline":"Format Rename","archive_hash":"sha256:7b0af672120d5099aa47a3347db16c76fcb1aa73a3ad740a354bc13267aa7206","archive_size":19606,"archive_url":"https://extensions.blender.org/download/sha256:7b0af672120d5099aa47a3347db16c76fcb1aa73a3ad740a354bc13267aa7206/add-on-format-rename-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/format-rename/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Rigging"]},{"id":"layer_comp","schema_version":"1.0.0","name":"LayerComp","version":"1.1.2","tagline":"Layer-based compositing tool, similar to After Effects","archive_hash":"sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6","archive_size":580509,"archive_url":"https://extensions.blender.org/download/sha256:f36c636a9d17ff8e411dde32f67fadffb4d945ffe4b91f6c9f1515f88070d2b6/add-on-layer-comp-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/layer-comp/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Blend file from/to disk"},"tags":["Compositing","Node","Render"]},{"id":"select_123","schema_version":"1.0.0","name":"123 Select","version":"1.0.0","tagline":"Switch vertex edge face in Object Mode","archive_hash":"sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69","archive_size":2138,"archive_url":"https://extensions.blender.org/download/sha256:d2e9f6103ae21032457a7446e69d0739db1ec7484ed632f43e528ace040fed69/add-on-select-123-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-123/","maintainer":"Fisch_Tu","license":["SPDX:GPL-3.0-or-later"]},{"id":"ramp_generator","schema_version":"1.0.0","name":"Ramp Generator","version":"1.4.3","tagline":"Generate color ramps","archive_hash":"sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c","archive_size":3932,"archive_url":"https://extensions.blender.org/download/sha256:66bdec66a8260ec4bdf3341d059ff5e99d34b24a9e67f53c4897b1a27675a38c/add-on-ramp-generator-v1.4.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ramp-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes","Compositing"]},{"id":"Timelapse_extension","schema_version":"1.0.0","name":"Timelapse","version":"1.0.1","tagline":"Take timed screenshots inside Blender","archive_hash":"sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1","archive_size":3049,"archive_url":"https://extensions.blender.org/download/sha256:c222a4fdd80114eeac3d556b9c4934f9f38382e25c00115fad1ebed9097474d1/add-on-timelapse-extension-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/timelapse-extension/","maintainer":"Silky-Renders","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export png/jpeg to disk"},"tags":["System"]},{"id":"blender_frutiger_aero_theme","schema_version":"1.0.0","name":"Frutiger Aero","version":"1.1.2","tagline":"This is a Frutiger Aero Theme for Blender","archive_hash":"sha256:17f169421231534f37f4316c336457e16569a1089ca8d13b38fc61a32a48a3b7","archive_size":7022,"archive_url":"https://extensions.blender.org/download/sha256:17f169421231534f37f4316c336457e16569a1089ca8d13b38fc61a32a48a3b7/theme-blender-frutiger-aero-theme-v1.1.2.zip","type":"theme","blender_version_min":"4.2.0","blender_version_max":"5.2.0","website":"https://extensions.blender.org/themes/blender-frutiger-aero-theme/","maintainer":"AeroBuoyancy.source","license":["SPDX:GPL-3.0-or-later"]},{"id":"markcam","schema_version":"1.0.0","name":"MarkCam","version":"2.5.0","tagline":"Quick camera-from-view + timeline marker tools","archive_hash":"sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd","archive_size":6762,"archive_url":"https://extensions.blender.org/download/sha256:e77094449c22c6b3d97280fb4b95ee456fd16c9677c14e2fd36aaf3c5fd4cebd/add-on-markcam-v2.5.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/markcam/","maintainer":"SomRender","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation"]},{"id":"Work_n_rose","schema_version":"1.0.0","name":"Work_n_rose","version":"1.4.0","tagline":"Dark, High Contrast","archive_hash":"sha256:6b114a012d21ae7b78d93ef3739a27a9a972bb94f93564985f11c0b5d25d0a55","archive_size":6213,"archive_url":"https://extensions.blender.org/download/sha256:6b114a012d21ae7b78d93ef3739a27a9a972bb94f93564985f11c0b5d25d0a55/theme-work-n-rose-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/work-n-rose/","maintainer":"Nois3G4te","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"spa_sequencer","schema_version":"1.0.0","name":"SPArk Sequencer","version":"0.1.5","tagline":"Toolset to improve the sequence workflow in Blender","archive_hash":"sha256:88aa56f648c4ec06cf6b51267dcd4c274b041bdf364442abd5485c946084c85d","archive_size":75534,"archive_url":"https://extensions.blender.org/download/sha256:88aa56f648c4ec06cf6b51267dcd4c274b041bdf364442abd5485c946084c85d/add-on-spa-sequencer-v0.1.5.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/spa-sequencer/","maintainer":"TinyNick","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"compositor_file_output_replacer","schema_version":"1.0.0","name":"Compositor File Output Replacer","version":"1.3.0","tagline":"Find and replace text in File Output node paths","archive_hash":"sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757","archive_size":3158,"archive_url":"https://extensions.blender.org/download/sha256:fc5ba89eb189670904813d758c2913c22ed3e66f830fc0ba01333ce8c46c8757/add-on-compositor-file-output-replacer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/compositor-file-output-replacer/","maintainer":"a2d4f3s1","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Node"]},{"id":"miunau_slcamera","schema_version":"1.0.0","name":"Second Life-style camera","version":"1.0.2","tagline":"Second Life-style camera with ALT (option)/CTRL/SHIFT keys","archive_hash":"sha256:ebc33cc835623c83d842b794ae114d9efcfb4f99575672b7f1df948f0acbc1ca","archive_size":18594,"archive_url":"https://extensions.blender.org/download/sha256:ebc33cc835623c83d842b794ae114d9efcfb4f99575672b7f1df948f0acbc1ca/add-on-miunau-slcamera-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/miunau-slcamera/","maintainer":"miunau","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"blue_archive_theme","schema_version":"1.0.0","name":"Blue Archive","version":"1.2.0","tagline":"Theme inspired by Blue Archive game UI","archive_hash":"sha256:f28c6d1561788e7ab82bc2d7f3239179b7da584b28d01a36be7d7d0243bd56b8","archive_size":5156,"archive_url":"https://extensions.blender.org/download/sha256:f28c6d1561788e7ab82bc2d7f3239179b7da584b28d01a36be7d7d0243bd56b8/theme-blue-archive-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blue-archive-theme/","maintainer":"RAZUMNO","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Inspired By"]},{"id":"toolhub","schema_version":"1.0.0","name":"Tool Hub","version":"1.0.2","tagline":"This add-on searches and pins in a pie-menu","archive_hash":"sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2","archive_size":26285,"archive_url":"https://extensions.blender.org/download/sha256:cbf1d344e714f273a7e97607576712141e3c7fb7b8c0eea5c17b51072c913ed2/add-on-toolhub-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toolhub/","maintainer":"Mr.Bir","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"use_for_rendering_plus","schema_version":"1.0.0","name":"View Layer Plus","version":"1.2.3","tagline":"Seamlessly extend View Layers management","archive_hash":"sha256:87801322622aa42b4b2bc7401449f5bcdd139cdf5e22ee30497d2bd2defb2a3d","archive_size":63207,"archive_url":"https://extensions.blender.org/download/sha256:87801322622aa42b4b2bc7401449f5bcdd139cdf5e22ee30497d2bd2defb2a3d/add-on-use-for-rendering-plus-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/use-for-rendering-plus/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","User Interface"]},{"id":"essential_brush_saver","schema_version":"1.0.0","name":"Essential Brush Saver","version":"1.1.3","tagline":"Automatically save and load essential brush settings","archive_hash":"sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0","archive_size":6069,"archive_url":"https://extensions.blender.org/download/sha256:c83987bf62b92a0890d9aeae3bcf7b4c31df7d38d6b1991b10a61610f50738a0/add-on-essential-brush-saver-v1.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/essential-brush-saver/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load configuration data JSON file to/from disk"},"tags":["Paint","Sculpt","System"]},{"id":"SHIRAKUMO_rectangle_tools","schema_version":"1.0.0","name":"Rectangle Tools","version":"1.0.2","tagline":"Tools to more easily draw rectangles in edit mode","archive_hash":"sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b","archive_size":7349,"archive_url":"https://extensions.blender.org/download/sha256:16aa9da0c9d4eb8d0e7c9b94c1a1e1602a602c75109e2c8beeffb5648719ce9b/add-on-shirakumo-rectangle-tools-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-rectangle-tools/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"tags":["Modeling"]},{"id":"bake_instance_animation","schema_version":"1.0.0","name":"Bake Instance Animation (烘焙几何节点实例动画)","version":"1.0.3","tagline":"Bake geometry nodes instance animation to keyframe animation","archive_hash":"sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4","archive_size":8497,"archive_url":"https://extensions.blender.org/download/sha256:eea61c5dfe87559ead85806327ea8dcf1c3c9a8e650d35650a6b624f82a94ad4/add-on-bake-instance-animation-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-instance-animation/","maintainer":"ChyiZ_","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"Candymouse","schema_version":"1.0.0","name":"Candymouse","version":"1.1.0","tagline":"A neutral grey theme with colorful accents","archive_hash":"sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a","archive_size":5785,"archive_url":"https://extensions.blender.org/download/sha256:794db960862d4fbcd1814bcef6241bfbbe915c84de0f8153744ae541881cf75a/theme-candymouse-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/candymouse/","maintainer":"milomouse","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"shiva_img2mat","schema_version":"1.0.0","name":"Image to Mat","version":"1.0.0","tagline":"Generate material from image","archive_hash":"sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8","archive_size":3150,"archive_url":"https://extensions.blender.org/download/sha256:70a119b9df99d6521deed569f4b68765af8bfeb23b5045f6eacc7e24ffb940b8/add-on-shiva-img2mat-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shiva-img2mat/","maintainer":"SHIVA","license":["SPDX:GPL-3.0-or-later"]},{"id":"easy_tree","schema_version":"1.0.0","name":"Easy Tree","version":"1.0.1","tagline":"Create one-click procedural trees","archive_hash":"sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff","archive_size":17712727,"archive_url":"https://extensions.blender.org/download/sha256:9ba32029650173c303037155c629dd85953699dbd8e62bd5e71da6927c84a4ff/add-on-easy-tree-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/easy-tree/","maintainer":"Jacob-Johnston","license":["SPDX:GPL-3.0-or-later"]},{"id":"wheel_o_matic","schema_version":"1.0.0","name":"Wheel-O-Matic","version":"1.0.2","tagline":"Automatic wheel rotation in any direction","archive_hash":"sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db","archive_size":20178,"archive_url":"https://extensions.blender.org/download/sha256:b1bbffe18d262809b768ff28f1491a0141c71c45ff5789338d737706ee9b29db/add-on-wheel-o-matic-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wheel-o-matic/","maintainer":"TechArtToolBox","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"blender_game_tools","schema_version":"1.0.0","name":"Game Tools","version":"0.3.2","tagline":"Game Tools","archive_hash":"sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e","archive_size":249307,"archive_url":"https://extensions.blender.org/download/sha256:5c62770748af9a4cf620e642b98716e63392012ca9e6a6436b47b5cd3d38f66e/add-on-blender-game-tools-v0.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-game-tools/","maintainer":"Cremuss","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","UV","Mesh","Pipeline"]},{"id":"keyframe_selected","schema_version":"1.0.0","name":"Keyframe selected","version":"1.3.2","tagline":"Insert or delete keyframes on selected items","archive_hash":"sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b","archive_size":5942,"archive_url":"https://extensions.blender.org/download/sha256:efc3af85940d78c1d5ee9da0437e473f547353082e0418f29c5f9cc5a9a18a4b/add-on-keyframe-selected-v1.3.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/keyframe-selected/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"i32_the_mandelbrot_set","schema_version":"1.0.0","name":"i32 the Mandelbrot Set","version":"1.0.2","tagline":"The Mandelbrot set using only Integer Math and Bit Math Nodes","archive_hash":"sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540","archive_size":43557,"archive_url":"https://extensions.blender.org/download/sha256:2c84bad5a6b5b98820d12d13980e36848eed0cf8359844954d72995722224540/add-on-i32-the-mandelbrot-set-v1.0.2.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/i32-the-mandelbrot-set/","maintainer":"Osipenkov+Art","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes"]},{"id":"node_tree_screenshot","schema_version":"1.0.0","name":"Node Tree Screenshot","version":"1.0.0","tagline":"Screenshot utility for large node trees","archive_hash":"sha256:5e606c4f8a5b43dbd2e4c65301d29fe5efbef106afef24e5f5b4cf0aea1093d8","archive_size":18319837,"archive_url":"https://extensions.blender.org/download/sha256:5e606c4f8a5b43dbd2e4c65301d29fe5efbef106afef24e5f5b4cf0aea1093d8/add-on-node-tree-screenshot-v1.0.0-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/node-tree-screenshot/","maintainer":"LukasTönne","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Node"]},{"id":"auto_sync_object_data_names","schema_version":"1.0.0","name":"Auto Sync Object Data Names","version":"1.0.0","tagline":"Automatically sync object and data names","archive_hash":"sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab","archive_size":19044,"archive_url":"https://extensions.blender.org/download/sha256:6da30fc3031f193cbac124155168d944dd62b674ede4465becc262d61288c8ab/add-on-auto-sync-object-data-names-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sync-object-data-names/","maintainer":"GeeDoubleU","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Pipeline"]},{"id":"Tracker2Nuke","schema_version":"1.0.0","name":"Tracker to Nuke","version":"1.0.2","tagline":"Instantly export Blender tracking data to a Nuke Tracker node","archive_hash":"sha256:eea87ba74d436c231f6b49c5ef7b0b6d74baa2364543050379951dd44791bc19","archive_size":4555,"archive_url":"https://extensions.blender.org/download/sha256:eea87ba74d436c231f6b49c5ef7b0b6d74baa2364543050379951dd44791bc19/add-on-tracker2nuke-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tracker2nuke/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Import-Export"]},{"id":"polychase","schema_version":"1.0.0","name":"Polychase","version":"0.0.9","tagline":"Mesh Based Motion Tracking in Blender","archive_hash":"sha256:daceb06445e05b473524e7af3df249db7e3143f6f0a321b202312189d5a26a16","archive_size":2689110,"archive_url":"https://extensions.blender.org/download/sha256:daceb06445e05b473524e7af3df249db7e3143f6f0a321b202312189d5a26a16/add-on-polychase-v0.0.9-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polychase/","maintainer":"theartful","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write optical flow database to disk"},"platforms":["windows-x64"],"tags":["Animation","Tracking"]},{"id":"Bone_Aligner","schema_version":"1.0.0","name":"Bone Aligner","version":"1.1.4","tagline":"Quickly align two bones","archive_hash":"sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8","archive_size":2841,"archive_url":"https://extensions.blender.org/download/sha256:bc842ad69c28089a444998780860f6755b140c8819ff92caebff935ec4180af8/add-on-bone-aligner-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-aligner/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"perfectly_normal","schema_version":"1.0.0","name":"Perfectly Normal","version":"0.0.2","tagline":"Manipulate face-corner normals as mesh components","archive_hash":"sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56","archive_size":159727,"archive_url":"https://extensions.blender.org/download/sha256:e52b80edcba7441d962ececa8db61da530d401f694670d9c03b463347334ce56/add-on-perfectly-normal-v0.0.2.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/perfectly-normal/","maintainer":"Seth-Adam-Trowbridge","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset resources from/to disk"},"tags":["Mesh","Modeling","Geometry Nodes"]},{"id":"beantextures","schema_version":"1.0.0","name":"Beantextures","version":"1.1.0","tagline":"Addon to help with 2D texture-based animations","archive_hash":"sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59","archive_size":23669,"archive_url":"https://extensions.blender.org/download/sha256:3273b6d7045724c0e4e1ea3c98924ee1831e5fd2712eb69391fb2f50d465fa59/add-on-beantextures-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/beantextures/","maintainer":"daringcuteseal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import image textures to generated node group"},"tags":["Animation","Node","Rigging"]},{"id":"SmartScene_Toolkit","schema_version":"1.0.0","name":"SmartScene Toolkit","version":"1.4.0","tagline":"Toolkit for smarter parent, hierarchy, mirror operations","archive_hash":"sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60","archive_size":14746,"archive_url":"https://extensions.blender.org/download/sha256:135648cb28a6598c932adf8b34ef4652026f71e57f0dd2b7e352b88d5dc19b60/add-on-smartscene-toolkit-v1.4.0.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/smartscene-toolkit/","maintainer":"Marcus997","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Scene"]},{"id":"surfacepsycho","schema_version":"1.0.0","name":"Surface Psycho","version":"0.9.1","tagline":"Precision Surface Design","archive_hash":"sha256:9443a8631572913d36a7dbf65d4f2f45fae8b7a282caf805c909003768d26835","archive_size":56744234,"archive_url":"https://extensions.blender.org/download/sha256:9443a8631572913d36a7dbf65d4f2f45fae8b7a282caf805c909003768d26835/add-on-surfacepsycho-v0.9.1-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/surfacepsycho/","maintainer":"RomainGuimbal","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export CAD files"},"platforms":["windows-x64"],"tags":["Modeling","Import-Export","Geometry Nodes","Add Curve"]},{"id":"sync_material_viewport_color","schema_version":"1.0.0","name":"Sync Material Viewport Color","version":"1.0.2","tagline":"Sets diffuse color, metallic and roughness for viewport display","archive_hash":"sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9","archive_size":7318,"archive_url":"https://extensions.blender.org/download/sha256:1e6302ca53e77ca3163ef07be912988880d13574b20cec5d5fb3735c4eac9cc9/add-on-sync-material-viewport-color-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-material-viewport-color/","maintainer":"Qiu-Feng","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Material"]},{"id":"Dim_Fog","schema_version":"1.0.0","name":"Dim Fog","version":"2.0.0","tagline":"Moody & Cozy theme","archive_hash":"sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c","archive_size":5195,"archive_url":"https://extensions.blender.org/download/sha256:442ee419c1f5439af9cb9643ed06c5ce7461ef565622854ec754642ef45b885c/theme-dim-fog-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dim-fog/","maintainer":"huleeb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"ccnc_animation_objects","schema_version":"1.0.0","name":"CCNCAnimationObjects","version":"1.2.3","tagline":"CNC simulation object editor with camera and spark effects","archive_hash":"sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82","archive_size":85342,"archive_url":"https://extensions.blender.org/download/sha256:51d61dc81125b537f01f25da6b52a6ba1ba694e9c83ef6d1f3a97b47af051d82/add-on-ccnc-animation-objects-v1.2.3.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/ccnc-animation-objects/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export CSV files"},"tags":["Modeling","Animation","Camera"]},{"id":"VCS","schema_version":"1.0.0","name":"Vertex Color Selector","version":"1.0.9","tagline":"VertexColor Select tool","archive_hash":"sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4","archive_size":8745,"archive_url":"https://extensions.blender.org/download/sha256:0dd54c9febb5b08d20d9db9797384130169c552db74563214f6f7a589e1555f4/add-on-vcs-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vcs/","maintainer":"D31","license":["SPDX:GPL-3.0-or-later"]},{"id":"script_manager_pro","schema_version":"1.0.0","name":"Script Manager Pro","version":"0.0.3","tagline":"Manage and run Python scripts with one-click access","archive_hash":"sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff","archive_size":3129,"archive_url":"https://extensions.blender.org/download/sha256:005a3e75a2bee8f30718c1773d05533e8112101254d7103f56f0dce3c6e12fff/add-on-script-manager-pro-v0.0.3.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/script-manager-pro/","maintainer":"CemilBerk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reads and writes script metadata to a JSON file"}},{"id":"anim_auto_offset","schema_version":"1.0.0","name":"Animation Auto Offset","version":"1.1.1","tagline":"Update all keyframes relatively on transform changes","archive_hash":"sha256:bd79f5e2717de579efa6c10576ea05f847b48a16798a80ffb7e89418431a3a73","archive_size":14867,"archive_url":"https://extensions.blender.org/download/sha256:bd79f5e2717de579efa6c10576ea05f847b48a16798a80ffb7e89418431a3a73/add-on-anim-auto-offset-v1.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-auto-offset/","maintainer":"Marek-Zając","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"auto_wrinkle_map","schema_version":"1.0.0","name":"Auto Wrinkle Map","version":"0.0.7","tagline":"Helps you to create wrinkle maps driven from bones in one click","archive_hash":"sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a","archive_size":10763,"archive_url":"https://extensions.blender.org/download/sha256:342a46d212aef292c92e9f751b4cd1f97ccaa677acc8e1cdc1ce23f638ef198a/add-on-auto-wrinkle-map-v0.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/auto-wrinkle-map/","maintainer":"Hattiffnat","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Material","Node","Animation"]},{"id":"node_void_keeper","schema_version":"1.0.0","name":"NodeVoidKeeper","version":"1.0.1","tagline":"Keeps your nodes centered at the origin, so you can't lose them","archive_hash":"sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d","archive_size":15610,"archive_url":"https://extensions.blender.org/download/sha256:a6ac8d276fc301e317c45b4c5ec55672266fb11e0cb2a82f7436c106db8e053d/add-on-node-void-keeper-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-void-keeper/","maintainer":"MagnumVD","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"autocam","schema_version":"1.0.0","name":"AutoCam","version":"2.0.6","tagline":"Intuitive camera tools, built for artists","archive_hash":"sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132","archive_size":67410,"archive_url":"https://extensions.blender.org/download/sha256:375b428c576948a9f8a9311e64c4f4109aa41fec3c1b76b8c79a1b67685b2132/add-on-autocam-v2.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autocam/","maintainer":"RenderRides","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Animation","Rigging","Render","Add Curve"]},{"id":"additional_batch_rename","schema_version":"1.0.0","name":"Additional Batch Rename","version":"1.1.1","tagline":"Additional batch rename operators","archive_hash":"sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11","archive_size":15993,"archive_url":"https://extensions.blender.org/download/sha256:c8cbfda2e658806b84e437759fdce84053abfd16266dbd29e5b89a074a305c11/add-on-additional-batch-rename-v1.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/additional-batch-rename/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Object"]},{"id":"proceduraltiles","schema_version":"1.0.0","name":"Procedural Tiles","version":"0.0.4","tagline":"A library of shader nodes. +100 NEW NODES","archive_hash":"sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30","archive_size":4261663,"archive_url":"https://extensions.blender.org/download/sha256:4c6040e0c5654c066fa66f48321857d44e26ca1726d3c8c70cd04050cb6efc30/add-on-proceduraltiles-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/proceduraltiles/","maintainer":"Aisun-Tang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Material"]},{"id":"simple_gcode_importer","schema_version":"1.0.0","name":"Simple Gcode Importer","version":"1.1.1","tagline":"Import Gcode to blender as paths","archive_hash":"sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29","archive_size":2397,"archive_url":"https://extensions.blender.org/download/sha256:aa644b0c5f1cb47878c08bddc029da401e9e357c5e82c4b254801e57897c8f29/add-on-simple-gcode-importer-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-gcode-importer/","maintainer":"kmnunley","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Pipeline"]},{"id":"controller_link","schema_version":"1.0.0","name":"Controller Link","version":"1.0.1","tagline":"Use a gamepad as input","archive_hash":"sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f","archive_size":16281033,"archive_url":"https://extensions.blender.org/download/sha256:cf2ef139dc3a07eb2185b91e19586bedaaa684d101fe03449d080262e2fe3c8f/add-on-controller-link-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/controller-link/","maintainer":"globglob3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"glare_node_controller","schema_version":"1.0.0","name":"Glare Node Controller","version":"2.3.3","tagline":"panel to control Glare","archive_hash":"sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68","archive_size":3563,"archive_url":"https://extensions.blender.org/download/sha256:e9a4d48813add31c7f4c04198f4ebfba47dc88be90f4f828762e8ae2c3445d68/add-on-glare-node-controller-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/glare-node-controller/","maintainer":"darkstarrd","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Render"]},{"id":"dragonff","schema_version":"1.0.0","name":"DragonFF","version":"1.1.0","tagline":"Add-on to edit RenderWare Formats (.dff, .txd, .col)","archive_hash":"sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e","archive_size":225580,"archive_url":"https://extensions.blender.org/download/sha256:08df6ba49bc85ea983e1661c1151d3ea2b03d7764e815cc85ffce8af31b8267e/add-on-dragonff-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragonff/","maintainer":"Parik","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export DFF/TXD/COL/IPL/IDE from/to disk"},"tags":["Import-Export","3D View","Mesh","Material"]},{"id":"maya_pivot","schema_version":"1.0.0","name":"Maya Pivot","version":"1.0.0","tagline":"Implements a Maya-like pivot system in Blender","archive_hash":"sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2","archive_size":16036,"archive_url":"https://extensions.blender.org/download/sha256:14893b7a7fdef8ffd4ebb538f770b38257c020ca9a02b39d5f3a49dc674083e2/add-on-maya-pivot-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maya-pivot/","maintainer":"Zinkenite","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"Blueprint_Paper_Theme","schema_version":"1.0.0","name":"Blueprint_Paper_Theme","version":"2.1.0","tagline":"Technical Drawing","archive_hash":"sha256:e38bb6074353d32a2bf632df091ecfab520a75aa4aa47af7fa2443cdca551d41","archive_size":5770,"archive_url":"https://extensions.blender.org/download/sha256:e38bb6074353d32a2bf632df091ecfab520a75aa4aa47af7fa2443cdca551d41/theme-blueprint-paper-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-paper-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"jiggle_physics","schema_version":"1.0.0","name":"Jiggle Physics","version":"4.5.1","tagline":"Add stretchy jiggle physics to your Blender rigs","archive_hash":"sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab","archive_size":33411,"archive_url":"https://extensions.blender.org/download/sha256:f746d7dbedefd926cc384b2fc65dc8b351201ec64d4ce5ba9e6944643fb4d7ab/add-on-jiggle-physics-v4.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/jiggle-physics/","maintainer":"naelstrof","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paws_bakery","schema_version":"1.0.0","name":"PAWS: Bakery","version":"0.5.1","tagline":"Texture Baking tools for Game-Ready pipeline by Pawsgineer","archive_hash":"sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0","archive_size":165829,"archive_url":"https://extensions.blender.org/download/sha256:3a9a2d5d563d38ff8fd3b76fec281213da773425995b2c5b79c7e69f35e17ad0/add-on-paws-bakery-v0.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paws-bakery/","maintainer":"Steve-Paws","license":["SPDX:GPL-3.0-or-later"],"tags":["Bake","Pipeline","Material"]},{"id":"MakePlanarFacesPlus","schema_version":"1.0.0","name":"Make Planar Faces Plus","version":"1.0.6","tagline":"Powerful Make Planar Faces Operator","archive_hash":"sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a","archive_size":257221,"archive_url":"https://extensions.blender.org/download/sha256:2d8f1251ee5c2099f2c71222dde827cc7ca31d358904203c28f5c066e1f69a6a/add-on-makeplanarfacesplus-v1.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/makeplanarfacesplus/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Mesh"]},{"id":"shape_key_mirror_plus","schema_version":"1.0.0","name":"Shape Key Mirror Plus","version":"1.9.0","tagline":"Mirror shape key deltas across symmetric axes","archive_hash":"sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339","archive_size":17431,"archive_url":"https://extensions.blender.org/download/sha256:e67a7c722d2ad02a4c1fd5e9d99498193d0e1d604c86f20a45dd44ca5863b339/add-on-shape-key-mirror-plus-v1.9.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-mirror-plus/","maintainer":"Ciyorie","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"terrainmixer","schema_version":"1.0.0","name":"Terrain Mixer","version":"3.1.0","tagline":"Easy to use shader-based terrain generator for Cycles","archive_hash":"sha256:320687ea52fad7ee9356014892ddf7df2e0a80bd78276cb5853db15356c74c16","archive_size":52567582,"archive_url":"https://extensions.blender.org/download/sha256:320687ea52fad7ee9356014892ddf7df2e0a80bd78276cb5853db15356c74c16/add-on-terrainmixer-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/terrainmixer/","maintainer":"zets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Easily replace default image files with your own","network":"Documentation and tutorials available online"},"tags":["Add Mesh","Bake","Material"]},{"id":"Viewport_stabilizer","schema_version":"1.0.0","name":"Viewport stabilizer","version":"1.0.2","tagline":"Stabilise 3d point on your screen","archive_hash":"sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1","archive_size":5207,"archive_url":"https://extensions.blender.org/download/sha256:ddb4f4e4d410fa18b27f934bcce9abcd451c8b494cccccd32f1de206926b9cd1/add-on-viewport-stabilizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-stabilizer/","maintainer":"Yaroslav_Yushk","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Tracking"]},{"id":"multiple_camera_render","schema_version":"1.0.0","name":"Multiple Camera Render","version":"4.4.0","tagline":"Sequential rendering from multiple cameras","archive_hash":"sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441","archive_size":135372,"archive_url":"https://extensions.blender.org/download/sha256:2f475eeea55812da815c61c925b92cd8301733ab82a0fbb8e4e2c4dffaa1e441/add-on-multiple-camera-render-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multiple-camera-render/","maintainer":"ivan-perevala","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Writing execution log files inside extension directory"},"tags":["Render","Animation","Camera","3D View"]},{"id":"modifer_stack_manager","schema_version":"1.0.0","name":"Modifier Stack Manager","version":"1.1.1","tagline":"A UI List implementation for Blender's modifier stack","archive_hash":"sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996","archive_size":4750,"archive_url":"https://extensions.blender.org/download/sha256:eb282b5114e718cd50c2c4b61b9a2dbb8ac067a70bed241dbd053a4c0de16996/add-on-modifer-stack-manager-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifer-stack-manager/","maintainer":"salaivv","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"cloud_midnight_teal","schema_version":"1.0.0","name":"Cloud Guy's Theme","version":"1.0.3","tagline":"Custom theme made by me and a friend","archive_hash":"sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816","archive_size":5920,"archive_url":"https://extensions.blender.org/download/sha256:410cbdebbcb43282fbe2d27956a41eb2158a33f158e97418997f275a435c5816/theme-cloud-midnight-teal-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/cloud-midnight-teal/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Cad_measure_extension","schema_version":"1.0.0","name":"Cad_Dimensions","version":"2.0.0","tagline":"Extension for a new measuring system","archive_hash":"sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb","archive_size":251303,"archive_url":"https://extensions.blender.org/download/sha256:fdc1a528d7808c897d7cf3469b09921a5b29174cfa6293400f82a1cd0eb65efb/add-on-cad-measure-extension-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cad-measure-extension/","maintainer":"Mr.Nobody3d","license":["SPDX:GPL-3.0-or-later"]},{"id":"Bbrush","schema_version":"1.0.0","name":"Bbrush","version":"1.4.7","tagline":"Sculpting using only a pen and keyboard","archive_hash":"sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96","archive_size":543050,"archive_url":"https://extensions.blender.org/download/sha256:6d231f45423e8f510d3c8480965703bd448ca9f3567c3145fea8e45ea3582d96/add-on-bbrush-v1.4.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bbrush/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Keymap file load, View navigation texture load"},"tags":["Sculpt"]},{"id":"geonode_to_shapekey","schema_version":"1.0.0","name":"Geonode To Shapekey","version":"1.1.0","tagline":"Convert geometry nodes to shapekeys. Useful for glTF export","archive_hash":"sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc","archive_size":5068,"archive_url":"https://extensions.blender.org/download/sha256:4ad895fdcf707fa593d79b1f862427969c832db213732d686c4d7c9da88f28cc/add-on-geonode-to-shapekey-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-to-shapekey/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"tags":["Geometry Nodes","Pipeline"]},{"id":"nocturna_theme","schema_version":"1.0.0","name":"Nocturna","version":"1.2.1","tagline":"Nocturna - A Dark Theme for Blender","archive_hash":"sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7","archive_size":5825,"archive_url":"https://extensions.blender.org/download/sha256:3fae311dca0321b9cd8e70e6f214a76f088339e3260ca79b4de4bc36617a2fc7/theme-nocturna-theme-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/nocturna-theme/","maintainer":"AlejandroSQR","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"capture_thumbnails_from_viewport","schema_version":"1.0.0","name":"Asset Browser: Capture Thumbnail from Viewport","version":"1.0.3","tagline":"Add new thumbnails for you asset based on the current viewport","archive_hash":"sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6","archive_size":1759,"archive_url":"https://extensions.blender.org/download/sha256:116dd46abed00a8bbe841a48a5872c48905a79f90a09c8a472c30aa0f13c48f6/add-on-capture-thumbnails-from-viewport-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/capture-thumbnails-from-viewport/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create a .png in temp folder"},"tags":["Pipeline"]},{"id":"skin_weights_copypaster","schema_version":"1.0.0","name":"Skin Weights Copypaster","version":"0.3.3","tagline":"Copies skin weights from one vertex to selection","archive_hash":"sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3","archive_size":16850,"archive_url":"https://extensions.blender.org/download/sha256:16d5bcface65447e03e57a4cd169d64b200df2e4ac88a9e7290dbc5e3d9324b3/add-on-skin-weights-copypaster-v0.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-weights-copypaster/","maintainer":"Ihor-Spasivskyi","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"MAD","schema_version":"1.0.0","name":"MAD (Microphone Audio Driver)","version":"0.1.5","tagline":"Use your Microphone as an Animation Driver in Blender","archive_hash":"sha256:3a6a47654e4a4f80eb242c10772f75d675de863217119c4010a07cb7b39dfd52","archive_size":663866,"archive_url":"https://extensions.blender.org/download/sha256:3a6a47654e4a4f80eb242c10772f75d675de863217119c4010a07cb7b39dfd52/add-on-mad-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mad/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"permissions":{"microphone":"Capture audio input for real-time animation"},"tags":["Rigging","Animation"]},{"id":"iocgpoly_lip_sync","schema_version":"1.0.0","name":"Lip Sync","version":"2.3.2","tagline":"Automatic lip sync for your Blender models","archive_hash":"sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3","archive_size":37476376,"archive_url":"https://extensions.blender.org/download/sha256:8c761c89173c714eee0114471ed8f13c99b09a811ec11d7dbbce72a9599024a3/add-on-iocgpoly-lip-sync-v2.3.2-windows-x64.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/iocgpoly-lip-sync/","maintainer":"Charley3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Models / Extract libs to disk","network":"Need to download Voices Models to enable lip sync"},"platforms":["windows-x64"],"tags":["Animation","Sequencer"]},{"id":"FakeBones","schema_version":"1.0.0","name":"FakeBones","version":"1.0.7","tagline":"enhance armature visualization","archive_hash":"sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1","archive_size":4158,"archive_url":"https://extensions.blender.org/download/sha256:1c766ee1bf8f385f3f87169b37b3c2447d5620c59a090ff413da6ee6cd30aed1/add-on-fakebones-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fakebones/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Steam","schema_version":"1.0.0","name":"Steam","version":"2.0.0","tagline":"Inspired by the old Steam UI. ","archive_hash":"sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98","archive_size":5570,"archive_url":"https://extensions.blender.org/download/sha256:06fa0615e3c58a9c12322991164b0133e84214310a9241c70f062e5b5f79ca98/theme-steam-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/steam/","maintainer":"Novaxine","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"AnimCurveSorter","schema_version":"1.0.0","name":"Anim Curve Sorter","version":"1.0.1","tagline":"Easily organise your animation curves","archive_hash":"sha256:240d33165889039d96828f22720873bddad96c602b0914929cfbd2ddca191b9f","archive_size":4902,"archive_url":"https://extensions.blender.org/download/sha256:240d33165889039d96828f22720873bddad96c602b0914929cfbd2ddca191b9f/add-on-animcurvesorter-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animcurvesorter/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ccustomnodes","schema_version":"1.0.0","name":"Object Utility Nodes","version":"1.0.3","tagline":"Custom nodes in new node editor","archive_hash":"sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec","archive_size":2710932,"archive_url":"https://extensions.blender.org/download/sha256:607b7b03dce6794af4b0c44e030e4dfc31cf3f3ff74358b9e2fd93e8c20b15ec/add-on-ccustomnodes-v1.0.3-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ccustomnodes/","maintainer":"Bitsqueezer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save colorwheel pictures from/to temp folder"},"platforms":["windows-x64"],"tags":["Node"]},{"id":"easymesh_batch_exporter","schema_version":"1.0.0","name":"EasyMesh Batch Exporter","version":"1.5.0","tagline":"Streamlined mesh export for game development workflows","archive_hash":"sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6","archive_size":84118,"archive_url":"https://extensions.blender.org/download/sha256:a9cd9781b45a61a0727c6c357efdb2fa80f654cd0ed7b6fe745c68c3eab4bae6/add-on-easymesh-batch-exporter-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easymesh-batch-exporter/","maintainer":"spec-arte","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export mesh files to the specified directory"},"tags":["Import-Export"]},{"id":"SuperDuperBatchExporter","schema_version":"1.0.0","name":"Super Duper Batch Exporter","version":"2.7.1","tagline":"One click export to multiple files","archive_hash":"sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6","archive_size":27233,"archive_url":"https://extensions.blender.org/download/sha256:b059d3638a93664d7c57350a0396f57f9b7aef65a30dc8eb91a51f042793edf6/add-on-superduperbatchexporter-v2.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/superduperbatchexporter/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk & create subdirectories in output directory"},"tags":["Import-Export"]},{"id":"measure_and_scale","schema_version":"1.0.0","name":"Measure and Scale","version":"1.1.6","tagline":"Measure and Scale object uniformaly","archive_hash":"sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5","archive_size":9679,"archive_url":"https://extensions.blender.org/download/sha256:b62e9e246a90461e15f2a8c74fca1afea39f7364793e284ac73b14b21b23f7e5/add-on-measure-and-scale-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/measure-and-scale/","maintainer":"Belaid-ZIANE","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"Enhanced_Top_Bar","schema_version":"1.0.0","name":"Enhanced Top Bar","version":"1.0.4","tagline":"Easy access to your ViewLayers rendering properties","archive_hash":"sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5","archive_size":6863,"archive_url":"https://extensions.blender.org/download/sha256:6cafc46869812bea3791ae4a8c67205e4d88da53f8123826710da58d688150c5/add-on-enhanced-top-bar-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/enhanced-top-bar/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Individual_Camera_Properties","schema_version":"1.0.0","name":"Individual Camera Properties","version":"0.0.6","tagline":"Resolution, Scene and Render properties for each camera instance","archive_hash":"sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1","archive_size":5858,"archive_url":"https://extensions.blender.org/download/sha256:0bef73a50670309d3589de13efe56e417f9f7c7028ad32d2c6e6a9bc2076b2e1/add-on-individual-camera-properties-v0.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/individual-camera-properties/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"DorchaLiath","schema_version":"1.0.0","name":"Dorcha Liath","version":"5.0.1","tagline":"Dark Grey","archive_hash":"sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d","archive_size":5206,"archive_url":"https://extensions.blender.org/download/sha256:aba960fe244b919144407a104c23e98037803095bc2856c08c8aef58ffaf326d/theme-dorchaliath-v5.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dorchaliath/","maintainer":"rory-fly","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"QuickCatalogs","schema_version":"1.0.0","name":"Quick Catalogs ( Asset Browser )","version":"1.0.1","tagline":"Make Asset Catalogs from selected Collections","archive_hash":"sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4","archive_size":2298,"archive_url":"https://extensions.blender.org/download/sha256:e1722de20f9f40adb186d41b6b86681506b8daa0182c92d2353e213b77bb53c4/add-on-quickcatalogs-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickcatalogs/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"import_export_skin_weights","schema_version":"1.0.0","name":"Import Export Skin Weights","version":"1.0.1","tagline":"Import and export skin weights for Blender","archive_hash":"sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412","archive_size":16987,"archive_url":"https://extensions.blender.org/download/sha256:248b74f7b176819621f0cd33276070b1ad22c2112f80bfc628045dfea16f6412/add-on-import-export-skin-weights-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-export-skin-weights/","maintainer":"Nguyen-Phuc-Nguyen","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Import-Export"]},{"id":"menace","schema_version":"1.0.0","name":"Menace","version":"2.0.0","tagline":"The official HugeMenace theme for Blender","archive_hash":"sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d","archive_size":5448,"archive_url":"https://extensions.blender.org/download/sha256:ecbb9abc2836fe097c57fe9a5212dcc1fc9a80e62a932e477cf3509922f4cd3d/theme-menace-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/menace/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"solid_boot","schema_version":"1.0.0","name":"Solid Boot","version":"1.1.0","tagline":"3D Views loaded in Solid Mode rather Material Preview","archive_hash":"sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa","archive_size":15759,"archive_url":"https://extensions.blender.org/download/sha256:97801936f20f108a733fff22fb754a65b4f6af115b0e070a999df4fa66de80fa/add-on-solid-boot-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/solid-boot/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"neon_nexus","schema_version":"1.0.0","name":"Neon Nexus","version":"1.3.0","tagline":"A futuristic neon theme for Blender","archive_hash":"sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a","archive_size":6154,"archive_url":"https://extensions.blender.org/download/sha256:604c5dfb99da740289269b626215bedd10bf5190621aa82e15dd940cfa74c59a/theme-neon-nexus-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neon-nexus/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"SaveSelection","schema_version":"1.0.0","name":"Save Selection","version":"1.0.3","tagline":"Save selected objects in Blender Format","archive_hash":"sha256:d40f3f7ec814480df56c93c717bf32ce3cd12a7f1cd71aea4b0fb7ac08d0b913","archive_size":3551,"archive_url":"https://extensions.blender.org/download/sha256:d40f3f7ec814480df56c93c717bf32ce3cd12a7f1cd71aea4b0fb7ac08d0b913/add-on-saveselection-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/saveselection/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"grey_orange","schema_version":"1.0.0","name":"Grey Orange","version":"3.0.1","tagline":"Dark neutral grey theme with orange accents","archive_hash":"sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085","archive_size":6581,"archive_url":"https://extensions.blender.org/download/sha256:709dedcdc1550233f0bec9ca7fa0b78aaab608a61b73b17fe35a1bfdb5da8085/theme-grey-orange-v3.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/grey-orange/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neutro_Laranja","schema_version":"1.0.0","name":"Neutro Laranja","version":"2.0.0","tagline":"Light and Orange","archive_hash":"sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7","archive_size":6441,"archive_url":"https://extensions.blender.org/download/sha256:0059799f0f8dcc1d1057362542c2df42d57ab22fa716e060615b0344854b9cf7/theme-neutro-laranja-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutro-laranja/","maintainer":"Push","license":["SPDX:GPL-3.0-or-later"]},{"id":"quickj","schema_version":"1.0.0","name":"Quick J ( Connect Vertex Path )","version":"1.1.1","tagline":"Quickly connect vertices under the cursor","archive_hash":"sha256:2964d3a20b9e9f7f2fb42b9d67f81f22dccf5644ffb8d1e08eec6c0e8f1c3fff","archive_size":2413,"archive_url":"https://extensions.blender.org/download/sha256:2964d3a20b9e9f7f2fb42b9d67f81f22dccf5644ffb8d1e08eec6c0e8f1c3fff/add-on-quickj-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quickj/","maintainer":"justOniL","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"Batch_Material_Helper","schema_version":"1.0.0","name":"Batch Material Helper","version":"1.0.3","tagline":"Helps you quickly modify materials","archive_hash":"sha256:9d8065342b815a4352399273ff20ad918173cb0d56bca1ec4f6a4cfa8268a4af","archive_size":4325,"archive_url":"https://extensions.blender.org/download/sha256:9d8065342b815a4352399273ff20ad918173cb0d56bca1ec4f6a4cfa8268a4af/add-on-batch-material-helper-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-material-helper/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"UV_Flatten_Tool","schema_version":"1.0.0","name":"UV_Flatten_Tool","version":"1.0.7","tagline":"Flatten mesh to active UV coordinates and store as shape key","archive_hash":"sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b","archive_size":2774,"archive_url":"https://extensions.blender.org/download/sha256:ab3b58a97af9c8c1e7d329be2869bca7c4a714e6d57abf7aa37c80c47a82f16b/add-on-uv-flatten-tool-v1.0.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/uv-flatten-tool/","maintainer":"maylog","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"fractal_family","schema_version":"1.0.0","name":"Fractal Family","version":"1.1.2","tagline":"Create fractal curves with ease using complex integer lattices","archive_hash":"sha256:ee63ecf002d45d226f7b279e30ab566b356c955758b9a2650c22605a7d340c30","archive_size":17046,"archive_url":"https://extensions.blender.org/download/sha256:ee63ecf002d45d226f7b279e30ab566b356c955758b9a2650c22605a7d340c30/add-on-fractal-family-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fractal-family/","maintainer":"imare32","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"apply_modifiers_with_shape_keys","schema_version":"1.0.0","name":"Apply modifier with shape keys","version":"1.0.4","tagline":"Applies modifiers on objects even if they have shape keys","archive_hash":"sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab","archive_size":19128,"archive_url":"https://extensions.blender.org/download/sha256:063ae9bfae007c27e2ba34b3d0a990a6bb68d923af828b1d06510c95972881ab/add-on-apply-modifiers-with-shape-keys-v1.0.4.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/apply-modifiers-with-shape-keys/","maintainer":"Orange Turbine","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Modeling","Rigging"]},{"id":"animation_transform_offset","schema_version":"1.0.0","name":"Animation Transform Offset","version":"1.0.0","tagline":"Transform objects and offset their animations in one go","archive_hash":"sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc","archive_size":15793,"archive_url":"https://extensions.blender.org/download/sha256:8b5beb3a69b3a1923a4be6dfbd5089b9cca27fdaa23b035d43508c479dbf58fc/add-on-animation-transform-offset-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/animation-transform-offset/","maintainer":"softyoda","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"multi_user","schema_version":"1.0.0","name":"Multiuser","version":"0.6.10","tagline":"Enable real-time collaborative workflow inside blender","archive_hash":"sha256:2a8d25c8f6e6c3233c9d4e6e8f742306efeb2829aa8ce0e049f9b1af3b2e93c3","archive_size":2226577,"archive_url":"https://extensions.blender.org/download/sha256:2a8d25c8f6e6c3233c9d4e6e8f742306efeb2829aa8ce0e049f9b1af3b2e93c3/add-on-multi-user-v0.6.10-windows-x64.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/multi-user/","maintainer":"slumber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Need to sync scene data to server"},"platforms":["windows-x64"]},{"id":"references_overlays","schema_version":"1.0.0","name":"References Overlays","version":"2.2.8","tagline":"PureRef for Blender. You can add references in the 3D Viewport","archive_hash":"sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010","archive_size":14729,"archive_url":"https://extensions.blender.org/download/sha256:2e01d8d844ebfc73e5f290cf8ef02ec80c02542879a82f552962788f6808c010/add-on-references-overlays-v2.2.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/references-overlays/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import BMP/TIFF/PNG/JPG/JPEG/GIF/MP4/WEBM from/to disk","clipboard":"Paste image from the Clipboard"},"tags":["3D View","User Interface"]},{"id":"altview","schema_version":"1.0.0","name":"AltView","version":"1.0.1","tagline":"Switch views + lock/unlock rotation","archive_hash":"sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60","archive_size":4561,"archive_url":"https://extensions.blender.org/download/sha256:ea3678752e8e16cf258ae1eb0a2e0701ca228ae523a0163f8d0dbf030546cb60/add-on-altview-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/altview/","maintainer":"Iurii-Tiuzhin","license":["SPDX:GPL-3.0-or-later"]},{"id":"textures_autosave","schema_version":"1.0.0","name":"Autosave Textures","version":"1.0.1","tagline":"Save all modified image textures on blendfile (auto-)save","archive_hash":"sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938","archive_size":2642,"archive_url":"https://extensions.blender.org/download/sha256:86990c248d92cb1c1c9fee66a3d5e9ec215017bc0cd45acefbf8645823bde938/add-on-textures-autosave-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/textures-autosave/","maintainer":"mont29","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Write image files to disk"},"tags":["Pipeline","Paint"]},{"id":"remove_static_fcurves","schema_version":"1.0.0","name":"Remove Static FCurves","version":"0.2.1","tagline":"Clean up animation channels that have no data","archive_hash":"sha256:b620306230996b1bd1949e74ec63ee9b05ff9a9f90c6baeb5c4fc23cb343eee4","archive_size":2331,"archive_url":"https://extensions.blender.org/download/sha256:b620306230996b1bd1949e74ec63ee9b05ff9a9f90c6baeb5c4fc23cb343eee4/add-on-remove-static-fcurves-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/remove-static-fcurves/","maintainer":"lokimckay","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"paint_system","schema_version":"1.0.0","name":"Paint System","version":"2.1.3","tagline":"Addon for adding painting system to blender","archive_hash":"sha256:b803c07428f1a20551fdc67940dbfb7b9836497b13e4d97421326b745b60c2e9","archive_size":30147999,"archive_url":"https://extensions.blender.org/download/sha256:b803c07428f1a20551fdc67940dbfb7b9836497b13e4d97421326b745b60c2e9/add-on-paint-system-v2.1.3-linux-x64-windows-x64-macos-x64-macos-arm64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-system/","maintainer":"Tawan-Sunflower","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and saving images / detecting image editors","network":"Update donation information"},"platforms":["linux-x64","windows-x64","macos-x64","macos-arm64","windows-arm64"],"tags":["Paint"]},{"id":"pattern_collections","schema_version":"1.0.0","name":"Pattern Collections","version":"1.1.0","tagline":"Sort collections by anything","archive_hash":"sha256:43ab173296098120d7a2c2fd6d192923b920c30091cf161246bfb936cd98e74f","archive_size":32294,"archive_url":"https://extensions.blender.org/download/sha256:43ab173296098120d7a2c2fd6d192923b920c30091cf161246bfb936cd98e74f/add-on-pattern-collections-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pattern-collections/","maintainer":"Martin-Lorentzon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk to provide JSON File I/O"},"tags":["Pipeline","Scene"]},{"id":"PlaceHelper","schema_version":"1.0.0","name":"Place Helper","version":"1.3.8","tagline":"Easily place objects in Blender","archive_hash":"sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16","archive_size":66786,"archive_url":"https://extensions.blender.org/download/sha256:4afc657327a65954617a394ccf6d129e506afe523c4ca75718c8183d1f0dcb16/add-on-placehelper-v1.3.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/placehelper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Object"]},{"id":"headsup_warnings","schema_version":"1.0.0","name":"HeadsUp Warnings","version":"1.1.0","tagline":"Display UI warnings to avoid and resolve common mistakes","archive_hash":"sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880","archive_size":33611,"archive_url":"https://extensions.blender.org/download/sha256:d4d30ca6d12c48a3bfe4873687817d28351c1eb17768db0687f999f96c880880/add-on-headsup-warnings-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/headsup-warnings/","maintainer":"ManuelLuellau","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Check filepaths to validate if Textures are missing"},"tags":["3D View","Compositing","Render"]},{"id":"unlooped","schema_version":"1.0.0","name":"Unlooped","version":"1.0.1","tagline":"Prevent Blender from looping scene playback","archive_hash":"sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4","archive_size":14253,"archive_url":"https://extensions.blender.org/download/sha256:a254b5faa77745aa3ec6fbd93cfc02d6933dcc20cd4e9f9fe6c853f937b733f4/add-on-unlooped-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/unlooped/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Blend95","schema_version":"1.0.0","name":"Blend95","version":"0.9.9","tagline":"90s, xp, old","archive_hash":"sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f","archive_size":5908,"archive_url":"https://extensions.blender.org/download/sha256:703fb6ee41932457974b4dea4842f5af632cc48b0ed249d41e7ca477a4df993f/theme-blend95-v0.9.9.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/blend95/","maintainer":"romanasdf1","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Quick_Studio_Light","schema_version":"1.0.0","name":"Quick Studio Light","version":"1.1.1","tagline":"Simple and fast lighting with improved selection","archive_hash":"sha256:3fe68bd51912319afc821e9e965c051781a45b00f52001c85fe040b783767217","archive_size":71955,"archive_url":"https://extensions.blender.org/download/sha256:3fe68bd51912319afc821e9e965c051781a45b00f52001c85fe040b783767217/add-on-quick-studio-light-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-studio-light/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"hyperfy_tools","schema_version":"1.0.0","name":"Hyperfy Tools","version":"1.5.0","tagline":"Tools for creating Hyperfy assets","archive_hash":"sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e","archive_size":25418,"archive_url":"https://extensions.blender.org/download/sha256:bbf553172d87314a6cf48554155f8e789f9a39cda2d46f5e92155bbf2d2d857e/add-on-hyperfy-tools-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hyperfy-tools/","maintainer":"HowieDuhzit","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export GLB files from/to disk"},"tags":["Physics","Import-Export","3D View","Game Engine","Object"]},{"id":"typst_importer","schema_version":"1.0.0","name":"Typst Importer","version":"0.2.4","tagline":"Render mathematical equations and code blocks","archive_hash":"sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081","archive_size":25708353,"archive_url":"https://extensions.blender.org/download/sha256:0fdaa6b4c958593e4be00bec1affcf5a407417c929f76dead2b2217ee1938081/add-on-typst-importer-v0.2.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/typst-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"node_align","schema_version":"1.0.0","name":"Node Align(节点对齐)","version":"3.2.0","tagline":"Shift+Q|Ctrl+Q Pie menu-Align Nodes in Multiple Ways(多种方式对齐节点)","archive_hash":"sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8","archive_size":24154,"archive_url":"https://extensions.blender.org/download/sha256:c1f0354f0dc98a5eee9acb060ad7c290eeade0b30142db42fd696955a25eacd8/add-on-node-align-v3.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-align/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"gp_tween","schema_version":"1.0.0","name":"GP Tween (c)","version":"2.4.0","tagline":"Quick Grease Pencil Tweening","archive_hash":"sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25","archive_size":169988,"archive_url":"https://extensions.blender.org/download/sha256:c5990e9a2ae583535ea2179e225effa84ea7e11a8870cd3c390dc75773116e25/add-on-gp-tween-v2.4.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-tween/","maintainer":"cosmosmythos","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write GP Tween nodegroup asset from/to disk","clipboard":"Copy and Paste GP Tween nodegroup"},"tags":["Grease Pencil","Animation","Geometry Nodes"]},{"id":"time_tracker","schema_version":"1.0.0","name":"Time Tracker","version":"0.2.4","tagline":"This extension tracks your time spent in blend files","archive_hash":"sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9","archive_size":23923,"archive_url":"https://extensions.blender.org/download/sha256:69178cd1c0f07232a68f85724b0f76e005d221c18a0e466619f49ac957bd87b9/add-on-time-tracker-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-tracker/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save timing data to disk"},"tags":["System"]},{"id":"simple_audio_visualizer","schema_version":"1.0.0","name":"Simple Audio Visualizer","version":"1.2.0","tagline":"Creates a simple audio visualizer","archive_hash":"sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190","archive_size":6391,"archive_url":"https://extensions.blender.org/download/sha256:311d38d93b5734290ea4e3cb8d5f8ddc8a757ea4376bcf8fa56d183daed76190/add-on-simple-audio-visualizer-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-audio-visualizer/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import audio from disk"},"tags":["Animation"]},{"id":"easy_clouds","schema_version":"1.0.0","name":"Easy Clouds","version":"2.2.0","tagline":"Procedural clouds that are easy to customize","archive_hash":"sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd","archive_size":10614,"archive_url":"https://extensions.blender.org/download/sha256:98f8d4ca22c8e8a0ec85e0ad98f0d681fedd8c7f346766a8fb53aa69207eb2fd/add-on-easy-clouds-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easy-clouds/","maintainer":"LunarKitten","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Add Mesh","Node"]},{"id":"MustardSimplify","schema_version":"1.0.0","name":"Mustard Simplify","version":"2025.4.1","tagline":"Tool to simplify scenes for improved viewport performance","archive_hash":"sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1","archive_size":42341,"archive_url":"https://extensions.blender.org/download/sha256:13e259e69cd0b5187fdf44d66c8dd9108b8ea96f1011c68ca5d29a23848951e1/add-on-mustardsimplify-v2025.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mustardsimplify/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"QuickTools_v3","schema_version":"1.0.0","name":"Grease Pencil QuickTools_v3","version":"1.1.5","tagline":"Grease Pencil Toobar in N sidebar with auto mode switch","archive_hash":"sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3","archive_size":53225,"archive_url":"https://extensions.blender.org/download/sha256:566feddd3ffbe0628772f24be8c819b7aa40ce1a0dbd3ed24526e5a69d36a8a3/add-on-quicktools-v3-v1.1.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/quicktools-v3/","maintainer":"PongBuster","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"named_attribute_list","schema_version":"1.0.0","name":"Named Attribute List(命名属性列表)","version":"2.8.2","tagline":"Quickly Add Attribute Node in GN and Shader(几何节点和材质里快速添加属性节点)","archive_hash":"sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772","archive_size":98415,"archive_url":"https://extensions.blender.org/download/sha256:e7291be67f8c4f96f80166a43b8697db2ea70c2c0826e81741f3421905931772/add-on-named-attribute-list-v2.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/named-attribute-list/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"CurveFitting","schema_version":"1.0.0","name":"Curve Fitting","version":"0.3.0","tagline":"Smooth out uneven vertex arrangements keeping original shape","archive_hash":"sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a","archive_size":22449,"archive_url":"https://extensions.blender.org/download/sha256:4c39752087fdab6108589e4506824701cf6d352f32e6be8f66891362bd382e9a/add-on-curvefitting-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curvefitting/","maintainer":"zuda77","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"bbone_Tools","schema_version":"1.0.0","name":"the bendybones toolkit","version":"1.6.0","tagline":"a simple toolkit for rigging with bendybones","archive_hash":"sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79","archive_size":4337,"archive_url":"https://extensions.blender.org/download/sha256:a5560c8e61a605354ae65519f983ac19636fcdcebc5f781bde727d58e7906a79/add-on-bbone-tools-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bbone-tools/","maintainer":"Felipe-G","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"viewtools","schema_version":"1.0.0","name":"ViewTools","version":"1.0.0","tagline":"Essential Viewport tools for industrial workflows","archive_hash":"sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922","archive_size":4857,"archive_url":"https://extensions.blender.org/download/sha256:1d9bb6ed90fc9f289b34e63efb833acb370dd6aaed98a19183c13598236a8922/add-on-viewtools-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/viewtools/","maintainer":"Ishara-Sandeepa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","Mesh","Object"]},{"id":"Coloraide","schema_version":"1.0.0","name":"Coloraide","version":"1.5.1","tagline":"Advanced color picking and color management tools","archive_hash":"sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad","archive_size":75163,"archive_url":"https://extensions.blender.org/download/sha256:fa5bd04b137b323589d0d5a344d554a52aaff0611bdfeec2611a9c8e4da015ad/add-on-coloraide-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/coloraide/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Grease Pencil","3D View"]},{"id":"persiantype","schema_version":"1.0.0","name":"Persian type","version":"2.0.0","tagline":"Add Persian/Arabic type directly to Blender","archive_hash":"sha256:1e8558da4a7a979d0e19f6979342de787c0a224b9d18db918d59fefe4963f0c8","archive_size":1951698,"archive_url":"https://extensions.blender.org/download/sha256:1e8558da4a7a979d0e19f6979342de787c0a224b9d18db918d59fefe4963f0c8/add-on-persiantype-v2.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/persiantype/","maintainer":"Damyar","license":["SPDX:GPL-3.0-or-later"]},{"id":"group_input_helper","schema_version":"1.0.0","name":"Group input helper(节点组输入助手)","version":"2.9.3","tagline":"Qucik add/split/merge Group Input node/socket(快速添加拆分合并移动组输入节点接口)","archive_hash":"sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb","archive_size":76074,"archive_url":"https://extensions.blender.org/download/sha256:e5bb310f4c72247742c77ffeeac2c93aab9b8b6df9b25ad46ff971645fcd82cb/add-on-group-input-helper-v2.9.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/group-input-helper/","maintainer":"W_Cloud","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"shutdown_after_render","schema_version":"1.0.0","name":"Shutdown after render","version":"0.4.0","tagline":"Automatically shuts down your PC after your render finishes","archive_hash":"sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a","archive_size":4087,"archive_url":"https://extensions.blender.org/download/sha256:d7dc0b029145c7411cf660ca67d4909104ea13f3fc8bec2474dc5a8942479f1a/add-on-shutdown-after-render-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shutdown-after-render/","maintainer":"David-Bühler","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"has_paint_layers","schema_version":"1.0.0","name":"HAS Paint Layers","version":"0.8.93","tagline":"Layers for texture painting","archive_hash":"sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255","archive_size":68078,"archive_url":"https://extensions.blender.org/download/sha256:d768c479f5d60b9eba58555db5a1d9d7ff29c402f8b4f7418d5ad34d3c790255/add-on-has-paint-layers-v0.8.93.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/has-paint-layers/","maintainer":"Hirourk","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store temporary images"},"tags":["Paint","Bake"]},{"id":"shapekey_keeper","schema_version":"1.0.0","name":"SKkeeper","version":"1.8.2","tagline":"Applies modifiers while keeping shapekeys and drivers","archive_hash":"sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678","archive_size":20217,"archive_url":"https://extensions.blender.org/download/sha256:4a02b8366b5b251b36b03b397781572b5ce60e12900d869a419b8969cd1cc678/add-on-shapekey-keeper-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapekey-keeper/","maintainer":"Nidus","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"RetroGrey","schema_version":"1.0.0","name":"RetroGrey","version":"1.3.2","tagline":"Theme inspired by the grey color of 90s computer devices","archive_hash":"sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38","archive_size":6800,"archive_url":"https://extensions.blender.org/download/sha256:093508a4afdc57a48a7e182be308083fa0f5547c4d6323a7334fbc8535eaac38/theme-retrogrey-v1.3.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/retrogrey/","maintainer":"Oskar_Wasiluk","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"datablock_utils","schema_version":"1.0.0","name":"Data-Block Utilities","version":"1.2.3","tagline":"Show users, merge duplicates, find similar, and more","archive_hash":"sha256:93dfcbb622a6d7a03a85db6b263db7915a8c660e25127c771c5ee81e3de3e4de","archive_size":1740234,"archive_url":"https://extensions.blender.org/download/sha256:93dfcbb622a6d7a03a85db6b263db7915a8c660e25127c771c5ee81e3de3e4de/add-on-datablock-utils-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/datablock-utils/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System"]},{"id":"ambientcg_material_importer","schema_version":"1.0.0","name":"AmbientCG Material Importer","version":"1.4.0","tagline":"One-click material creation from AmbientCG","archive_hash":"sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082","archive_size":4167,"archive_url":"https://extensions.blender.org/download/sha256:83f901d2671ad425d1a2251ca7ed74a02a4ad87b0870b14a82bb04b76079a082/add-on-ambientcg-material-importer-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ambientcg-material-importer/","maintainer":"Nino-Filiu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and cache textures to disk","network":"Makes calls to AmbientCG"},"tags":["Import-Export","Material"]},{"id":"cursor_plus","schema_version":"1.0.0","name":"3D Cursor Plus","version":"1.0.4","tagline":"Axes, undo and few other tools for your 3D Cursor","archive_hash":"sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47","archive_size":79566,"archive_url":"https://extensions.blender.org/download/sha256:e4f35c9732aa75a941cce0bb25ba82a1c606239bef60513a30bf2339f0c24a47/add-on-cursor-plus-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cursor-plus/","maintainer":"chokavr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load gizmo presets and Pie menu configuration"},"tags":["3D View"]},{"id":"two_point_perspective","schema_version":"1.0.0","name":"Two-Point Perspective","version":"0.0.2","tagline":"Replaces the active camera with a two-point perspective one","archive_hash":"sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd","archive_size":17509,"archive_url":"https://extensions.blender.org/download/sha256:5b6e59e62df8879f4341f242cd3a4488dc0fe441f80385a23915d6a3fcb1b3bd/add-on-two-point-perspective-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/two-point-perspective/","maintainer":"Athina-Syntychaki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Grid_Dimensions","schema_version":"1.0.0","name":"Grid Dimensions/网格标注","version":"1.0.9","tagline":"Grid Dimensions/网格标注","archive_hash":"sha256:9b4c0245ac3342c926a7b445c7294097a38af7e1128dc88c779923a6b702794d","archive_size":33248,"archive_url":"https://extensions.blender.org/download/sha256:9b4c0245ac3342c926a7b445c7294097a38af7e1128dc88c779923a6b702794d/add-on-grid-dimensions-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-dimensions/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"mpfb","schema_version":"1.0.0","name":"MPFB","version":"2.0.13","tagline":"Human character generator and editor","archive_hash":"sha256:30bf341ae610cd1fd69382c9fadf8eb831c7ac6f4dd40ed326bb7850e1e090f3","archive_size":44897490,"archive_url":"https://extensions.blender.org/download/sha256:30bf341ae610cd1fd69382c9fadf8eb831c7ac6f4dd40ed326bb7850e1e090f3/add-on-mpfb-v2.0.13.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mpfb/","maintainer":"Joel-Palmius","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save data","network":"(optional) Interact with local instance of MakeHuman"},"tags":["Add Mesh","Rigging"]},{"id":"motion_inspector","schema_version":"1.0.0","name":"Motion inspector","version":"0.2.9","tagline":"Inspect F-Curves and animated object movement","archive_hash":"sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53","archive_size":4834,"archive_url":"https://extensions.blender.org/download/sha256:693f63eb2e2f8bb04e8dbe703dfd7dd1404026ce5dbe2474fe25eae06381db53/add-on-motion-inspector-v0.2.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motion-inspector/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"modern_primitive","schema_version":"1.0.0","name":"Modern Primitive","version":"0.0.46","tagline":"Modern Primitive for Non-Destructive Modeling","archive_hash":"sha256:ebfbd7f4b87cef51c2ba2de38edfc3ae828e442ec3bfc579763dd4df8981f7ce","archive_size":3276499,"archive_url":"https://extensions.blender.org/download/sha256:ebfbd7f4b87cef51c2ba2de38edfc3ae828e442ec3bfc579763dd4df8981f7ce/add-on-modern-primitive-v0.0.46.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modern-primitive/","maintainer":"Degarashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry-Node from Add-on Directory"},"tags":["Add Mesh","Modeling"]},{"id":"greasepencil_nudge_frames","schema_version":"1.0.0","name":"Grease Pencil Nudge Frames","version":"0.1.1","tagline":"Modify exposure in the dopesheet with D/F","archive_hash":"sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f","archive_size":1738,"archive_url":"https://extensions.blender.org/download/sha256:935857f93894275c01154fbf40ac769f5430fdcf5737315d9f84a2aef9922c6f/add-on-greasepencil-nudge-frames-v0.1.1.zip","type":"add-on","blender_version_min":"4.3.1","website":"https://extensions.blender.org/add-ons/greasepencil-nudge-frames/","maintainer":"bergamote","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Grease Pencil"]},{"id":"Non_Destructive_Primitives","schema_version":"1.0.0","name":"ND Primitives","version":"0.2.46","tagline":"Non-Destructive Parametric Primitives in Blender","archive_hash":"sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8","archive_size":290494,"archive_url":"https://extensions.blender.org/download/sha256:7be2a39d184c099018628d93580fec929a192f3a367d3eb332dbc8231eb8d4f8/add-on-non-destructive-primitives-v0.2.46.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/non-destructive-primitives/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Geometry Nodes Objects from Add-on Folder"},"tags":["Modeling","Add Mesh"]},{"id":"node_pinyin","schema_version":"1.0.0","name":"szm/首字母","version":"1.2.0","tagline":"Enable node and modifier search with PinYin/支持节点和修改器的中文拼音搜索","archive_hash":"sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe","archive_size":40672,"archive_url":"https://extensions.blender.org/download/sha256:f94b8f609474f189ed0735335f7503d47679c8a76ef7ba1be1efeaa169edd3fe/add-on-node-pinyin-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-pinyin/","maintainer":"Xinyu-Zhu","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"proto_game_asset_tools","schema_version":"1.0.0","name":"PROTO Game Asset Tools","version":"1.4.0","tagline":"tools for game assets, fixed Unreal FBX exports","archive_hash":"sha256:a36f6ee8aa8adcc471bc5e88a153ab5bd6ac4a0c163de6eddbaad25380967d41","archive_size":33328,"archive_url":"https://extensions.blender.org/download/sha256:a36f6ee8aa8adcc471bc5e88a153ab5bd6ac4a0c163de6eddbaad25380967d41/add-on-proto-game-asset-tools-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/proto-game-asset-tools/","maintainer":"PROTOWLF","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX to disk","clipboard":"Copy and paste data"},"tags":["Import-Export","Game Engine"]},{"id":"b_subeditor","schema_version":"1.0.0","name":"B SubEditor","version":"1.0.0","tagline":"Sync subtitles in Text Editor/VSE","archive_hash":"sha256:cb0428625986c7abc7f7f1b3c487d16d86332279cfe9be2f14e01abe177257b1","archive_size":6370,"archive_url":"https://extensions.blender.org/download/sha256:cb0428625986c7abc7f7f1b3c487d16d86332279cfe9be2f14e01abe177257b1/add-on-b-subeditor-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/b-subeditor/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with subtitle files"},"tags":["Sequencer","Text Editor","Import-Export"]},{"id":"b_Unicode","schema_version":"1.0.0","name":"B Unicode","version":"1.0.2","tagline":"Access Unicode characters","archive_hash":"sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e","archive_size":5304,"archive_url":"https://extensions.blender.org/download/sha256:f137e679b67d3dbcd4df6898970484ccad7b89ddc9c43089b980d5a5fbb4819e/add-on-b-unicode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/b-unicode/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Sequencer","Text Editor"]},{"id":"sco_edgewise","schema_version":"1.0.0","name":"SCO EdgeWise","version":"2.0.3","tagline":"Measure distances, edge lengths, and angles in Edit Mode","archive_hash":"sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a","archive_size":137778,"archive_url":"https://extensions.blender.org/download/sha256:ef2ce3e214fe26b22ea97acd79d64dc11427aa4e9acd35606b66f104b54d059a/add-on-sco-edgewise-v2.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-edgewise/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"font_selector","schema_version":"1.0.0","name":"Font Selector","version":"3.1.1","tagline":"Browse available fonts from blender","archive_hash":"sha256:d975f97fd1c36ab24bd0de26fbfb22bdeb8974d1e9dec183ece1b3603260c5c7","archive_size":1183209,"archive_url":"https://extensions.blender.org/download/sha256:d975f97fd1c36ab24bd0de26fbfb22bdeb8974d1e9dec183ece1b3603260c5c7/add-on-font-selector-v3.1.1.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/font-selector/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files, Reading font files"},"tags":["Import-Export","System"]},{"id":"vertex_overlap","schema_version":"1.0.0","name":"Vertex Overlap","version":"1.1.0","tagline":"Alerts you to overlapping vertices in real-time","archive_hash":"sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14","archive_size":17220,"archive_url":"https://extensions.blender.org/download/sha256:0c281759e0e4e627b5a6d9f1a134391a04e1a944746ef8472186cf7416eb6f14/add-on-vertex-overlap-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-overlap/","maintainer":"Shawn-Shipley","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"quick_resolution_setup","schema_version":"1.0.0","name":"Quick Resolution Setup","version":"1.1.0","tagline":"Quick Resolution Setup","archive_hash":"sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea","archive_size":23899,"archive_url":"https://extensions.blender.org/download/sha256:e90bfb222c33399c8569dc67819d677bca9a5e3cca2c881a8968013e948e40ea/add-on-quick-resolution-setup-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-resolution-setup/","maintainer":"Hades-Su","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"audio_notifier","schema_version":"1.0.0","name":"Audio Notifier","version":"1.0.5","tagline":"Audio notifications for success, cancel and warning","archive_hash":"sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541","archive_size":36990,"archive_url":"https://extensions.blender.org/download/sha256:c268571786d940171942d5e747c1c3424a5d02c184600d11704a8a46b5199541/add-on-audio-notifier-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/audio-notifier/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"k_tools_mode_highlight","schema_version":"1.0.0","name":"K-Tools Mode Highlight","version":"1.0.5","tagline":"Automatically change the header color based on the current mode","archive_hash":"sha256:e68ac21f381dd8a9e1c70d2296e00ead5840fd2a9a6801ed76fe53f844dd3032","archive_size":3231,"archive_url":"https://extensions.blender.org/download/sha256:e68ac21f381dd8a9e1c70d2296e00ead5840fd2a9a6801ed76fe53f844dd3032/add-on-k-tools-mode-highlight-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-mode-highlight/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"xray_selection_tools","schema_version":"1.0.0","name":"X-Ray Selection Tools","version":"4.9.2","tagline":"Box, lasso and circle selection tools with x-ray","archive_hash":"sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8","archive_size":85983,"archive_url":"https://extensions.blender.org/download/sha256:61acc015891760d42008f94fa7d75d119c0efb1d11e9683cd22136204ed418e8/add-on-xray-selection-tools-v4.9.2.zip","type":"add-on","blender_version_min":"4.5.2","website":"https://extensions.blender.org/add-ons/xray-selection-tools/","maintainer":"MarshmallowCirno","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"autokey_highlight","schema_version":"1.0.0","name":"Autokey Highlight","version":"1.0.7","tagline":"Highlights the viewport when autokey is enabled","archive_hash":"sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8","archive_size":3186,"archive_url":"https://extensions.blender.org/download/sha256:3b250ef260551db38a91e00e8a605747260c47798b1db8a2dffb8fcd8c8fa6e8/add-on-autokey-highlight-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autokey-highlight/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View","System"]},{"id":"math_formula","schema_version":"1.0.0","name":"Math Formula","version":"2.2.0","tagline":"Quickly add nodes by typing in a formula","archive_hash":"sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27","archive_size":360600,"archive_url":"https://extensions.blender.org/download/sha256:9b2cc23847f84b3830e5c9be2d8d5e98904eed0d0f255e69bb14e60d22caba27/add-on-math-formula-v2.2.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/math-formula/","maintainer":"WannesMalfait","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading and writing custom implementations","clipboard":"Pasting formulas from clipboard"},"tags":["Node"]},{"id":"EdgeFlow","schema_version":"1.0.0","name":"EdgeFlow","version":"1.1.2","tagline":"Helps adjusting mesh geometry to curved surfaces","archive_hash":"sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1","archive_size":34350,"archive_url":"https://extensions.blender.org/download/sha256:4fa53590a837813c72dc9ed0a416f8e3de61352abb262b461974cd9f7092b1c1/add-on-edgeflow-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edgeflow/","maintainer":"Benjamin-Sauder","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"LightHepler","schema_version":"1.0.0","name":"Light Helper","version":"0.4.4","tagline":"Light Helper","archive_hash":"sha256:c74858aec1ace62b5eff365c5bdec7372857f86c8c1fff4abced5660dde1942c","archive_size":19702,"archive_url":"https://extensions.blender.org/download/sha256:c74858aec1ace62b5eff365c5bdec7372857f86c8c1fff4abced5660dde1942c/add-on-lighthepler-v0.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lighthepler/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"lattice_helper","schema_version":"1.0.0","name":"Lattice Helper","version":"1.2.5","tagline":"Apply Lattice modifier to object(s) in object/edit mode","archive_hash":"sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4","archive_size":12464,"archive_url":"https://extensions.blender.org/download/sha256:f55bbabd50eef367d05158fbd122b93c2dacb47732d871f4e67455aafd3259c4/add-on-lattice-helper-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lattice-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"color_randomizer","schema_version":"1.0.0","name":"Color Randomizer","version":"1.3.0","tagline":"Randomly assign colors to objects","archive_hash":"sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944","archive_size":10414,"archive_url":"https://extensions.blender.org/download/sha256:08820b85193be83b338634efc1e941a944b1666273b9b052771d88f667477944/add-on-color-randomizer-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-randomizer/","maintainer":"ilumetric","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"lumos","schema_version":"1.0.0","name":"Lumos","version":"3.2.0","tagline":"Bring your lighting to the next level","archive_hash":"sha256:14e0532aca2c63a876d60d735121bda26c63aa4020bbef9e828d7c2ee2ab8469","archive_size":36724,"archive_url":"https://extensions.blender.org/download/sha256:14e0532aca2c63a876d60d735121bda26c63aa4020bbef9e828d7c2ee2ab8469/add-on-lumos-v3.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lumos/","maintainer":"Eqkoss","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","3D View"]},{"id":"rmKit","schema_version":"1.0.0","name":"rmKit","version":"1.0.12","tagline":"Tools and Utils for Modeling and GameWorkflows","archive_hash":"sha256:ba1a2e9928c093e4325c17e72d1532a711cca9c8c041c3231d194db0b1454592","archive_size":82919,"archive_url":"https://extensions.blender.org/download/sha256:ba1a2e9928c093e4325c17e72d1532a711cca9c8c041c3231d194db0b1454592/add-on-rmkit-v1.0.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rmkit/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Modeling","Mesh","Object","Material"]},{"id":"Duplication_Tool_addon","schema_version":"1.0.0","name":"Duplication Tool","version":"1.0.2","tagline":"Create copies with incremental names and materials","archive_hash":"sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864","archive_size":3052,"archive_url":"https://extensions.blender.org/download/sha256:691aedb7c878f624519c697a6502fb9fe7ecc7c2f258d3c9ca34ded0c2ff2864/add-on-duplication-tool-addon-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/duplication-tool-addon/","maintainer":"Vinay-chikkam","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","System"]},{"id":"sakura_poselib","schema_version":"1.0.0","name":"Sakura Poselib","version":"1.4.4","tagline":"Yet another Pose Library with handful features","archive_hash":"sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e","archive_size":56108,"archive_url":"https://extensions.blender.org/download/sha256:09a1c37cb2ef33976df34d8629bd0b33ec2e734eb916093128ed0f6dc060102e/add-on-sakura-poselib-v1.4.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-poselib/","maintainer":"Kafuji","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save/Load Poselib data as Json or CSV"},"tags":["Animation"]},{"id":"audio_exporter","schema_version":"1.0.0","name":"Audio Exporter","version":"1.1.0","tagline":"Export audio separate or combined files in VSE","archive_hash":"sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be","archive_size":6145,"archive_url":"https://extensions.blender.org/download/sha256:4154a825f0d4ffb9b0d47f400bc8c2b6880e853510ad93650bc598c63c9a14be/add-on-audio-exporter-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/audio-exporter/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it exports audio files"},"tags":["Sequencer"]},{"id":"Shadingplus","schema_version":"1.0.0","name":"Shading +","version":"1.1.2","tagline":"Shading pie for designers and artists","archive_hash":"sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8","archive_size":50492480,"archive_url":"https://extensions.blender.org/download/sha256:46039745f70f4f3bbe2ff5bdfc3acbbd350bc0afb5fcecfdf2e84fefa811c8b8/add-on-shadingplus-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shadingplus/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"caustics_baking_addon","schema_version":"1.0.0","name":"Caustics_Baking","version":"3.2.1","tagline":"Caustics Baking with Cycles","archive_hash":"sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e","archive_size":42951,"archive_url":"https://extensions.blender.org/download/sha256:fa48d2b46ecbed96225423524e8faee3dbc6752f9b8a6a6d8e9a9e56205ff32e/add-on-caustics-baking-addon-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/caustics-baking-addon/","maintainer":"Benary","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"export images to disk"},"tags":["Bake","Lighting"]},{"id":"brushstroke_tools","schema_version":"1.0.0","name":"Brushstroke Tools","version":"1.1.2","tagline":"Brushstroke painting tools by the Blender Studio","archive_hash":"sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d","archive_size":29639997,"archive_url":"https://extensions.blender.org/download/sha256:6734d8842f9a6c80da1cc5962da6c99197fe7a2ac43367cc24a59c80695dbb8d/add-on-brushstroke-tools-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/brushstroke-tools/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write brushstroke asset resources from/to disk"},"tags":["Paint","Geometry Nodes","Material"]},{"id":"node_color_tools","schema_version":"1.0.0","name":"Node Color Tools Pie","version":"1.0.3","tagline":"Quick, organized node colors with pie menu ease","archive_hash":"sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7","archive_size":4752,"archive_url":"https://extensions.blender.org/download/sha256:e59fd49dbc701c9f45705e7f28dcf4d5d93dc13bf8820a5c8bf813a50c33b1e7/add-on-node-color-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"gamiflow","schema_version":"1.0.0","name":"GamiFlow","version":"1.9.2","tagline":"Easier game asset creation","archive_hash":"sha256:73674f162de1f2172f17d775d38412cd60568d65ec5a4244b6bd55d5065a7e6b","archive_size":159467,"archive_url":"https://extensions.blender.org/download/sha256:73674f162de1f2172f17d775d38412cd60568d65ec5a4244b6bd55d5065a7e6b/add-on-gamiflow-v1.9.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gamiflow/","maintainer":"Mathieu.Einig","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX files to disk"},"tags":["Import-Export","Object"]},{"id":"Runlevel_Two","schema_version":"1.0.0","name":"Runlevel Two","version":"1.2.0","tagline":"A refined, distraction-free color palette, pleasing to the eye","archive_hash":"sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1","archive_size":5962,"archive_url":"https://extensions.blender.org/download/sha256:58de5dc3b042dc70479d8315ea628381f1549c6a22c22941a8ac90adabaca1a1/theme-runlevel-two-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/runlevel-two/","maintainer":"Rene-Smaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Accessibility","Colorful"]},{"id":"blenderdefender_gizmodalops","schema_version":"1.0.0","name":"Gizmodal Ops","version":"1.0.3","tagline":"An add-on that seamlessly blends Gizmo and Modal operations","archive_hash":"sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb","archive_size":24047,"archive_url":"https://extensions.blender.org/download/sha256:afaf01319b0e96537cd14adddd546c19519cf097cc5539ed9e0699cdc18e91fb/add-on-blenderdefender-gizmodalops-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blenderdefender-gizmodalops/","maintainer":"Beedy","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"render_overscan","schema_version":"1.0.0","name":"Render Overscan","version":"0.1.16","tagline":"Applies and manages overscan in renders","archive_hash":"sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa","archive_size":3933,"archive_url":"https://extensions.blender.org/download/sha256:3fd9bb4da29f3d9a572e6c24e3740c651f50172e5f3e421dacfd0ab28d9428fa/add-on-render-overscan-v0.1.16.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/render-overscan/","maintainer":"efimpetelin","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"strip_array","schema_version":"1.0.0","name":"Strip Array","version":"1.1.0","tagline":"Array of duplicated strips, Customizable, Strips Display","archive_hash":"sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba","archive_size":4825,"archive_url":"https://extensions.blender.org/download/sha256:35813e53db04e787e8a6629b33529766cedc3d78d25111ab200822eda1b577ba/add-on-strip-array-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/strip-array/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"latticemagic","schema_version":"1.0.0","name":"Lattice Magic","version":"1.0.1","tagline":"Lattice-based deforming tools","archive_hash":"sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e","archive_size":29840,"archive_url":"https://extensions.blender.org/download/sha256:7f888bac24e8ea490446b75a07609e37f257d7cf7ba67c44703f06de0bb1c91e/add-on-latticemagic-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/latticemagic/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"Show_Object_Data_Users_in_Viewport","schema_version":"1.0.0","name":"Show Collection/Object/Data Users in Viewport","version":"1.0.6","tagline":"Show Collection/Object/Data Users in the Viewport","archive_hash":"sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699","archive_size":4288,"archive_url":"https://extensions.blender.org/download/sha256:9976496cb96fd37b3121f107981be35f6336da4692e00bb43ccdb4582d010699/add-on-show-object-data-users-in-viewport-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/show-object-data-users-in-viewport/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"camera_shakify","schema_version":"1.0.0","name":"Camera Shakify","version":"0.5.0","tagline":"Add captured camera shake/wobble to your cameras","archive_hash":"sha256:d52c7e48c7f7c55e954e0812da1957d356e935ae2d2bab571010a86e6dd634fd","archive_size":77949,"archive_url":"https://extensions.blender.org/download/sha256:d52c7e48c7f7c55e954e0812da1957d356e935ae2d2bab571010a86e6dd634fd/add-on-camera-shakify-v0.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-shakify/","maintainer":"Eat the Future","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Camera"]},{"id":"embroidery_importer","schema_version":"1.0.0","name":"Embroidery Importer","version":"0.9.6","tagline":"Import embroidery files into Blender","archive_hash":"sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7","archive_size":157512,"archive_url":"https://extensions.blender.org/download/sha256:d9481434abe7dc30e943e794733519035a1e29f8ba1590a23961a658860774f7/add-on-embroidery-importer-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/embroidery-importer/","maintainer":"javl","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read embroidery files from disk"},"tags":["Import-Export"]},{"id":"mio3_uv","schema_version":"1.0.0","name":"Mio3 UV","version":"2.0.1","tagline":"UV Edit Assistant Tools","archive_hash":"sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc","archive_size":5184961,"archive_url":"https://extensions.blender.org/download/sha256:41e46dd6cc618026cf15cbb48b55dc31496f83b131b8da9e2a6433bf2eff64fc/add-on-mio3-uv-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-uv/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Imports images, nodes, and translations from the bundled files"},"tags":["UV"]},{"id":"S3D_QuickSwitch","schema_version":"1.0.0","name":"Quick Switch","version":"2.1.0","tagline":"Quickly switch between Editor Areas","archive_hash":"sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380","archive_size":6932,"archive_url":"https://extensions.blender.org/download/sha256:d6b8fe2348c76f91687bfcdedf7264dc605c1eff99562b8a3827151f7d19f380/add-on-s3d-quickswitch-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/s3d-quickswitch/","maintainer":"Silvie3D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline"]},{"id":"spreadsheet_import","schema_version":"1.0.0","name":"Spreadsheet Import","version":"0.4.0","tagline":"Import data to spreadsheet for use with geometry nodes","archive_hash":"sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba","archive_size":16630,"archive_url":"https://extensions.blender.org/download/sha256:a339f6a2de9447fd26e59bcc1b4241bd493a251de1ed242579671d6219ac21ba/add-on-spreadsheet-import-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spreadsheet-import/","maintainer":"smonbrogg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load CSV and JSON files from disk"},"tags":["Import-Export","Geometry Nodes"]},{"id":"Scene_ViewLayer_Switcher","schema_version":"1.0.0","name":"Scene and ViewLayer Switcher","version":"1.0.5","tagline":"Jump to the next/previous Scene/ViewLayers","archive_hash":"sha256:5d149b675aa806755b27c343bf40b9bf164151bb7dd121d8c669d0188b31e332","archive_size":9142,"archive_url":"https://extensions.blender.org/download/sha256:5d149b675aa806755b27c343bf40b9bf164151bb7dd121d8c669d0188b31e332/add-on-scene-viewlayer-switcher-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-viewlayer-switcher/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"pohlke","schema_version":"1.0.0","name":"Pohlke","version":"1.2.0","tagline":"One-click standard orthographic and oblique projection cameras","archive_hash":"sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e","archive_size":14493,"archive_url":"https://extensions.blender.org/download/sha256:3b03e9f6870f677b0d1de2b2dd40256c55db3b611370617a4dc4cc782f88cc2e/add-on-pohlke-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pohlke/","maintainer":"mononym","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"FishSim","schema_version":"1.0.0","name":"FishSim","version":"4.2.0","tagline":"Fish Swimming Simulation","archive_hash":"sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a","archive_size":16851312,"archive_url":"https://extensions.blender.org/download/sha256:85e0a06c223139250853e1bb7e51fabf47ed7fcd287de89440bad1f6ee2b244a/add-on-fishsim-v4.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fishsim/","maintainer":"Nerk","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"sync_render_sets","schema_version":"1.0.0","name":"Sync Render Sets","version":"1.2.1","tagline":"Sync scenes render settings/colorspaces,viewlayers`s passes","archive_hash":"sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362","archive_size":24219,"archive_url":"https://extensions.blender.org/download/sha256:37cfd9b7c85b37fb0e53ebc7c1148bb0e331e1731059a7d408bfbf40652ee362/add-on-sync-render-sets-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sync-render-sets/","maintainer":"CP-Design","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"circular_stacker","schema_version":"1.0.0","name":"Circular Stacker","version":"1.0.0","tagline":"Distribute selected objects in a circular (donut) pattern","archive_hash":"sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451","archive_size":3099,"archive_url":"https://extensions.blender.org/download/sha256:c8beafaa14035e601afd131c1129460d396f3d0260a807d2ca7a1c3552361451/add-on-circular-stacker-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/circular-stacker/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"overscan","schema_version":"1.0.0","name":"Overscan Render","version":"1.2.3","tagline":"Render with an overscan","archive_hash":"sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b","archive_size":3063,"archive_url":"https://extensions.blender.org/download/sha256:6599df781f683d78c2a0f2095b81c8d920e74d4b32d6de19095986afe299e10b/add-on-overscan-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Distribute","schema_version":"1.0.0","name":"Distribute","version":"1.1.0","tagline":"Distribute selected objects from first to last on X, Y or Z axis","archive_hash":"sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47","archive_size":1692,"archive_url":"https://extensions.blender.org/download/sha256:c293bd89069c379b97add283081a9a61727b1f1737a1cd5f042881b21c520e47/add-on-distribute-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/distribute/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"motionpath","schema_version":"1.0.0","name":"Motion Path Creator","version":"2.1.2","tagline":"Create motion paths for bones, vertices, empties and objects","archive_hash":"sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f","archive_size":6955,"archive_url":"https://extensions.blender.org/download/sha256:6afd3b0e6f7e740b6603a8e5773c306cefe0f26da628685184ef5dda92a2189f/add-on-motionpath-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/motionpath/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"fireray","schema_version":"1.0.0","name":"Fire Ray","version":"2.0.0","tagline":"Reality Capture setup and create an empty on a tracked camera","archive_hash":"sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3","archive_size":2709,"archive_url":"https://extensions.blender.org/download/sha256:ddf5d45609f794693fa8eca42bf8427c0095ba9b7ff032250cb1bde891a3fdb3/add-on-fireray-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fireray/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"HDRIRotator","schema_version":"1.0.0","name":"HDRI Rotator","version":"1.1.1","tagline":"Rotate your HDRI/shadows in the viewport with your mouse","archive_hash":"sha256:e2261fe2151dbb1101f677e521ffdcd778f15d1afe01100bc87f1aa49b3e0eb5","archive_size":18782,"archive_url":"https://extensions.blender.org/download/sha256:e2261fe2151dbb1101f677e521ffdcd778f15d1afe01100bc87f1aa49b3e0eb5/add-on-hdrirotator-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdrirotator/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"auto_active_camera_switcher","schema_version":"1.0.0","name":"Auto Active Camera Switcher","version":"1.0.2","tagline":"Automatically makes the selected camera the active camera","archive_hash":"sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5","archive_size":2653,"archive_url":"https://extensions.blender.org/download/sha256:b604674c6f02cc353293796c7c645606a7829ebc8bb80e5ca6dc9843c7342bd5/add-on-auto-active-camera-switcher-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-active-camera-switcher/","maintainer":"Yamato3D-3dnchu.com-","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera"]},{"id":"AddonProfiler","schema_version":"1.0.0","name":"Add-on Profiler","version":"2.1.0","tagline":"Monitor and capture add-on profiling data","archive_hash":"sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c","archive_size":5449,"archive_url":"https://extensions.blender.org/download/sha256:3f3f29f987b24e3669ca4ea739f1ded51ee2ded6adad647699eca3f96f99974c/add-on-addonprofiler-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/addonprofiler/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and process benchmark and profile data"},"tags":["Development"]},{"id":"add_frame_range_presets","schema_version":"1.0.0","name":"Add Frame Range Presets","version":"1.1.3","tagline":"Create preset frame ranges in just a click","archive_hash":"sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed","archive_size":16118,"archive_url":"https://extensions.blender.org/download/sha256:3977d76fee643f5db538f589fc07c96e7a939a32800d6db73fd6422d146dd1ed/add-on-add-frame-range-presets-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-frame-range-presets/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Light_Rain_Theme","schema_version":"1.0.0","name":"Light_Rain_Theme","version":"2.1.0","tagline":"Transparent Light","archive_hash":"sha256:d9ffa738aeac8ee02a159ef5c3d00f87fbf4540fed390527a4c065875049c4e2","archive_size":5586,"archive_url":"https://extensions.blender.org/download/sha256:d9ffa738aeac8ee02a159ef5c3d00f87fbf4540fed390527a4c065875049c4e2/theme-light-rain-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/light-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"C3DB","schema_version":"1.0.0","name":"3D Cursors Briefcase","version":"0.1.4","tagline":"Store and manage multiple 3D Cursors","archive_hash":"sha256:bc01e94f9f3654114db9254c8ed632112cf6f323780e1a1a8c77315544b6a0b5","archive_size":5671,"archive_url":"https://extensions.blender.org/download/sha256:bc01e94f9f3654114db9254c8ed632112cf6f323780e1a1a8c77315544b6a0b5/add-on-c3db-v0.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/c3db/","maintainer":"dupoxy","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"cameraide_settings","schema_version":"1.0.0","name":"Cameraide","version":"1.0.6","tagline":"Camera specific Resolution, Frame Range, Output Path & Format","archive_hash":"sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe","archive_size":34464,"archive_url":"https://extensions.blender.org/download/sha256:b4b3af86ccda0bdb0dfa9116abd98689da8a50f36571ffb7951e5b0206c665fe/add-on-cameraide-settings-v1.0.6.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/cameraide-settings/","maintainer":"longiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render"]},{"id":"simple_bounce_curve","schema_version":"1.0.0","name":"Simple Bounce Curve","version":"1.1.0","tagline":"Creates a simple bounce curve between selected objects","archive_hash":"sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b","archive_size":2102,"archive_url":"https://extensions.blender.org/download/sha256:d9600617c81ca045b5aeffc5e393a1d09e589d7aca4d6ab15a0845720a93b47b/add-on-simple-bounce-curve-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-bounce-curve/","maintainer":"Polyfjord","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Object"]},{"id":"org_tayou_bone_vertex_group_merge","schema_version":"1.0.0","name":"Bone and Vertex Group Merge","version":"1.2.0","tagline":"merge selected bones into the active bone","archive_hash":"sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf","archive_size":1084528,"archive_url":"https://extensions.blender.org/download/sha256:54fc936c779fee14a3f05b6640680aaf942bbeceade45f4b351aaf76c8e6eccf/add-on-org-tayou-bone-vertex-group-merge-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/org-tayou-bone-vertex-group-merge/","maintainer":"Tayou","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"more_colors","schema_version":"1.0.0","name":"More Colors!","version":"1.1.0","tagline":"A set of tools to make vertex painting easier","archive_hash":"sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2","archive_size":31239,"archive_url":"https://extensions.blender.org/download/sha256:4c4e4c0aa2fa3aeb156fb6e883944773039675f95a53f3bac9e5bb26f9a0f4f2/add-on-more-colors-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/more-colors/","maintainer":"tojynick","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Mesh","Paint"]},{"id":"thomas_rig_legacy","schema_version":"1.0.0","name":"Thomas Rig Legacy","version":"1.1.9","tagline":"Addon for this rig","archive_hash":"sha256:5ca35a8a08ff0c33069bf9fc948dbd398c8b3d9acaf24f7d33a4b8f823a1fec6","archive_size":20535315,"archive_url":"https://extensions.blender.org/download/sha256:5ca35a8a08ff0c33069bf9fc948dbd398c8b3d9acaf24f7d33a4b8f823a1fec6/add-on-thomas-rig-legacy-v1.1.9-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/thomas-rig-legacy/","maintainer":"BlueEvilGFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the skin to Blender-tmp & read MC textures","network":"To download a skin with the Minecraft/Mojang API"},"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Animation","Rigging"]},{"id":"cortecloud_export","schema_version":"1.0.0","name":"CorteCloud Export","version":"1.0.5","tagline":"Manage and Export wood cut list to CorteCloud csv format","archive_hash":"sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191","archive_size":20274,"archive_url":"https://extensions.blender.org/download/sha256:ac372a5a9e812069840c9b24f86e86af9f625b798445d128732b8dd94890a191/add-on-cortecloud-export-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cortecloud-export/","maintainer":"Filipe-Rocha-Lopes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export csv files"}},{"id":"auto_reload","schema_version":"1.0.0","name":"Auto Reload","version":"3.1.2","tagline":"Automatic reload for external files","archive_hash":"sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4","archive_size":21511,"archive_url":"https://extensions.blender.org/download/sha256:881d502684e842f2b90d1d911128adea6cebc39b31b91dc311ffc3bfb115f7d4/add-on-auto-reload-v3.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-reload/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Checking/Reloading external files from current blend"},"tags":["Import-Export","Pipeline"]},{"id":"Colorista","schema_version":"1.0.0","name":"Colorista","version":"1.1.8","tagline":"A convenient color grading add-on designed for colorists","archive_hash":"sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2","archive_size":950327,"archive_url":"https://extensions.blender.org/download/sha256:96b3456e3f9822e8c29567f2fb3370404d95e86cac7b6ece105caad0d682def2/add-on-colorista-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/colorista/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read Node"},"tags":["Modeling","Node","Render","Compositing"]},{"id":"popoti_align_helper","schema_version":"1.0.0","name":"POPOTI Align Helper","version":"1.2.7","tagline":"More friendly alignment based on observation perspective","archive_hash":"sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f","archive_size":95518,"archive_url":"https://extensions.blender.org/download/sha256:fca6fa04bc5880bf5d8bdce12d49f6cde3b9d5db7f79f957e1ef504cfde4720f/add-on-popoti-align-helper-v1.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/popoti-align-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"UV_Snapper","schema_version":"1.0.0","name":"UV Snapper","version":"1.1.1","tagline":"Snap selected UVs to a custom atlas","archive_hash":"sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb","archive_size":236058,"archive_url":"https://extensions.blender.org/download/sha256:e8b8a90172e88ed991b7c3dfae419b660a9209caf9a1de97ab68b2ecd4d744eb/add-on-uv-snapper-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/uv-snapper/","maintainer":"Duncan-Readle","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"theme_moss","schema_version":"1.0.0","name":"Moss","version":"1.0.5","tagline":"Mossy castle dark theme","archive_hash":"sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078","archive_size":5609,"archive_url":"https://extensions.blender.org/download/sha256:3475452906c58f1ec3d6b15a961a729cce0e3986ec081e5b6cfc055967ae4078/theme-theme-moss-v1.0.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-moss/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"mesh_repair_tools","schema_version":"1.0.0","name":"Mesh Repair Tools","version":"4.0.2","tagline":"An integrated toolbox for mesh repair","archive_hash":"sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7","archive_size":13836,"archive_url":"https://extensions.blender.org/download/sha256:4d7221841bcc5fb23a26835dbfd9b2a87ce2ddcb29215d1f715329a924008fc7/add-on-mesh-repair-tools-v4.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-repair-tools/","maintainer":"SineWave","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","User Interface"]},{"id":"profiling_buddy","schema_version":"1.0.0","name":"Profiling Buddy","version":"1.0.0","tagline":"Adds modifier panel to profile execution times","archive_hash":"sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0","archive_size":1756,"archive_url":"https://extensions.blender.org/download/sha256:025a1466757a8937bbea1cf5f377272eeb2f259b8be6b1f558d5c642629c78d0/add-on-profiling-buddy-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/profiling-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Rigging","Geometry Nodes","User Interface"]},{"id":"Proton","schema_version":"1.0.0","name":"Proton","version":"1.1.0","tagline":"A modern dark theme for Blender with purple accents","archive_hash":"sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99","archive_size":5141,"archive_url":"https://extensions.blender.org/download/sha256:3bc76322cf8e763fdd823cd1955acc00e92480a9add6c7829a981459d93cad99/theme-proton-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/proton/","maintainer":"VISaberToothIV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Neo_Grey_Theme","schema_version":"1.0.0","name":"Neo_Grey_Theme","version":"2.3.0","tagline":"Limestone Gray","archive_hash":"sha256:2e84e00cccbdbf055963185586f5e75cc3742fbb86dc30fa941112c551d98690","archive_size":5572,"archive_url":"https://extensions.blender.org/download/sha256:2e84e00cccbdbf055963185586f5e75cc3742fbb86dc30fa941112c551d98690/theme-neo-grey-theme-v2.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neo-grey-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"SMEAR","schema_version":"1.0.0","name":"SMEAR","version":"1.1.8","tagline":"Create smear frames for 3D animations","archive_hash":"sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5","archive_size":3313751,"archive_url":"https://extensions.blender.org/download/sha256:eb035521ff506fa339916040c6184b5d09a124125bdfbb942ce2a50ca1b5b1e5/add-on-smear-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smear/","maintainer":"Jean-Basset","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"simple_deform_helper","schema_version":"1.0.0","name":"Simple Deform Helper","version":"0.2.7","tagline":"Simple Deform visualization adjustment tool","archive_hash":"sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb","archive_size":173571,"archive_url":"https://extensions.blender.org/download/sha256:4f8fbd7850d9415c8a5c3180af85d66c7b17c5a83a01a08bab14932525631acb/add-on-simple-deform-helper-v0.2.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-deform-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","Mesh"]},{"id":"uv_toolkit","schema_version":"1.0.0","name":"UVToolkit","version":"2.1.4","tagline":"A collection of UV editing tools for Blender","archive_hash":"sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859","archive_size":2611931,"archive_url":"https://extensions.blender.org/download/sha256:39634792bd71b161ed5cf6156b0167937d1a18818c91b24823dbbc8cd51fb859/add-on-uv-toolkit-v2.1.4.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/uv-toolkit/","maintainer":"razed","license":["SPDX:GPL-3.0-or-later"],"tags":["UV","Material"]},{"id":"image_packer","schema_version":"1.0.0","name":"Image Packer","version":"1.0.6","tagline":"Packs images into a single image","archive_hash":"sha256:9ac461b0feb8692f86d933e86fc9f3bc2071a0cb839f442545206b2450171290","archive_size":24513,"archive_url":"https://extensions.blender.org/download/sha256:9ac461b0feb8692f86d933e86fc9f3bc2071a0cb839f442545206b2450171290/add-on-image-packer-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/image-packer/","maintainer":"Quint-Vrolijk","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"Modal_lattice_resolution","schema_version":"1.0.0","name":"Modal Lattice Resolution","version":"0.3.4","tagline":"Create Lattice or Tweak Resolution from 3D viewport, 'L' keymap","archive_hash":"sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b","archive_size":7314,"archive_url":"https://extensions.blender.org/download/sha256:13fb4af136685386fb22fe40e68d29c9a7cebdc24d6a5acc2d87ce031e0ad13b/add-on-modal-lattice-resolution-v0.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modal-lattice-resolution/","maintainer":"Tyo79","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"you_are_autosave","schema_version":"1.0.0","name":"You Are Autosave","version":"1.5.0","tagline":"Show a warning when you haven't saved in a while","archive_hash":"sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b","archive_size":17503,"archive_url":"https://extensions.blender.org/download/sha256:7655433433ca018ea03604dc0b8759ce2de9d5c239024017abb8a95b153ee63b/add-on-you-are-autosave-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/you-are-autosave/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"univ","schema_version":"1.0.0","name":"UniV","version":"3.9.8","tagline":"UV Toolkit","archive_hash":"sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c","archive_size":538491,"archive_url":"https://extensions.blender.org/download/sha256:b2f60a434fbded2bc1307ad86beeced014409773d69aad4fa1fcfa087f23ea8c/add-on-univ-v3.9.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/univ/","maintainer":"Oxicid","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and updates icon files in the add-on directory"},"tags":["UV"]},{"id":"gesture_helper","schema_version":"1.0.0","name":"Gesture Helper","version":"2.2.6","tagline":"Quickly use gestures to run the operator or change properties","archive_hash":"sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5","archive_size":1125093,"archive_url":"https://extensions.blender.org/download/sha256:39ac43460689ec3ddfb4ee02ebf6a6695719367bb4962b1629344ed03feefec5/add-on-gesture-helper-v2.2.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gesture-helper/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export Gesture preset"},"tags":["3D View","User Interface"]},{"id":"bone_eyedropper","schema_version":"1.0.0","name":"Bone Eyedropper","version":"1.1.8","tagline":"Eyedrop a bone from active or target and assign it to a property","archive_hash":"sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd","archive_size":139882,"archive_url":"https://extensions.blender.org/download/sha256:b2b551c815a874247b7d4e8c11b167d331319bea1f7551db5a2ac443642297fd/add-on-bone-eyedropper-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bone-eyedropper/","maintainer":"Nifs","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .blend from disk","clipboard":"Copy property paths to clipboard"},"tags":["3D View","User Interface"]},{"id":"quick_export_extension","schema_version":"1.0.0","name":"Quick Export","version":"1.1.0","tagline":"Exports the active object's collection if it has exporters","archive_hash":"sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76","archive_size":2422,"archive_url":"https://extensions.blender.org/download/sha256:bc786396fcbd9e0c3f309ea0388a815912111e4417f5f3faeb2e7cc5fc975f76/add-on-quick-export-extension-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-export-extension/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"Real_Time_Paths","schema_version":"1.0.0","name":"Real Time Paths","version":"2.2.0","tagline":"Update motion path in real time","archive_hash":"sha256:135bdd30358390bd43beb075b49e476d33def2cb9946825a97658511382527f9","archive_size":5858,"archive_url":"https://extensions.blender.org/download/sha256:135bdd30358390bd43beb075b49e476d33def2cb9946825a97658511382527f9/add-on-real-time-paths-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/real-time-paths/","maintainer":"Hamdi-Amer","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"theme_GreenKM","schema_version":"1.0.0","name":"Green Kode Mono","version":"1.1.3","tagline":"Kinda retro green theme","archive_hash":"sha256:29eae04880f78741ece4928b6e1bb49d9236228134a908634a37160116f359ea","archive_size":6094,"archive_url":"https://extensions.blender.org/download/sha256:29eae04880f78741ece4928b6e1bb49d9236228134a908634a37160116f359ea/theme-theme-greenkm-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-greenkm/","maintainer":"DannySi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Quellenform_theme","schema_version":"1.0.0","name":"Quellenform's Theme","version":"0.1.0","tagline":"A dark grey theme with a gentle touch of blue and green colors","archive_hash":"sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d","archive_size":5899,"archive_url":"https://extensions.blender.org/download/sha256:1fd5a7c591b27910c3f584f3954a4b478dc3a4585a3bd8748c4290a7bc1da20d/theme-quellenform-theme-v0.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quellenform-theme/","maintainer":"quellenform","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"act_game_asset_creation_toolset","schema_version":"1.0.0","name":"ACT: Game Asset Creation Toolset","version":"2025.2.1","tagline":"Tools for easy create and export low-poly game assets","archive_hash":"sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284","archive_size":49479,"archive_url":"https://extensions.blender.org/download/sha256:e733197281ff010e1b5fd4ddc9c17249becc7a14c759ae87e82fa1bed9deb284/add-on-act-game-asset-creation-toolset-v2025.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/act-game-asset-creation-toolset/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export FBX/OBJ/GLTF to disk"},"tags":["3D View","Object","UV","Mesh","Import-Export","Modeling"]},{"id":"node_to_python","schema_version":"1.0.0","name":"Node To Python","version":"4.0.1","tagline":"Turn node groups into Python code","archive_hash":"sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec","archive_size":81184,"archive_url":"https://extensions.blender.org/download/sha256:dcf6dd99e522815ed44149b29b712621b2994588d2eb687da363cbb5ee2344ec/add-on-node-to-python-v4.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-to-python/","maintainer":"Brendan-Parmer","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Creates and writes to files in a user-specified directory"},"tags":["Development","Compositing","Geometry Nodes","Material","Node"]},{"id":"Eclipse","schema_version":"1.0.0","name":"Eclipse","version":"1.2.2","tagline":"Where Darkness Meets Elegance","archive_hash":"sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7","archive_size":5863,"archive_url":"https://extensions.blender.org/download/sha256:9b22fcdaed346fdc37aeb5f4686932495b6bbbb70f9ce62d6c6b960bb5894ba7/theme-eclipse-v1.2.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/eclipse/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"custom_templates","schema_version":"1.0.0","name":"Custom Templates","version":"1.6.0","tagline":"Use your own .blend files as template options for new projects","archive_hash":"sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e","archive_size":10674,"archive_url":"https://extensions.blender.org/download/sha256:49a47ee241f407d7efabea8811084ba9f6c1342d61d94b77177401cf5701ea4e/add-on-custom-templates-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/custom-templates/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export, + from folder, Ensure absolute paths in resources"},"tags":["System","User Interface"]},{"id":"world_apply","schema_version":"1.0.0","name":"World Apply","version":"1.0.1","tagline":"Sync viewport world settings with scene world settings","archive_hash":"sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663","archive_size":2866,"archive_url":"https://extensions.blender.org/download/sha256:17188904a6800963eae79e35ca53f13c2289c98ad4ef63172d42f250ed33c663/add-on-world-apply-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/world-apply/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read HDRI files stored in Blender's directories"},"tags":["Lighting"]},{"id":"timeline_buttons","schema_version":"1.0.0","name":"Timeline Buttons","version":"1.0.0","tagline":"Put the buttons in timeline to other animation related editors","archive_hash":"sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815","archive_size":15158,"archive_url":"https://extensions.blender.org/download/sha256:3aac330381de15d2f69641f0f6c7f0dcaec42371e014ca70889cad899d27d815/add-on-timeline-buttons-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/timeline-buttons/","maintainer":"tinkerboi","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"ddslideshow","schema_version":"1.0.0","name":"DDSlideshow","version":"0.0.5","tagline":"Create a Ken Burns Effect slideshow","archive_hash":"sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b","archive_size":7196,"archive_url":"https://extensions.blender.org/download/sha256:c83b00339fb45a3a50191a3856dead7a9878c5c9101a198ceece181c96d8ab0b/add-on-ddslideshow-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ddslideshow/","maintainer":"Michael-Lamertz","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to load images for the slideshow"},"tags":["Sequencer"]},{"id":"bonsai","schema_version":"1.0.0","name":"Bonsai","version":"0.8.4","tagline":"A native Building Information Model authoring platform using IFC","archive_hash":"sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65","archive_size":119643469,"archive_url":"https://extensions.blender.org/download/sha256:93efc79d28e5561f80035afcdb517938b1b066862945dcaeb0df8cc40228af65/add-on-bonsai-v0.8.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bonsai/","maintainer":"IfcOpenShell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load and save IFCs, IDS, BCF, etc from disk","network":"Augin / Cove.Tool integration for VR and environmental analysis","clipboard":"Copy and paste error logs"},"platforms":["windows-x64"],"tags":["3D View","Add Mesh","Animation","Camera","Development","Import-Export","Lighting","Material","Modeling","Mesh","Node","Object","Pipeline","Render","Scene","System","User Interface","UV"]},{"id":"Clean_Blue","schema_version":"1.0.0","name":"Clean Blue","version":"1.4.0","tagline":"This is a pleasant light-colored theme","archive_hash":"sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:6dde8d3518209c90af4af2a06f162a18c34e7c886e0a557f7c0c93fd811fa63d/theme-clean-blue-v1.4.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/clean-blue/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"redsquare","schema_version":"1.0.0","name":"RedSquare V2","version":"1.2.1","tagline":"A theme with basic red tones and a more square-ish type of look","archive_hash":"sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e","archive_size":5707,"archive_url":"https://extensions.blender.org/download/sha256:05e411805c178dff7b8a4e3a9fe37a15bea260f01e8903d6e17bf1845f20fc8e/theme-redsquare-v1.2.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redsquare/","maintainer":"luccadanielp","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"mengges_dark_theme","schema_version":"1.0.0","name":"MengGe's Dark Theme","version":"1.2.0","tagline":"Dark Theme Pro Max Ultra Plus Lift","archive_hash":"sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc","archive_size":5629,"archive_url":"https://extensions.blender.org/download/sha256:f2d43e826c8469ebd6ee3df71eb23af969c9f73ff80b877b2c6036a3c6be25cc/theme-mengges-dark-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mengges-dark-theme/","maintainer":"MengGe_KKD","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"armature_pie","schema_version":"1.0.0","name":"Armature Pie","version":"1.1.2","tagline":"Pick Armatures Comfortably & Solo Collection By Pie Menu","archive_hash":"sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da","archive_size":13793,"archive_url":"https://extensions.blender.org/download/sha256:f03490659072d00769c5d545524870938508d1b012e6285cd934a34d6b7411da/add-on-armature-pie-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-pie/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"Elegant_Light_Theme","schema_version":"1.0.0","name":"Elegant_Light_Theme","version":"2.1.0","tagline":"Bright Light","archive_hash":"sha256:86efcd67d1bb3c03193b9afd866967d3e0273fd3004318b6a66062c1c9c6c005","archive_size":5604,"archive_url":"https://extensions.blender.org/download/sha256:86efcd67d1bb3c03193b9afd866967d3e0273fd3004318b6a66062c1c9c6c005/theme-elegant-light-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/elegant-light-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"livery_helper","schema_version":"1.0.0","name":"LiveryHelper","version":"1.0.3","tagline":"Makes creating, editing and customizing car liveries much easier","archive_hash":"sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab","archive_size":5198,"archive_url":"https://extensions.blender.org/download/sha256:5f1718454dab8b0507fdd8f1743f5536cb0da9f423e7bc789b664eef19b28cab/add-on-livery-helper-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/livery-helper/","maintainer":"Mast26","license":["SPDX:MIT"],"permissions":{"files":"Loading source livery images"},"tags":["Material"]},{"id":"optiploy","schema_version":"1.0.0","name":"OptiPloy: Rig Spawner","version":"1.8.2","tagline":"Improve your workflow with smarter linking tools","archive_hash":"sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956","archive_size":41364,"archive_url":"https://extensions.blender.org/download/sha256:8dee57bb226f754c3bcab8986df3eca85ee8148faae759649f48d2374c7e0956/add-on-optiploy-v1.8.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/optiploy/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and save .blend and folder entries"},"tags":["Pipeline","Animation","Rigging","Import-Export"]},{"id":"io_scene_mvr","schema_version":"1.0.0","name":"Scene MVR (.mvr) and GDTF (.gdtf)","version":"1.5.0","tagline":"My Virtual Rig and General Device Type Format","archive_hash":"sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9","archive_size":296414,"archive_url":"https://extensions.blender.org/download/sha256:ee3c001d2ba1bf8ed49615a69cbdfdec3beadfe641ea2862b8d01f98f12555f9/add-on-io-scene-mvr-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-mvr/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"General Device Type Format and My Virtual Rig files"},"tags":["Import-Export","Scene","Lighting","Tracking","Rigging"]},{"id":"CV_Filter_Channels","schema_version":"1.0.0","name":"Filter_Channels","version":"1.0.8","tagline":"Filter channels in Graph Editor for animation","archive_hash":"sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2","archive_size":15830,"archive_url":"https://extensions.blender.org/download/sha256:b96b9024aca598c17e2ec30cd33cd25d419cf82d94c51c2e056f2ba3603a9bd2/add-on-cv-filter-channels-v1.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cv-filter-channels/","maintainer":"Carles-V","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"right_mouse_navigation","schema_version":"1.0.0","name":"Right Mouse Navigation","version":"2.6.0","tagline":"Game Engine Movement and Menus","archive_hash":"sha256:010e56750aae37d1b180511c13a42a92bf53ff3863ac738013b50d965066a998","archive_size":2197956,"archive_url":"https://extensions.blender.org/download/sha256:010e56750aae37d1b180511c13a42a92bf53ff3863ac738013b50d965066a998/add-on-right-mouse-navigation-v2.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/right-mouse-navigation/","maintainer":"SpectralVectors","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Node","User Interface"]},{"id":"texel_density_checker","schema_version":"1.0.0","name":"Texel Density Checker","version":"2025.1.2","tagline":"Toolset for working with Texel Density","archive_hash":"sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35","archive_size":48357,"archive_url":"https://extensions.blender.org/download/sha256:00e9f4b96ce4966ab59d68182491273a5e2e5205ab0d16ad4abe9c8bbf531a35/add-on-texel-density-checker-v2025.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texel-density-checker/","maintainer":"IvanVostrikov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object","UV"]},{"id":"simple_renaming_panel","schema_version":"1.0.0","name":"Simple Renaming","version":"2.1.4","tagline":"Effortlessly rename multiple objects with this simple addon","archive_hash":"sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5","archive_size":46786,"archive_url":"https://extensions.blender.org/download/sha256:4906e38746f5116e4b17d0d905bce1aefb7b56213a4b26c5152a46eebafe20a5/add-on-simple-renaming-panel-v2.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simple-renaming-panel/","maintainer":"MatthiasPatscheider","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Scene","User Interface"]},{"id":"auto_switch_theme","schema_version":"1.0.0","name":"Auto Switch Theme","version":"1.0.1","tagline":"Set light and dark themes based on your system appearance","archive_hash":"sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1","archive_size":11020,"archive_url":"https://extensions.blender.org/download/sha256:e3c92dc4696f87117b7ce31d52ed690c3c302ddeca98b5677788c7d2eaeac6b1/add-on-auto-switch-theme-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-switch-theme/","maintainer":"pablovazquez","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"ik_fk_snapping_tool","schema_version":"1.0.0","name":"IK-FK Snapping Tool","version":"3.0.3","tagline":"Tools to perform IK to FK and FK to IK snapping","archive_hash":"sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd","archive_size":19058,"archive_url":"https://extensions.blender.org/download/sha256:bc34f92eeab8f922dc6918d3f3f05c8f42ddde0faaffbb3a69c3a164dea16ddd/add-on-ik-fk-snapping-tool-v3.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ik-fk-snapping-tool/","maintainer":"Endertainer007","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"macos_dark_theme","schema_version":"1.0.0","name":"MacOS Dark Theme","version":"2.0.0","tagline":"The MacOS interface style in Blender","archive_hash":"sha256:4baaca190e00747b2483170608cb65f336468af1da265a165e1bf0ab6d7d9190","archive_size":17982,"archive_url":"https://extensions.blender.org/download/sha256:4baaca190e00747b2483170608cb65f336468af1da265a165e1bf0ab6d7d9190/theme-macos-dark-theme-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/macos-dark-theme/","maintainer":"stoatsnhoney","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"openvat","schema_version":"1.0.0","name":"OpenVAT","version":"1.1.0","tagline":"Encode and preview vertex animation textures","archive_hash":"sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1","archive_size":277888,"archive_url":"https://extensions.blender.org/download/sha256:9ead429665193bae5f97ce5af171ef6cd772aa158f80b6d1c750480d8d9aaec1/add-on-openvat-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/openvat/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"]},{"id":"align2custom","schema_version":"1.0.0","name":"Align 2 Custom","version":"2.1.2","tagline":"Align 3D View to custom orientation or 3D cursor","archive_hash":"sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856","archive_size":17939,"archive_url":"https://extensions.blender.org/download/sha256:c9c2b3ba9871dc20208c20772006af0644f5ab7aa7f9acf9fc2b03098cbc1856/add-on-align2custom-v2.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align2custom/","maintainer":"fdaubine","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View"]},{"id":"import_mixamo_root_motion","schema_version":"1.0.0","name":"Import Mixamo - Root Motion","version":"1.0.4","tagline":"Batch Import Fbx (Mixamo) And Apply Root Motion","archive_hash":"sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898","archive_size":23759,"archive_url":"https://extensions.blender.org/download/sha256:37ac8c15fa31546dbad06acd6775a9450b2fff253189dc566a81dbe914d39898/add-on-import-mixamo-root-motion-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/import-mixamo-root-motion/","maintainer":"DevilMayCry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import FBX from disk"},"tags":["Import-Export"]},{"id":"Quick_Rigid","schema_version":"1.0.0","name":"Quick Rigid","version":"1.2.1","tagline":"Easy access to the most used rigid body settings","archive_hash":"sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb","archive_size":1229239,"archive_url":"https://extensions.blender.org/download/sha256:c63f54b24f264bb2553d8e85b64375a1151628c92ad31b0e3dd1687f0514b8bb/add-on-quick-rigid-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-rigid/","maintainer":"nova3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Physics","Object"]},{"id":"geonode_shapekeys","schema_version":"1.0.0","name":"GeoNode Shape Keys","version":"1.0.0","tagline":"Sculpt on linked animated characters","archive_hash":"sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c","archive_size":220787,"archive_url":"https://extensions.blender.org/download/sha256:2ac8d503b2f7004a7066c9af0432da2327fc471b269e9f90cfb92cd86203442c/add-on-geonode-shapekeys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geonode-shapekeys/","maintainer":"Mets","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"To load the necessary GeoNodes from its .blend file"},"tags":["Rigging"]},{"id":"mesh_mesh_align_plus","schema_version":"1.0.0","name":"Mesh Align Plus","version":"1.1.0-rc.1","tagline":"Move/align mesh parts+objects based on scene geometry/metrics","archive_hash":"sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719","archive_size":90285,"archive_url":"https://extensions.blender.org/download/sha256:6177ca247f21143f839cf12aa0fda4b6ef738ef6554ce43c86446348b9bdf719/add-on-mesh-mesh-align-plus-v1.1.0-rc.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-mesh-align-plus/","maintainer":"BitByte","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Mesh","Modeling","Object","User Interface"]},{"id":"theme_Houdini","schema_version":"1.0.0","name":"Houdini","version":"1.3.0","tagline":"Theme Inspired By SideFX Houdini","archive_hash":"sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9","archive_size":5502,"archive_url":"https://extensions.blender.org/download/sha256:3d656c2c963edaf5040ca9ffb4f87ba7559b2cf6b3962d66b951a9e21d3dd3b9/theme-theme-houdini-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-houdini/","maintainer":"rmantdtg","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"mio3_copy_weight","schema_version":"1.0.0","name":"Mio3 Copy Weight","version":"1.1.0","tagline":"Copies weights of selected vertices across objects","archive_hash":"sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e","archive_size":15521,"archive_url":"https://extensions.blender.org/download/sha256:6957c7eb02bbae11a3a5efef3b1470c8471b1864a71c08c69edeb0941249e92e/add-on-mio3-copy-weight-v1.1.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/mio3-copy-weight/","maintainer":"mio","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"whispering_ripples","schema_version":"1.0.0","name":"Whispering Ripples","version":"1.3.0","tagline":"In the whisper of the night, ripples of creativity flow freely","archive_hash":"sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1","archive_size":6168,"archive_url":"https://extensions.blender.org/download/sha256:90a7ebd8eb00c189410b2bdb76c9d45863a44284af13ca8a3bf78a42bf1f93e1/theme-whispering-ripples-v1.3.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/whispering-ripples/","maintainer":"DaoL","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"sequenced_bake","schema_version":"1.0.0","name":"Sequenced Bake","version":"1.0.16","tagline":"Tools for baking material sequences and generating sprite sheets","archive_hash":"sha256:ce19820700393e87a4d8ad0598001b5a9ea93923eaf11fc2cfdec848c7d3dffe","archive_size":26704,"archive_url":"https://extensions.blender.org/download/sha256:ce19820700393e87a4d8ad0598001b5a9ea93923eaf11fc2cfdec848c7d3dffe/add-on-sequenced-bake-v1.0.16.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sequenced-bake/","maintainer":"Anthony-OConnell","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Saving and opening image files"},"tags":["Material","Bake","Node"]},{"id":"quick_menu","schema_version":"1.0.0","name":"QuickMenu","version":"2.0.0","tagline":"Quick-Add/Mod & Quick-Cam","archive_hash":"sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2","archive_size":17449,"archive_url":"https://extensions.blender.org/download/sha256:da1b178cbeb2abab2051e7017964a287d56de4c44dbf8386623af4834adce6d2/add-on-quick-menu-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-menu/","maintainer":"QiuMu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"auto_track","schema_version":"1.0.0","name":"Auto-tracking","version":"1.0.0","tagline":"VFX motion tracking automation","archive_hash":"sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d","archive_size":3589,"archive_url":"https://extensions.blender.org/download/sha256:e4dc16bbe23f728ddd3c0a1f9a2389e9708c24d4975d00a77da1a676b8df928d/add-on-auto-track-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track/","maintainer":"mcd1992","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"snap_bisect","schema_version":"1.0.0","name":"Snap Bisect","version":"1.0.6","tagline":"Bisect operator with snapping to vertices or edge midpoints","archive_hash":"sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a","archive_size":3851,"archive_url":"https://extensions.blender.org/download/sha256:396b5687b0917b6d0ac5105da9f6d18ecf582483c73a96a2de89a06556e2154a/add-on-snap-bisect-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-bisect/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"shape_key_swapper_extension","schema_version":"1.0.0","name":"ShapeKeySwapper","version":"1.0.3","tagline":"Swap vertex positions between 0 and 1 of the active shape key","archive_hash":"sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0","archive_size":1941,"archive_url":"https://extensions.blender.org/download/sha256:cdf443f57432608598903ed9f25a0821341ebb75feec8c83ead31545956476e0/add-on-shape-key-swapper-extension-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-swapper-extension/","maintainer":"Maro3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"passpartout_slider","schema_version":"1.0.0","name":"Passpartout Slider","version":"1.0.0","tagline":"Let's you control active camera Passpartout by pressing P","archive_hash":"sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21","archive_size":1819,"archive_url":"https://extensions.blender.org/download/sha256:7d7cb75097ba7baff6feea1dff47164f2a36cd660d0845353a2ddb44fa134e21/add-on-passpartout-slider-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/passpartout-slider/","maintainer":"Costa","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"Professional_theme","schema_version":"1.0.0","name":"Professional","version":"1.0.1","tagline":"Refined dark theme for professional use","archive_hash":"sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9","archive_size":36987,"archive_url":"https://extensions.blender.org/download/sha256:6927aa6206d0829e9e6f5edd75d86af55a9b61dac90cc5418437689d687eb8b9/theme-professional-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/professional-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Piano_White_theme","schema_version":"1.0.0","name":"Piano_White","version":"1.0.2","tagline":"Elegant piano-inspired light theme","archive_hash":"sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d","archive_size":36289,"archive_url":"https://extensions.blender.org/download/sha256:ceffb5c4723052e8ecc632dc8f875a015e2578bbc1c6f363aea2bc648f6d5c7d/theme-piano-white-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/piano-white-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Pastel_Pink_theme","schema_version":"1.0.0","name":"Pastel_Pink","version":"1.0.0","tagline":"Bright and poppy pastel pink Blender theme","archive_hash":"sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae","archive_size":36506,"archive_url":"https://extensions.blender.org/download/sha256:77fbdcec67eb4bb4614f01c03c3732fff4ee2cd881d6a8d5657161928b5ccfae/theme-pastel-pink-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/pastel-pink-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Midnight_theme","schema_version":"1.0.0","name":"Midnight","version":"1.0.1","tagline":"Midnight blue dark theme","archive_hash":"sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c","archive_size":36944,"archive_url":"https://extensions.blender.org/download/sha256:66d091dc351d9a044307a6adb9ced1e506a1cc01176d8a2253995b146a9cb69c/theme-midnight-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/midnight-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Metaseq_theme","schema_version":"1.0.0","name":"Metaseq","version":"1.0.1","tagline":"Light Metasequoia-style Blender theme","archive_hash":"sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c","archive_size":36310,"archive_url":"https://extensions.blender.org/download/sha256:1b35a233fdb54e5fdc03fd3648cf96566382be18eda2d010718e3d0fec4cb86c/theme-metaseq-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Maya2024_theme","schema_version":"1.0.0","name":"Maya2024","version":"1.0.1","tagline":"Maya-inspired Blender theme","archive_hash":"sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5","archive_size":36471,"archive_url":"https://extensions.blender.org/download/sha256:bc67a693666efe38635e64ee7f5700d9b2fc9304565a781928bffb080edc78d5/theme-maya2024-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/maya2024-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Graphite_theme","schema_version":"1.0.0","name":"Graphite","version":"1.0.2","tagline":"Dark cool blue-tinted graphite theme","archive_hash":"sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40","archive_size":36964,"archive_url":"https://extensions.blender.org/download/sha256:d64f4190551b647e04b35fd1736f1bcafab755958893aa7ee2cc747e748cfe40/theme-graphite-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/graphite-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Emerald_theme","schema_version":"1.0.0","name":"Emerald","version":"1.0.1","tagline":"Cyber-style green theme","archive_hash":"sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d","archive_size":36939,"archive_url":"https://extensions.blender.org/download/sha256:8536593147d7aa7c69577dfe3367b75462cb1f33966e8a5eb16ef70e5631061d/theme-emerald-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/emerald-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"Choco_Mint_theme","schema_version":"1.0.0","name":"Choco_Mint","version":"1.0.1","tagline":"Sweet and cool choco mint ice cream theme","archive_hash":"sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a","archive_size":36494,"archive_url":"https://extensions.blender.org/download/sha256:a3a1cbe878dffe9a97d71dc7a4fd7f4bd7f90839f5df5c9d56cd2cf7bf69d26a/theme-choco-mint-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/choco-mint-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"keyframe_tools_extension","schema_version":"1.0.0","name":"Keyframe Tools","version":"1.0.7","tagline":"A set of tools for inserting, deleting, and moving keyframes","archive_hash":"sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e","archive_size":11009,"archive_url":"https://extensions.blender.org/download/sha256:e755c7ebb0df1e234b11a7f6ee93d05f9367913cf29121bdd42ce32fa52e324e/add-on-keyframe-tools-extension-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-tools-extension/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"omUlete","schema_version":"1.0.0","name":"omUlete","version":"0.97.3","tagline":"A stand-alone exporter for the Panda3D .egg format","archive_hash":"sha256:9e56075efe33c6d36351c98076b311aa69186202981bbb44369e7e14ca0f1507","archive_size":12471,"archive_url":"https://extensions.blender.org/download/sha256:9e56075efe33c6d36351c98076b311aa69186202981bbb44369e7e14ca0f1507/add-on-omulete-v0.97.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omulete/","maintainer":"Jackson-Sutherland","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"save exported egg files"},"tags":["Import-Export","Game Engine"]},{"id":"custom_output_path","schema_version":"1.0.0","name":"Custom Output Path","version":"1.1.7","tagline":"Customize file output paths with placeholders","archive_hash":"sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc","archive_size":23227,"archive_url":"https://extensions.blender.org/download/sha256:97f14df19bdc4d19105fb30245dbcb71f77b28fa91b41a81ac7fb098b93b46fc/add-on-custom-output-path-v1.1.7.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/custom-output-path/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Render"]},{"id":"render_preset","schema_version":"1.0.0","name":"Render Preset","version":"1.3.4","tagline":"Create and use render presets","archive_hash":"sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3","archive_size":74565,"archive_url":"https://extensions.blender.org/download/sha256:429dcb66ab8906791ae7ec237b9f07990f93ce00738f195f282ebc137142ebd3/add-on-render-preset-v1.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-preset/","maintainer":"tonton_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing json preset files in a user-defined location"},"tags":["Render","Pipeline"]},{"id":"mesh_maze","schema_version":"1.0.0","name":"Maze any Mesh","version":"1.2.2","tagline":"Convert any mesh to a maze pattern","archive_hash":"sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2","archive_size":18705,"archive_url":"https://extensions.blender.org/download/sha256:032c4ec845968791fceba506688f0af05f64566a88fc9f8d3353c4d8aa0589f2/add-on-mesh-maze-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh-maze/","maintainer":"elfnorcat","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Amethyst_theme","schema_version":"1.0.0","name":"Amethyst","version":"1.0.2","tagline":"Cyberpunk-inspired purple theme","archive_hash":"sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f","archive_size":36951,"archive_url":"https://extensions.blender.org/download/sha256:45ddbb5d9c21e9b9da2dc38a29366630b7745d47b4bb86c4b9afba48f6bf5a4f/theme-amethyst-theme-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/amethyst-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"NodePie","schema_version":"1.0.0","name":"Node Pie","version":"1.2.51","tagline":"Add nodes faster with a pie menu","archive_hash":"sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36","archive_size":414208,"archive_url":"https://extensions.blender.org/download/sha256:3697733ebb509d44502a3def976ae71c4b4eedd6aec2f5470cada7cc9df40a36/add-on-nodepie-v1.2.51.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nodepie/","maintainer":"Strike_Digital","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Reading and writing config files"},"tags":["User Interface","Node"]},{"id":"drag_and_drop_support","schema_version":"1.0.0","name":"Drag and Drop Support","version":"1.2.0","tagline":"Support and improve drag and drop imports in Blender","archive_hash":"sha256:5fe4a5c876e4bcb30367b616e9bb6e790650f8066be12c17bed492c3d6735216","archive_size":28448,"archive_url":"https://extensions.blender.org/download/sha256:5fe4a5c876e4bcb30367b616e9bb6e790650f8066be12c17bed492c3d6735216/add-on-drag-and-drop-support-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/drag-and-drop-support/","maintainer":"Natsune-Mochizuki","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import models from the disk"},"tags":["3D View","Import-Export"]},{"id":"deep_gray_something","schema_version":"1.0.0","name":"Deep Gray Something","version":"1.0.1","tagline":"Blender 5 dark theme with blue and green selection highlights","archive_hash":"sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1","archive_size":6009,"archive_url":"https://extensions.blender.org/download/sha256:c7b1258ab1aec1a1e740e3899353305af318599e29fad0ef83abfdd0e44302c1/theme-deep-gray-something-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-gray-something/","maintainer":"blanchsb","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast","Accessibility"]},{"id":"matbatchtools","schema_version":"1.0.0","name":"Material Batch Tools","version":"2.3.1","tagline":"Quick batch automation of common material tasks","archive_hash":"sha256:a8ba349a80d2d244416bc1b43f9b6f5445b689e926823b3bf9ce8835a6ccadb0","archive_size":35485,"archive_url":"https://extensions.blender.org/download/sha256:a8ba349a80d2d244416bc1b43f9b6f5445b689e926823b3bf9ce8835a6ccadb0/add-on-matbatchtools-v2.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matbatchtools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"sourceenginecollisiontools","schema_version":"1.0.0","name":"Source Engine Collision Tools","version":"3.0.0","tagline":"Generate & optimize collision models for use in Source Engine","archive_hash":"sha256:d8fcfb72759cc314f2e2b82b0a05b200082cdd5a4393c4fbf7a4b5bb90a7eead","archive_size":67984,"archive_url":"https://extensions.blender.org/download/sha256:d8fcfb72759cc314f2e2b82b0a05b200082cdd5a4393c4fbf7a4b5bb90a7eead/add-on-sourceenginecollisiontools-v3.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sourceenginecollisiontools/","maintainer":"Theanine3D","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export collision-related QC and VMF files"},"tags":["Mesh","Object","Game Engine"]},{"id":"Key_Ops_Toolkit","schema_version":"1.0.0","name":"Key Ops: Toolkit","version":"0.2.1985","tagline":"Industri Standard Tools & Shortcuts to Speed Up Blender Workflow","archive_hash":"sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40","archive_size":201205,"archive_url":"https://extensions.blender.org/download/sha256:715314e23eab283bebb1d300dd0c3a07faa87a4fc2dd1cb768473efe8f5f5c40/add-on-key-ops-toolkit-v0.2.1985.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/key-ops-toolkit/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export/Import .obj files and use of temp folder"},"tags":["Modeling","Mesh","Object","UV","3D View"]},{"id":"hot_node","schema_version":"1.0.0","name":"Hot Node","version":"1.2.1","tagline":"Add nodes like adding node","archive_hash":"sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4","archive_size":113483,"archive_url":"https://extensions.blender.org/download/sha256:ba974165b67c4820466d70cce8f67242e6d6e8e9bbd6013f833a354cc26ef3f4/add-on-hot-node-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hot-node/","maintainer":"Trantor","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access file system for storing custom nodes"},"tags":["Node","Geometry Nodes","Material"]},{"id":"ZenUVChecker","schema_version":"1.0.0","name":"Zen UV Checker","version":"1.4.12","tagline":"Check the state of UVs on the model easily with Checker Textures","archive_hash":"sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672","archive_size":2989286,"archive_url":"https://extensions.blender.org/download/sha256:e26f6830144c4c5510bb83286bd4ffdff45d46d884625f1c1cb3b95886ef5672/add-on-zenuvchecker-v1.4.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/zenuvchecker/","maintainer":"Sergey_Tyapkin","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to folders for importing Checker Textures"},"tags":["UV"]},{"id":"improved_node_search","schema_version":"1.0.0","name":"Improved Node Search","version":"1.0.5","tagline":"Navigate your node tree faster via more node search options","archive_hash":"sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4","archive_size":11647,"archive_url":"https://extensions.blender.org/download/sha256:a44ed6dbf107e0ef69c008b963ecc776101082c827bd943b9a01cdcc7c3991c4/add-on-improved-node-search-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/improved-node-search/","maintainer":"Griperis","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"noise_nodes","schema_version":"1.0.0","name":"Noise Nodes","version":"0.7.0","tagline":"Advance Noise Nodes For blender","archive_hash":"sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc","archive_size":1482042,"archive_url":"https://extensions.blender.org/download/sha256:5213c751c997a1fc6905c912a60c254d0b95cdb571b7c3db1058be8b5f3755dc/add-on-noise-nodes-v0.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/noise-nodes/","maintainer":"Haseeb-Ahmed-3","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"Modifier_List_Fork","schema_version":"1.0.0","name":"Modifier List","version":"1.9.88","tagline":"Enhanced Modifier UI/Features, now with Edit Mesh Modifier","archive_hash":"sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55","archive_size":164500,"archive_url":"https://extensions.blender.org/download/sha256:3cb1e3fa2c6ac94ef4afd535e13a947379bc215d16084983415f9600b11c7d55/add-on-modifier-list-fork-v1.9.88.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/modifier-list-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save Add-on Prefrences"},"tags":["Modeling","User Interface"]},{"id":"PolyQuilt_Fork","schema_version":"1.0.0","name":"PolyQuilt Retopology Tool","version":"1.45.9","tagline":"Retopology Tool for Blender","archive_hash":"sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5","archive_size":179729,"archive_url":"https://extensions.blender.org/download/sha256:931a4ae81b0c3fde2e17f498f0b6b7d73b54108abeb806d59b73d6733fa09af5/add-on-polyquilt-fork-v1.45.9.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/polyquilt-fork/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"clear_filepaths","schema_version":"1.0.0","name":"Clear Filepaths","version":"1.1.2","tagline":"Removes personal filepaths from your .blend file","archive_hash":"sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9","archive_size":4114,"archive_url":"https://extensions.blender.org/download/sha256:5800df075e83a222323db050bc9b774ad087dbca1b707103dba34ee5901f76a9/add-on-clear-filepaths-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clear-filepaths/","maintainer":"FlailingFog","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Saves a copy of a .blend file without filepaths"},"platforms":["windows-x64"],"tags":["System"]},{"id":"onyx","schema_version":"1.0.0","name":"Onyx","version":"1.1.0","tagline":"A minimalistic dark theme","archive_hash":"sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6","archive_size":5177,"archive_url":"https://extensions.blender.org/download/sha256:12963bbe3977a90f69a3edb0c21ef72620f162cde4160c70c9811cf2ec419da6/theme-onyx-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/onyx/","maintainer":"Aeraglyx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"tiny_backup","schema_version":"1.0.0","name":"Tiny Backup","version":"1.0.2","tagline":"A minimalistic backup solution","archive_hash":"sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc","archive_size":13763,"archive_url":"https://extensions.blender.org/download/sha256:00f0e44af81d41ba29b5e95b10fad221791be4b611ed8ce462d5afab4f75cadc/add-on-tiny-backup-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tiny-backup/","maintainer":"Thane5","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Save backups on disk"},"tags":["System"]},{"id":"Randomize_Bones_Pose","schema_version":"1.0.0","name":"Randomize_Bones_Pose","version":"2.0.0","tagline":"Randomize_Bones_Pose","archive_hash":"sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4","archive_size":16685,"archive_url":"https://extensions.blender.org/download/sha256:f7cb0958faf3f296809e664f74ec4aec03b39cf1af6d64371b64061f44044bb4/add-on-randomize-bones-pose-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-bones-pose/","maintainer":"IZ.MdVerz","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging"]},{"id":"omniscient","schema_version":"1.0.0","name":"Omniscient Importer","version":"2.3.5","tagline":"Automated scene setup for shots recorded with Omniscient iOS app","archive_hash":"sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e","archive_size":119480,"archive_url":"https://extensions.blender.org/download/sha256:551f3da30cbb1e8033aec1e4572cf211d530fe5dccde151c8a4b10897fb16b1e/add-on-omniscient-v2.3.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/omniscient/","maintainer":"Omniscient","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .omni file from disk"},"tags":["Tracking","Import-Export","Camera","Compositing","Animation","Mesh","Scene"]},{"id":"pose_shape_keys","schema_version":"1.0.0","name":"Pose Shape Keys","version":"1.0.0","tagline":"Preserve your shape keys through weight changes, and much more","archive_hash":"sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6","archive_size":35835,"archive_url":"https://extensions.blender.org/download/sha256:f90f6365a515d7ddd60f8e8410a4a4d1fb36594ae20e3b989f09d9d4360849f6/add-on-pose-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pose-shape-keys/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"select_panel_xdanic","schema_version":"1.0.0","name":"Select panel","version":"0.1.5","tagline":"All selections and more under a panel","archive_hash":"sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793","archive_size":4058,"archive_url":"https://extensions.blender.org/download/sha256:39f014c0fe720f04cfa525ff9c9e1fa13d899611969efecfe97002fc8a7cb793/add-on-select-panel-xdanic-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-panel-xdanic/","maintainer":"xdanic","license":["SPDX:GPL-2.0"],"tags":["User Interface"]},{"id":"theme_XP_AliVe","schema_version":"1.0.0","name":"XP_AliVe","version":"1.0.3","tagline":"Blender theme inspired by 2000s","archive_hash":"sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a","archive_size":5978,"archive_url":"https://extensions.blender.org/download/sha256:c0bffb862dc60fe848872207122feb401e3de59a6cd5cab5f6f7da9549ad5b7a/theme-theme-xp-alive-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xp-alive/","maintainer":"AliVe","license":["SPDX:GPL-2.0-or-later"],"tags":["Colorful","High Contrast","Inspired By","Accessibility"]},{"id":"MustardUI","schema_version":"1.0.0","name":"MustardUI","version":"2025.8.5","tagline":"Easy-to-use UI for human characters","archive_hash":"sha256:fc82dd612b09a3f1d24798466d86804ceaeacdfa2799533a54db14b9b79d9deb","archive_size":424942,"archive_url":"https://extensions.blender.org/download/sha256:fc82dd612b09a3f1d24798466d86804ceaeacdfa2799533a54db14b9b79d9deb/add-on-mustardui-v2025.8.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mustardui/","maintainer":"Mustard","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export templates from/to disk"},"tags":["User Interface"]},{"id":"Half_Knife","schema_version":"1.0.0","name":"Half Knife","version":"1.3.85","tagline":"Optimized for fast workflow knife tool for Blender","archive_hash":"sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83","archive_size":15498,"archive_url":"https://extensions.blender.org/download/sha256:9c03a65b75ae4b8d6b9a3917d4ccd213d005443a56cc38f1519db7a079ab3c83/add-on-half-knife-v1.3.85.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/half-knife/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"node_quick_maths","schema_version":"1.0.0","name":"Node Quick Maths","version":"1.2.2","tagline":"A fast way to make long math chains in node editors","archive_hash":"sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac","archive_size":22432,"archive_url":"https://extensions.blender.org/download/sha256:c68f02a0e467f315f9693de37ff4a3d2d14b26e01ecb895b95759bb04062ceac/add-on-node-quick-maths-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-quick-maths/","maintainer":"Zeptofine","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"easyweight","schema_version":"1.0.0","name":"EasyWeight","version":"1.0.9","tagline":"Weight Painting Workflow Boosters","archive_hash":"sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0","archive_size":42626,"archive_url":"https://extensions.blender.org/download/sha256:9334b15aef0668f4405b4c94af24da413100ac0090391cfa68669190e2266ee0/add-on-easyweight-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/easyweight/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"set_smooth_group","schema_version":"1.0.0","name":"Set Smooth Group","version":"1.1.0","tagline":"Simplify setting smooth groups with sharp edges","archive_hash":"sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b","archive_size":17228,"archive_url":"https://extensions.blender.org/download/sha256:aaf35ea5fe6627cfbf550e508fb4f21de8a87029ec914be59d765fd793b8273b/add-on-set-smooth-group-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-smooth-group/","maintainer":"VIktor-Kom","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"toggle_socket_visibility","schema_version":"1.0.0","name":"Toggle Socket Visibility","version":"1.0.0","tagline":"Control which node sockets are visible or not via panel/pop-up","archive_hash":"sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f","archive_size":7638,"archive_url":"https://extensions.blender.org/download/sha256:948e5bb472ec2fd75345e37139edccd83181925d756a2974a7f22b8beaafe00f/add-on-toggle-socket-visibility-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-socket-visibility/","maintainer":"quackarooni","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"strange_attractors","schema_version":"1.0.0","name":"Strange Attractors","version":"2.1.0","tagline":"Add Strange Attractor curves","archive_hash":"sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:466827116b5e4e4fa70a1b4d54597f207da22edb8b3eb693d0690df836738e06/add-on-strange-attractors-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/strange-attractors/","maintainer":"7bitretro","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"k_tools_view_sync","schema_version":"1.0.0","name":"Sync | Lock Viewport","version":"2.7.0","tagline":"Sync or Lock multiple viewports at once in real-time","archive_hash":"sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf","archive_size":46836,"archive_url":"https://extensions.blender.org/download/sha256:c4de7444a9f90e3f641eced7a0ee148b04a50bf4d21eb1bc22077ac09eaa0edf/add-on-k-tools-view-sync-v2.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-view-sync/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"universal_multi_importer","schema_version":"1.0.0","name":"Universal Multi Importer","version":"2.3.3","tagline":"Batch Import many file formats at once, Batch process them","archive_hash":"sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599","archive_size":118110,"archive_url":"https://extensions.blender.org/download/sha256:1f64024e81f297643a4c8a5cc7afd584cf1e0bb565f6813ed65a3768dd7b9599/add-on-universal-multi-importer-v2.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/universal-multi-importer/","maintainer":"Tilapiatsu","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Files from disk, save presets to disk"},"tags":["Import-Export","Pipeline"]},{"id":"BAM","schema_version":"1.0.0","name":"[BAM] AutoMat","version":"1.2.1","tagline":"Batch creation of materials from textures folder","archive_hash":"sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649","archive_size":563501,"archive_url":"https://extensions.blender.org/download/sha256:95fb5bf6be46b48fec1273025e31c522a09491b6d7503ab6343ed24bdcb5e649/add-on-bam-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bam/","maintainer":"AlexeyHRDesign","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Import-Export"]},{"id":"action_to_scene_range","schema_version":"1.0.0","name":"Action to Scene Range","version":"1.7.0","tagline":"When switching Actions, automatically set the Scene Frame Range","archive_hash":"sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf","archive_size":2520,"archive_url":"https://extensions.blender.org/download/sha256:bf2cb52492569624d6f1a1a19f4fde207d1ad6a18eab4e8e548da0bc6ace6ecf/add-on-action-to-scene-range-v1.7.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/action-to-scene-range/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"face_set_operators","schema_version":"1.0.0","name":"Face Set Operators","version":"1.0.0","tagline":"Convert sculpt mode attributes into anything you need","archive_hash":"sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6","archive_size":4650,"archive_url":"https://extensions.blender.org/download/sha256:73cd9f9c8a1eca7c893947165c061ad38e8f7d189a4ef24e65e03f398826f5e6/add-on-face-set-operators-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-set-operators/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Sculpt","Mesh"]},{"id":"my_best_pie_menu_ever","schema_version":"1.0.0","name":"My Best Pie Menu Ever","version":"2.9.1","tagline":"Quick access to the functions you need","archive_hash":"sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c","archive_size":84510,"archive_url":"https://extensions.blender.org/download/sha256:dc2b09cf7638d2fa82ebf504c9f76fc269978e6fd7d033d2b0a178fd1d727d6c/add-on-my-best-pie-menu-ever-v2.9.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/my-best-pie-menu-ever/","maintainer":"emptybraces","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["3D View","User Interface"]},{"id":"mmd_tools","schema_version":"1.0.0","name":"MMD Tools","version":"4.5.5","tagline":"Utility tools for MMD model editing","archive_hash":"sha256:b68abf8a0e0cff02129c587c5f00b05427a9b49adc13796f8162e1c89130f33a","archive_size":745015,"archive_url":"https://extensions.blender.org/download/sha256:b68abf8a0e0cff02129c587c5f00b05427a9b49adc13796f8162e1c89130f33a/add-on-mmd-tools-v4.5.5.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/mmd-tools/","maintainer":"MMD","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PMX/PMD/VMD/VPD from/to disk"},"tags":["3D View","Camera","Import-Export","Material","Mesh","Object","Physics"]},{"id":"bioxelnodes","schema_version":"1.0.0","name":"Bioxel Nodes","version":"1.0.9","tagline":"For scientific volumetric data visualization in Blender","archive_hash":"sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620","archive_size":28047296,"archive_url":"https://extensions.blender.org/download/sha256:9e17324d019913f12e94c9e1ca7304bc1728738406b201275817ffda896e1620/add-on-bioxelnodes-v1.0.9-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bioxelnodes/","maintainer":"icrdr","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export volume data from/to disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Render","Import-Export"]},{"id":"molecularnodes","schema_version":"1.0.0","name":"Molecular Nodes","version":"4.5.9","tagline":"A toolbox for molecular import and animation in Blender","archive_hash":"sha256:715443e78827f8d691322e2fd3a9c026c65517a7df500e5c22ed42a7ea42924a","archive_size":130834860,"archive_url":"https://extensions.blender.org/download/sha256:715443e78827f8d691322e2fd3a9c026c65517a7df500e5c22ed42a7ea42924a/add-on-molecularnodes-v4.5.9-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/molecularnodes/","maintainer":"bradyajohnston","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk and caching downloads","network":"Downloading structural data from the PDB and AFPDB"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"io_scene_psk_psa","schema_version":"1.0.0","name":"Unreal PSK/PSA (.psk/.psa)","version":"9.0.2","tagline":"Import and export PSK and PSA files used in Unreal Engine","archive_hash":"sha256:b702c28f1eeb117eb29c2e3383d645522e298235973995c113dbda20a777f32f","archive_size":71367,"archive_url":"https://extensions.blender.org/download/sha256:b702c28f1eeb117eb29c2e3383d645522e298235973995c113dbda20a777f32f/add-on-io-scene-psk-psa-v9.0.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/io-scene-psk-psa/","maintainer":"cmbasnett","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write PSK and PSA files from and to disk"},"tags":["Game Engine","Import-Export"]},{"id":"theme_Plasticity","schema_version":"1.0.0","name":"Plasticity","version":"2.0.0","tagline":"Theme Inspired By Plasticity app","archive_hash":"sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351","archive_size":6395,"archive_url":"https://extensions.blender.org/download/sha256:784ac771c1ae56b9382a09e8b99d5835033b36c095cda9afd28487f0695a0351/theme-theme-plasticity-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-plasticity/","maintainer":"SHEK","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast","Inspired By","Accessibility"]},{"id":"open_stage_blender_dmx","schema_version":"1.0.0","name":"DMX","version":"2.1.3","tagline":"Visualization & programming with GDTF&MVR, OSC, PSN, Networking","archive_hash":"sha256:55aecf28a10ca7630a8087f89370d9203ad64df0850e50aa6707c02ea336682e","archive_size":2083339,"archive_url":"https://extensions.blender.org/download/sha256:55aecf28a10ca7630a8087f89370d9203ad64df0850e50aa6707c02ea336682e/add-on-open-stage-blender-dmx-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-stage-blender-dmx/","maintainer":"Sunova","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import GDTF devices. Import/Export MVR scenes and project data","network":"For GDTF Share, sACN, Art-Net, OSC, PSN, MVR-xchange"},"tags":["Lighting","Animation","Scene","Import-Export","Rigging","Tracking","Sequencer","3D View","Camera"]},{"id":"maze_generator","schema_version":"1.0.0","name":"Maze Generator","version":"0.2.5","tagline":"A Maze generator extension for Blender","archive_hash":"sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030","archive_size":22231,"archive_url":"https://extensions.blender.org/download/sha256:aa1ee5351cb2468855d86f5a3435a35f4fdf64e1515b0997d755ffa87bf77030/add-on-maze-generator-v0.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/maze-generator/","maintainer":"Leeroy-Majors","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"node_group_presets","schema_version":"1.0.0","name":"Node Group Presets","version":"0.7.1","tagline":"Save Node Group values as presets","archive_hash":"sha256:188e60ae6d31863003585b11d3af7af0d4fa04d03093f996889fd66460b8d644","archive_size":27682,"archive_url":"https://extensions.blender.org/download/sha256:188e60ae6d31863003585b11d3af7af0d4fa04d03093f996889fd66460b8d644/add-on-node-group-presets-v0.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-presets/","maintainer":"juaum","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy/paste presets between nodedroups and across files"},"tags":["Geometry Nodes","Material","Node"]},{"id":"booltron","schema_version":"1.0.0","name":"Booltron","version":"3.2.3","tagline":"Super add-on for superfast booleans","archive_hash":"sha256:3cd4c074c9340fe2fbbeef09adc95969a4c3f2852a01d688cb9e4a6020ce2535","archive_size":163165,"archive_url":"https://extensions.blender.org/download/sha256:3cd4c074c9340fe2fbbeef09adc95969a4c3f2852a01d688cb9e4a6020ce2535/add-on-booltron-v3.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/booltron/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"Dark_Pro","schema_version":"1.0.0","name":"Dark Pro","version":"2.0.2","tagline":"Just a little darker","archive_hash":"sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b","archive_size":5431,"archive_url":"https://extensions.blender.org/download/sha256:94505d24488f88ab67497abe8c6bcc18c14bb2f6ceb440c6c1954ca5ae5ddd1b/theme-dark-pro-v2.0.2.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/dark-pro/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"quick_groups","schema_version":"1.0.0","name":"Quick Groups (Instances)","version":"1.0.3","tagline":"Group objects with Ctrl+G using instances","archive_hash":"sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c","archive_size":6862,"archive_url":"https://extensions.blender.org/download/sha256:f9da4f1267c480b5fd252e2d61573e1ebbd3e4fafa723547b93f032d7292d01c/add-on-quick-groups-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-groups/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling"]},{"id":"t3d_gn_presets","schema_version":"1.0.0","name":"T3D GN Presets","version":"1.6.0","tagline":"A versatile collection of useful node groups for Geometry Nodes","archive_hash":"sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd","archive_size":835788,"archive_url":"https://extensions.blender.org/download/sha256:1b5e343d3b335b85caa7be2b9410b8218b777546638cdc5bce6e9f6e774e71cd/add-on-t3d-gn-presets-v1.6.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/t3d-gn-presets/","maintainer":"Tams_3d","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Append node-groups from source file"},"tags":["Geometry Nodes"]},{"id":"per_camera_resolution","schema_version":"1.0.0","name":"Per-Camera Resolution","version":"2.3.0","tagline":"Every camera should have its resolution","archive_hash":"sha256:d24ba104ec8a5ea6eab369c441a6aba0e50f58ff1a079171cd67883177688421","archive_size":11164,"archive_url":"https://extensions.blender.org/download/sha256:d24ba104ec8a5ea6eab369c441a6aba0e50f58ff1a079171cd67883177688421/add-on-per-camera-resolution-v2.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/per-camera-resolution/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","Camera"]},{"id":"synchronize_workspaces","schema_version":"1.0.0","name":"Synchronize Workspaces","version":"1.14.0","tagline":"Synchronize 3D views between workspaces","archive_hash":"sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5","archive_size":3974,"archive_url":"https://extensions.blender.org/download/sha256:156bb74e7c8e77449d9da5dabb71ef00ad0286447e24968c41173e821ee714b5/add-on-synchronize-workspaces-v1.14.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/synchronize-workspaces/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"grease_pencil_tool_wheel","schema_version":"1.0.0","name":"GP Tool Wheel","version":"1.0.11","tagline":"Extended pie menu for selecting Grease Pencil tools quickly","archive_hash":"sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6","archive_size":206402,"archive_url":"https://extensions.blender.org/download/sha256:c6c1c53b5f17791958cb92a02f38e9cbaf9e578226d0a615e06eeb8a3cb42ba6/add-on-grease-pencil-tool-wheel-v1.0.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tool-wheel/","maintainer":"SietseB","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Grease Pencil"]},{"id":"commotion","schema_version":"1.0.0","name":"Commotion","version":"2.5.0","tagline":"Animation offset tools for motion graphics","archive_hash":"sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb","archive_size":27868,"archive_url":"https://extensions.blender.org/download/sha256:9554d7ccc6211c666991b03cd72b354173495dc8977320a70874694bf25179eb/add-on-commotion-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/commotion/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"find_bad_tracks","schema_version":"1.0.0","name":"Find Bad Tracks","version":"1.0.2","tagline":"Highlight motion tracks that move in suspicious directions","archive_hash":"sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8","archive_size":25067,"archive_url":"https://extensions.blender.org/download/sha256:b9f5373c3ca5119c4f14b9c11f0e92f2a29ff908bbd265803fef2a9d705c97b8/add-on-find-bad-tracks-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/find-bad-tracks/","maintainer":"Walles","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"cloudrig","schema_version":"1.0.0","name":"CloudRig","version":"2.2.4","tagline":"Rig Generation & Rigging Workflow Tools","archive_hash":"sha256:2b7a74ea1f4e6c69fcf735509b164beb0e181008e44055735c4e7f4acffea90b","archive_size":3373231,"archive_url":"https://extensions.blender.org/download/sha256:2b7a74ea1f4e6c69fcf735509b164beb0e181008e44055735c4e7f4acffea90b/add-on-cloudrig-v2.2.4.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/cloudrig/","maintainer":"Blender Studio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load widgets/metarigs/preferences from disk","clipboard":"Copy/paste Bone Collections between armatures"},"tags":["Rigging"]},{"id":"theme_drcl","schema_version":"1.0.0","name":"drcl","version":"1.0.3","tagline":"A variation of Dracula dark theme","archive_hash":"sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040","archive_size":4955,"archive_url":"https://extensions.blender.org/download/sha256:bcb32cf5c1a0bafffdb7e2223b1f5eeedf272750227318ac65d0596748e00040/theme-theme-drcl-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-drcl/","maintainer":"Sereda","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"YB_Animator_Tool","schema_version":"1.0.0","name":"YB Animator Tool","version":"1.1.3","tagline":"export grease pencil layers as keyframes and CSV","archive_hash":"sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b","archive_size":5541,"archive_url":"https://extensions.blender.org/download/sha256:7e06d55ad957752bfe87476860bd07b1d2c5609974f8a2e993975eb278768c1b/add-on-yb-animator-tool-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/yb-animator-tool/","maintainer":"YB_","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Output CSV and sequence diagram"},"tags":["Grease Pencil","Animation","User Interface"]},{"id":"keymesh","schema_version":"1.0.0","name":"Keymesh","version":"2.3.2","tagline":"Create stop-motion animations by sculpting frame-by-frame","archive_hash":"sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a","archive_size":42763,"archive_url":"https://extensions.blender.org/download/sha256:aa56eec60eee3053668594b2daf513e792d464a7593b3af6a90068f5a607ed2a/add-on-keymesh-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keymesh/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store generated pose preview images and/or load them from disk"},"tags":["Animation","Sculpt","Mesh"]},{"id":"node_annotator","schema_version":"1.0.0","name":"Node Annotator","version":"0.4.2","tagline":"Easily create good documentation of your node trees","archive_hash":"sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef","archive_size":28721,"archive_url":"https://extensions.blender.org/download/sha256:c11383591de17ef98cf102b5ff1e0e31bee6a72cc8a3f05df02d7bce58ddccef/add-on-node-annotator-v0.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-annotator/","maintainer":"FrankFirsching","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Geometry Nodes"]},{"id":"toggle_language","schema_version":"1.0.0","name":"Toggle Language","version":"1.6.2","tagline":"One click to toggle UI between two languages","archive_hash":"sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe","archive_size":31213,"archive_url":"https://extensions.blender.org/download/sha256:67ea3fe811d72c81ad19bd1540b4cb0374446e69ae18a77b01a665d27f2da3fe/add-on-toggle-language-v1.6.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-language/","maintainer":"del1a8dc50179276c0","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"quick_lighting_environment","schema_version":"1.0.0","name":"QLE (Quick Lighting Environment)","version":"1.8.0","tagline":"Adds a Basic Lighting Setup to Your Blender Scene","archive_hash":"sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883","archive_size":105787,"archive_url":"https://extensions.blender.org/download/sha256:561863f28ac7d0df9e815a800796efaca126ad78cd23741ac28807f262031883/add-on-quick-lighting-environment-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-lighting-environment/","maintainer":"don1138","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"SB_path_actions","schema_version":"1.0.0","name":"Path Actions","version":"2.3.2","tagline":"Open blend folder in OS explorer, and more","archive_hash":"sha256:1d7682d2823d6a5a5bfe7c6487950d977c55029d04fb0a02beaf064f296adeb2","archive_size":32198,"archive_url":"https://extensions.blender.org/download/sha256:1d7682d2823d6a5a5bfe7c6487950d977c55029d04fb0a02beaf064f296adeb2/add-on-sb-path-actions-v2.3.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sb-path-actions/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open folders, List Blend files","clipboard":"Copy path to files"},"tags":["System","Development"]},{"id":"print3d_toolbox","schema_version":"1.0.0","name":"3D Print Toolbox","version":"1.3.0","tagline":"Utilities for 3D printing","archive_hash":"sha256:089f2d801824e94f4589cdc80d1ea19666e36b9dca1822208387131198b9c8e2","archive_size":142658,"archive_url":"https://extensions.blender.org/download/sha256:089f2d801824e94f4589cdc80d1ea19666e36b9dca1822208387131198b9c8e2/add-on-print3d-toolbox-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/print3d-toolbox/","maintainer":"MikhailRachinskiy","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export STL, PLY, OBJ files"},"tags":["Mesh"]},{"id":"fls_blcn","schema_version":"1.0.0","name":"Fast Language Switch","version":"0.0.5","tagline":"Fast change the language of the interface","archive_hash":"sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9","archive_size":2475,"archive_url":"https://extensions.blender.org/download/sha256:02aecb087b32a2863ac24729708022975fe431cf9a693c30ae706767758229e9/add-on-fls-blcn-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fls-blcn/","maintainer":"Kk","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"theme_xsi","schema_version":"1.0.0","name":"Softimage XSI","version":"5.0.0","tagline":"Community-made theme inspired by Softimage XSI","archive_hash":"sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443","archive_size":6273,"archive_url":"https://extensions.blender.org/download/sha256:ec047fc1185a8292f84a08d9a69a0d71483f9c53c88b74222dbf4449f6f10443/theme-theme-xsi-v5.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-xsi/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By"]},{"id":"theme_white","schema_version":"1.0.0","name":"White","version":"1.0.1","tagline":"Community-made theme","archive_hash":"sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0","archive_size":6242,"archive_url":"https://extensions.blender.org/download/sha256:1f18c2b22d2a8f1b1ad3113eb3f972ef708bdc7a3e494df61779bf5d7d0689a0/theme-theme-white-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-white/","maintainer":"MultLabs","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_print_friendly","schema_version":"1.0.0","name":"Print Friendly","version":"2.0.0","tagline":"Community-made theme optimized for printing","archive_hash":"sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24","archive_size":5585,"archive_url":"https://extensions.blender.org/download/sha256:ec1e53309b01b0d1fd81a4aa72bd636ff411402fe9b56eb4126ef440f5f3ad24/theme-theme-print-friendly-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-print-friendly/","maintainer":"JasonvanGumster","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","High Contrast"]},{"id":"theme_minimal_dark","schema_version":"1.0.0","name":"Minimal Dark","version":"3.1.2","tagline":"A flat dark theme for Blender","archive_hash":"sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a","archive_size":7358,"archive_url":"https://extensions.blender.org/download/sha256:b5814ca544a39e7c0b19d07523555e235d0efe856c74a4a912e784ecfaef419a/theme-theme-minimal-dark-v3.1.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-minimal-dark/","maintainer":"jlampel","license":["SPDX:GPL-2.0-or-later"]},{"id":"theme_maya","schema_version":"1.0.0","name":"Maya","version":"2.0.0","tagline":"Community-made theme inspired by Maya","archive_hash":"sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a","archive_size":5859,"archive_url":"https://extensions.blender.org/download/sha256:6a6c6eac7b9aaf180bf8583d4c1d2f5b27e01a0581a5fa9782b9abd4a7c4ee1a/theme-theme-maya-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-maya/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"theme_deep_grey","schema_version":"1.0.0","name":"Deep Grey","version":"2.0.3","tagline":"A comfortable medium dark theme for Blender","archive_hash":"sha256:86ec45b09abcbaf00bf2f28ff6d056784810a1a0b5b86b9a72f95c18ce8eb471","archive_size":5550,"archive_url":"https://extensions.blender.org/download/sha256:86ec45b09abcbaf00bf2f28ff6d056784810a1a0b5b86b9a72f95c18ce8eb471/theme-theme-deep-grey-v2.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-deep-grey/","maintainer":"TheRedWaxPolice","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"skinify_rig","schema_version":"1.0.0","name":"Skinify Rig","version":"0.11.2","tagline":"Creates a mesh object from selected bones","archive_hash":"sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61","archive_size":6450,"archive_url":"https://extensions.blender.org/download/sha256:26babe1f712c53b6e3a9de6da8a81a768548ed197d41716ed643a25469e3cf61/add-on-skinify-rig-v0.11.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skinify-rig/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"f2","schema_version":"1.0.0","name":"F2","version":"1.8.5","tagline":"Extends the 'Make Edge/Face' functionality","archive_hash":"sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c","archive_size":5505,"archive_url":"https://extensions.blender.org/download/sha256:dc8f19637a61c332b3eb937a6b86e2363511cbb29a9a22ea8571fe7d924ab05c/add-on-f2-v1.8.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/f2/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"navigation","schema_version":"1.0.0","name":"3D Navigation","version":"1.3.0","tagline":"Navigate the 3D Viewport from the Sidebar","archive_hash":"sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed","archive_size":3238,"archive_url":"https://extensions.blender.org/download/sha256:4dab907f3eddb4ba96dfbb5c97f6f525e9cd0f4bfd45d9a21717a728954bf8ed/add-on-navigation-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"amaranth","schema_version":"1.0.0","name":"Amaranth","version":"1.0.29","tagline":"A collection of tools to improve productivity","archive_hash":"sha256:05976c27d5779ad056921a08037cf0dd7506ded1d2059b4d08c0514f889197e3","archive_size":49317,"archive_url":"https://extensions.blender.org/download/sha256:05976c27d5779ad056921a08037cf0dd7506ded1d2059b4d08c0514f889197e3/add-on-amaranth-v1.0.29.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/amaranth/","maintainer":"pablovazquez","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render","Compositing","User Interface","Scene","Lighting"]},{"id":"math_vis_console","schema_version":"1.0.0","name":"Math Vis (Console)","version":"0.2.2","tagline":"Display console defined mathutils variables in the 3D view","archive_hash":"sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a","archive_size":6507,"archive_url":"https://extensions.blender.org/download/sha256:72e30386a06a1b15500488a709951b085c18ff02bf95d07f126ac3e9ea3d470a/add-on-math-vis-console-v0.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/math-vis-console/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"auto_mirror","schema_version":"1.0.0","name":"Auto Mirror","version":"2.5.4","tagline":"Super fast cutting and mirroring for mesh","archive_hash":"sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7","archive_size":3571,"archive_url":"https://extensions.blender.org/download/sha256:68c7785f641c91905b07b8122af6a0147834e9a7b77285966253b1f770f30cc7/add-on-auto-mirror-v2.5.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-mirror/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"snap_utilities_line","schema_version":"1.0.0","name":"Snap Line Tool","version":"6.8.1","tagline":"Extends Blender Snap controls","archive_hash":"sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc","archive_size":32147,"archive_url":"https://extensions.blender.org/download/sha256:8098ef55983b4192e2e711eb1c5542e93bb65996f973b2f5173bdd01093f1dbc/add-on-snap-utilities-line-v6.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/snap-utilities-line/","maintainer":"mano-wii","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"looptools","schema_version":"1.0.0","name":"LoopTools","version":"4.7.7","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108","archive_size":30534,"archive_url":"https://extensions.blender.org/download/sha256:ff1ca3b3fff73094379da8b1fa2c1acbc9d88d26b7dfc73bb9de5941a6b50108/add-on-looptools-v4.7.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/looptools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"node_arrange","schema_version":"1.0.0","name":"Node Arrange","version":"1.10.0","tagline":"Arrange node trees with one click","archive_hash":"sha256:d43bc5168e99e6d7fe12dc590cc383d9a85bd9b1eb94bbc85e0b54c31a29f915","archive_size":1756037,"archive_url":"https://extensions.blender.org/download/sha256:d43bc5168e99e6d7fe12dc590cc383d9a85bd9b1eb94bbc85e0b54c31a29f915/add-on-node-arrange-v1.10.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-arrange/","maintainer":"Leonardo-Pike-Excell","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"antlandscape","schema_version":"1.0.0","name":"A.N.T.Landscape","version":"0.2.0","tagline":"Another Noise Tool: Landscape and Displace","archive_hash":"sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0","archive_size":60899,"archive_url":"https://extensions.blender.org/download/sha256:230571bc14c50952f3af99b70fdb365cf0cee503382975dc38149407a5a4c8c0/add-on-antlandscape-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/antlandscape/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"dynamic_context_menu","schema_version":"1.0.0","name":"Dynamic Context Menu","version":"1.9.4","tagline":"Object Mode Context Sensitive Spacebar Menu","archive_hash":"sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5","archive_size":15679,"archive_url":"https://extensions.blender.org/download/sha256:d5489ad11a246fcac650b86b3beb5137f1506a7d09092028acfbc86b8cdc90b5/add-on-dynamic-context-menu-v1.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-context-menu/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"material_library","schema_version":"1.0.0","name":"Material Library","version":"0.6.0","tagline":"Material Library VX","archive_hash":"sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019","archive_size":594898,"archive_url":"https://extensions.blender.org/download/sha256:baf00c107c5f938e6401cc9d30ab2226b2e1a9f8e92607335d19f1e4492e8019/add-on-material-library-v0.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-library/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Material"]},{"id":"copy_attributes_menu","schema_version":"1.0.0","name":"Copy Attributes Menu","version":"0.6.3","tagline":"Copy Attributes Menu","archive_hash":"sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478","archive_size":8270,"archive_url":"https://extensions.blender.org/download/sha256:990bac36be4c6a39c4506c84a689c5ec45e1a4b43995542cd0b058663f190478/add-on-copy-attributes-menu-v0.6.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-attributes-menu/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"material_utilities","schema_version":"1.0.0","name":"Material Utilities","version":"2.2.3","tagline":"Menu of material tools (assign, select..) in the 3D View","archive_hash":"sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739","archive_size":16895,"archive_url":"https://extensions.blender.org/download/sha256:35e3f516724b522930ca2defb78c8ef38949949aa7cc37b64be2d3522431b739/add-on-material-utilities-v2.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/material-utilities/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Material"]},{"id":"edit_linked_library","schema_version":"1.0.0","name":"Edit Linked Library","version":"0.9.2","tagline":"Allows editing of objects, collections, and node groups lin . . ","archive_hash":"sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234","archive_size":3575,"archive_url":"https://extensions.blender.org/download/sha256:db6827e091da07209ffcff97ce271de8af2a8823619d25626472f6bf65ef5234/add-on-edit-linked-library-v0.9.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-linked-library/","maintainer":"JasonvanGumster","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"simplify_curves_plus","schema_version":"1.0.0","name":"Simplify Curves+","version":"1.1.3","tagline":"Simplify Curves: 3dview, Dopesheet, Graph","archive_hash":"sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851","archive_size":5943,"archive_url":"https://extensions.blender.org/download/sha256:57734eb8248818f3db18c2b934a9470b6ccd640066962c38918868ec93446851/add-on-simplify-curves-plus-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/simplify-curves-plus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"modifier_tools","schema_version":"1.0.0","name":"Modifier Tools","version":"0.2.7","tagline":"Modifiers Specials Show/Hide/Apply Selected","archive_hash":"sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a","archive_size":2718,"archive_url":"https://extensions.blender.org/download/sha256:68a98d3c992800dbb76d580835be0d4c023696d8fdcb41e590ec0c367876442a/add-on-modifier-tools-v0.2.7.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/modifier-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"extra_mesh_objects","schema_version":"1.0.0","name":"Extra Mesh Objects","version":"0.4.0","tagline":"Add extra mesh object types","archive_hash":"sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61","archive_size":130665,"archive_url":"https://extensions.blender.org/download/sha256:9ce5515c079d9d3ff212da66567b38a2e3c3533be820795dc7812e14975f9e61/add-on-extra-mesh-objects-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-mesh-objects/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"export_paper_model","schema_version":"1.0.0","name":"Export Paper Model","version":"1.4.2","tagline":"Export printable net of a Mesh object","archive_hash":"sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba","archive_size":35606,"archive_url":"https://extensions.blender.org/download/sha256:0d49e1413b624fe9e86c1da10824dc8c1c28713a72ff72530550812dfbc56cba/add-on-export-paper-model-v1.4.2.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-paper-model/","maintainer":"AdamDominec","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export files to disk"},"tags":["Import-Export"]},{"id":"precision_drawing_tools_pdt","schema_version":"1.0.0","name":"Precision Drawing Tools (PDT)","version":"1.5.3","tagline":"Precision Drawing Tools for Accurate Modelling","archive_hash":"sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266","archive_size":49495,"archive_url":"https://extensions.blender.org/download/sha256:8e64e4ababc06e1a843eb72dd126c422bfb1117934dd4bdc480c2c6a76e37266/add-on-precision-drawing-tools-pdt-v1.5.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/precision-drawing-tools-pdt/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View"]},{"id":"extra_curve_objectes","schema_version":"1.0.0","name":"Extra Curve Objects","version":"0.2.0","tagline":"Add extra curve object types","archive_hash":"sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909","archive_size":52956,"archive_url":"https://extensions.blender.org/download/sha256:4ca91ce5563d094694b2c7f1fc9acece8b5ba8f5dd017a49f080e9cfa5553909/add-on-extra-curve-objectes-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extra-curve-objectes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"tinycad_mesh_tools","schema_version":"1.0.0","name":"tinyCAD Mesh tools","version":"1.3.3","tagline":"tinyCAD Mesh tools Add-on","archive_hash":"sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6","archive_size":37134,"archive_url":"https://extensions.blender.org/download/sha256:a725746d79502e6519273f3b9d7a54f0350e15f6c391c36fc9c1288f75070bd6/add-on-tinycad-mesh-tools-v1.3.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tinycad-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"collection_manager","schema_version":"1.0.0","name":"Collection Manager","version":"2.24.11","tagline":"Manage collections and their objects","archive_hash":"sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5","archive_size":42496,"archive_url":"https://extensions.blender.org/download/sha256:2ba8a4d92c886157a7d15482b7459efbc228d9ff296b24966ab564986694dbe5/add-on-collection-manager-v2.24.11.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/collection-manager/","maintainer":"Imaginer","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"import_palettes","schema_version":"1.0.0","name":"Import Palettes","version":"1.0.5","tagline":"Import Palettes","archive_hash":"sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd","archive_size":4151,"archive_url":"https://extensions.blender.org/download/sha256:9874614269a5e890d25021308641083531d982fb8603c113090389f382bc4acd/add-on-import-palettes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-palettes/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"autodesk_3ds_format","schema_version":"1.0.0","name":"Autodesk 3D Studio (.3ds)","version":"3.0.1","tagline":"Import-Export 3DS scenes, objects, cameras, lights & animations","archive_hash":"sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9","archive_size":208325,"archive_url":"https://extensions.blender.org/download/sha256:3a9fad1b399b835401702b4d8ab2cff1bf818ce91299e105bc9e668b7e93e0d9/add-on-autodesk-3ds-format-v3.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/autodesk-3ds-format/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import-Export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"storypencil_storyboard_tools","schema_version":"1.0.0","name":"Storypencil - Storyboard Tools","version":"1.2.0","tagline":"Storyboard tools","archive_hash":"sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6","archive_size":20608,"archive_url":"https://extensions.blender.org/download/sha256:70b1115a622a4e7d5f29998a7c1acd7f9c1df2f384be025fd2b54e3d1ff9cac6/add-on-storypencil-storyboard-tools-v1.2.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/storypencil-storyboard-tools/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"object_color_rules","schema_version":"1.0.0","name":"Object Color Rules","version":"0.0.2","tagline":"Rules for assigning object color (for object & wireframe co . . ","archive_hash":"sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5","archive_size":4057,"archive_url":"https://extensions.blender.org/download/sha256:e23968a37905a932db8875ef9c9f3d29ca7af69ec2e87d4483ae54cb809d7cd5/add-on-object-color-rules-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/object-color-rules/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"stored_views","schema_version":"1.0.0","name":"Stored Views","version":"0.4.0","tagline":"Save and restore views, pov, layers & display configs","archive_hash":"sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0","archive_size":24199,"archive_url":"https://extensions.blender.org/download/sha256:cec382a11ded631ee31b410725db78fe72e82c377a6077ee9bb7b5af1485e5f0/add-on-stored-views-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stored-views/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory where it stores/reads view presets"},"tags":["3D View"]},{"id":"cell_fracture","schema_version":"1.0.0","name":"Cell Fracture","version":"0.2.1","tagline":"Fractured Object Creation","archive_hash":"sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2","archive_size":9722,"archive_url":"https://extensions.blender.org/download/sha256:878bbd46e0c735da689101aeed9ebe99f18c0d8d0cbd2e9e17ed8cda6b264fb2/add-on-cell-fracture-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cell-fracture/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"import_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Import AutoCAD DXF Format (.dxf)","version":"0.9.10","tagline":"Import files in the Autocad DXF format (.dxf)","archive_hash":"sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3","archive_size":57092,"archive_url":"https://extensions.blender.org/download/sha256:bc82f6498e92bbcb637c330f2ed9df431fd193303ddd1fec88994c8e0d1924f3/add-on-import-autocad-dxf-format-dxf-v0.9.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with .dxf files"},"tags":["Import-Export"]},{"id":"bool_tool","schema_version":"1.0.0","name":"Bool Tool","version":"2.0.0","tagline":"Quick boolean operators and tools for hard surface modeling","archive_hash":"sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d","archive_size":167487,"archive_url":"https://extensions.blender.org/download/sha256:9d9c73f2f49af05e3a3cfe78daa43676b1005fcbb591dc054d9d04c370f0d85d/add-on-bool-tool-v2.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bool-tool/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"vdm_brush_baker","schema_version":"1.0.0","name":"VDM Brush Baker","version":"1.0.6","tagline":"Bake vector displacement brushes easily from a plane","archive_hash":"sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419","archive_size":5781,"archive_url":"https://extensions.blender.org/download/sha256:b704f4dca21c2e929b559d99896c18a373b0599a6ca11b45856d5106ec4d6419/add-on-vdm-brush-baker-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vdm-brush-baker/","maintainer":"robin.hohni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on saves textures to disk"},"tags":["Bake","Sculpt"]},{"id":"add_camera_rigs","schema_version":"1.0.0","name":"Add Camera Rigs","version":"1.8.1","tagline":"Adds a Camera Rig with UI","archive_hash":"sha256:53fe57263b25e7f72710eb1b29d295279cca1d8d235a9b95ee22e380a6dcad8d","archive_size":13546,"archive_url":"https://extensions.blender.org/download/sha256:53fe57263b25e7f72710eb1b29d295279cca1d8d235a9b95ee22e380a6dcad8d/add-on-add-camera-rigs-v1.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-camera-rigs/","maintainer":"WayneDixon","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"ivygen","schema_version":"1.0.0","name":"IvyGen","version":"0.1.5","tagline":"Adds generated ivy to a mesh object starting at the 3D cursor","archive_hash":"sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98","archive_size":7172,"archive_url":"https://extensions.blender.org/download/sha256:7e60967a11cabacb9bca0128e65dcfb96cec8794a934bc7dc2e353ae720cff98/add-on-ivygen-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ivygen/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"measureit","schema_version":"1.0.0","name":"MeasureIt","version":"1.8.4","tagline":"Tools for measuring objects","archive_hash":"sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042","archive_size":28891,"archive_url":"https://extensions.blender.org/download/sha256:85b1836d97e5c2f0311afdf45cf9fd3cefa71bade074963864ce40ee15c26042/add-on-measureit-v1.8.4.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/measureit/","maintainer":"antoniov","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"tri_lighting","schema_version":"1.0.0","name":"Tri-lighting","version":"0.2.1","tagline":"Add 3 Point Lighting to Selected / Active Object","archive_hash":"sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b","archive_size":3531,"archive_url":"https://extensions.blender.org/download/sha256:91bd27546e4be010ed03eb732dcf04500086ba79278c7259ec0912c996b3b04b/add-on-tri-lighting-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tri-lighting/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"grease_pencil_tools","schema_version":"1.0.0","name":"Grease Pencil Tools","version":"2.2.3","tagline":"Extra tools for Grease Pencil","archive_hash":"sha256:1205ac83efe3cc6b051cd936bc8b9723e37fb0c000626f61fc27ee4009e21fa9","archive_size":51806,"archive_url":"https://extensions.blender.org/download/sha256:1205ac83efe3cc6b051cd936bc8b9723e37fb0c000626f61fc27ee4009e21fa9/add-on-grease-pencil-tools-v2.2.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/grease-pencil-tools/","maintainer":"SamuelBernou","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Object"]},{"id":"tissue","schema_version":"1.0.0","name":"Tissue","version":"0.3.71","tagline":"Tools for Computational Design","archive_hash":"sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad","archive_size":113361,"archive_url":"https://extensions.blender.org/download/sha256:e2da80e8dc35fa07bd63cc09c71511a8d2766f00bc1ae93ae1416710049b04ad/add-on-tissue-v0.3.71.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/tissue/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"icon_viewer","schema_version":"1.0.0","name":"Icon Viewer","version":"1.4.2","tagline":"Click an icon to copy its name to the clipboard","archive_hash":"sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc","archive_size":3814,"archive_url":"https://extensions.blender.org/download/sha256:f8f8edde289718bb022fcaeb8c2f0613730625af41cace80f3906d64779e64fc/add-on-icon-viewer-v1.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/icon-viewer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"magic_uv","schema_version":"1.0.0","name":"Magic UV","version":"6.7.1","tagline":"UV Toolset. See Add-ons Preferences for details","archive_hash":"sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571","archive_size":104347,"archive_url":"https://extensions.blender.org/download/sha256:09451ad3876aa1a1f693cdce4a5837e9a6c69cfc96cfc292ebc398a529d28571/add-on-magic-uv-v6.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/magic-uv/","maintainer":"nutti","license":["SPDX:GPL-2.0-or-later"],"tags":["UV"]},{"id":"export_autocad_dxf_format_dxf","schema_version":"1.0.0","name":"Export Autocad DXF Format (.dxf)","version":"2.2.4","tagline":"The script exports Blender geometry to DXF format r12 version","archive_hash":"sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7","archive_size":33206,"archive_url":"https://extensions.blender.org/download/sha256:eb49707876bcf472d440e89206252b90d8c7b9bf919ece6c59a8d7f1181199e7/add-on-export-autocad-dxf-format-dxf-v2.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-autocad-dxf-format-dxf/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports DXF file"},"tags":["Import-Export"]},{"id":"discombobulator","schema_version":"1.0.0","name":"Discombobulator","version":"0.1.0","tagline":"Add Discombobulator","archive_hash":"sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d","archive_size":7864,"archive_url":"https://extensions.blender.org/download/sha256:79b9763dd90ec7e7dd0f2b1a6dca0485145f9ac258787c6ba5fafb56d6b45d9d/add-on-discombobulator-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/discombobulator/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"animall","schema_version":"1.0.0","name":"AnimAll","version":"0.13.0","tagline":"Animate mesh, lattice, curve and surface data","archive_hash":"sha256:5ae768d061ee6fdbae19c78e13320fbf48905a7cb84165a431e9a5d167528a4a","archive_size":8578,"archive_url":"https://extensions.blender.org/download/sha256:5ae768d061ee6fdbae19c78e13320fbf48905a7cb84165a431e9a5d167528a4a/add-on-animall-v0.13.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/animall/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blender_id_authentication","schema_version":"1.0.0","name":"Blender ID authentication","version":"2.1.3","tagline":"Stores your Blender ID credentials for usage with other add-ons","archive_hash":"sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5","archive_size":11456,"archive_url":"https://extensions.blender.org/download/sha256:c082141d5040e928d4691f2f00f020932e36b4a06500a210e06e4c2a014564d5/add-on-blender-id-authentication-v2.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-id-authentication/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Requires access to id.blender.org to sync preferences"},"tags":["System"]},{"id":"edit_mesh_tools","schema_version":"1.0.0","name":"Edit Mesh Tools","version":"0.3.6","tagline":"Mesh modelling toolkit. Several tools to aid modelling","archive_hash":"sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0","archive_size":74410,"archive_url":"https://extensions.blender.org/download/sha256:af6440c98c5f64dbcd492e03d7e8772e3bacad92dfc92b5be8abadacc86e7ee0/add-on-edit-mesh-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-mesh-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"viewport_pie_menus","schema_version":"1.0.0","name":"3D Viewport Pie Menus","version":"1.7.3","tagline":"Various pie menus to speed up your workflow","archive_hash":"sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100","archive_size":110402,"archive_url":"https://extensions.blender.org/download/sha256:b6e8d806492c45c7323933bc674a2f41e220ec7f8574214759b76e5f34d3b100/add-on-viewport-pie-menus-v1.7.3.zip","type":"add-on","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/add-ons/viewport-pie-menus/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To load brush icons from disk"},"tags":["User Interface"]},{"id":"sapling_tree_gen","schema_version":"1.0.0","name":"Sapling Tree Gen","version":"0.3.7","tagline":"Adds a parametric tree","archive_hash":"sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f","archive_size":36296,"archive_url":"https://extensions.blender.org/download/sha256:27a478262e1c86612a9c3daffe7f4dce2802f5bc2294033462e5adc6d9c0080f/add-on-sapling-tree-gen-v0.3.7.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/sapling-tree-gen/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"bsurfaces_gpl_edition","schema_version":"1.0.0","name":"Bsurfaces GPL Edition","version":"1.8.4","tagline":"Modeling and retopology tool","archive_hash":"sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e","archive_size":31781,"archive_url":"https://extensions.blender.org/download/sha256:a521277138cf2bac92655e3e684f0714aafca25dd86fc5adc2e0f274df34dd6e/add-on-bsurfaces-gpl-edition-v1.8.4.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bsurfaces-gpl-edition/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"curve_tools","schema_version":"1.0.0","name":"Curve Tools","version":"0.4.6","tagline":"Adds some functionality for bezier/nurbs curve/surface modeling","archive_hash":"sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f","archive_size":55633,"archive_url":"https://extensions.blender.org/download/sha256:af1e26d5e38c0c024598898e31e35373c978505a1942deb12588ef87ad85696f/add-on-curve-tools-v0.4.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/curve-tools/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"power_sequencer","schema_version":"1.0.0","name":"Power Sequencer","version":"2.0.4","tagline":"Video editing tools for content creators","archive_hash":"sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a","archive_size":97495,"archive_url":"https://extensions.blender.org/download/sha256:895f02298c1c616f4d115184e7d71de3b82a61aa95f3d524cceaedf3d3f1ff5a/add-on-power-sequencer-v2.0.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/power-sequencer/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"dynamic_sky","schema_version":"1.0.0","name":"Dynamic Sky","version":"1.0.6","tagline":"Creates Dynamic Sky for Cycles","archive_hash":"sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f","archive_size":4358,"archive_url":"https://extensions.blender.org/download/sha256:2f8d1fc2e0c71287e42b4f91d52d270da8f4d7da8033305b2a1790f742fa374f/add-on-dynamic-sky-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-sky/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Lighting"]},{"id":"vrm","schema_version":"1.0.0","name":"VRM format","version":"3.17.9","tagline":"VRM import, export and editing capabilities","archive_hash":"sha256:5dd13fc8ee1df1aeafdbc3e3da4a154b038e17c86fd978d1805fea64f8ea8b68","archive_size":1538109,"archive_url":"https://extensions.blender.org/download/sha256:5dd13fc8ee1df1aeafdbc3e3da4a154b038e17c86fd978d1805fea64f8ea8b68/add-on-vrm-v3.17.9.zip","type":"add-on","blender_version_min":"4.2.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/add-ons/vrm/","maintainer":"saturday06","license":["SPDX:MIT","SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export VRM from/to disk"},"tags":["Import-Export","Animation","Modeling","Material","Physics"]},{"id":"io_scene_max","schema_version":"1.0.0","name":"Import Autodesk MAX (.max)","version":"1.7.5","tagline":"Import 3DSMAX meshes & materials","archive_hash":"sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7","archive_size":83827,"archive_url":"https://extensions.blender.org/download/sha256:59840441d615e04517b32d6ee1501a348df079f909fb08a6cb3896677c7486a7/add-on-io-scene-max-v1.7.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-max/","maintainer":"NRGSille","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Autodesk MAX files"},"tags":["Import-Export","Mesh","Material"]},{"id":"sun_position","schema_version":"1.0.0","name":"Sun Position","version":"4.4.0","tagline":"Show the position of the Sun with objects or an environment","archive_hash":"sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856","archive_size":26592,"archive_url":"https://extensions.blender.org/download/sha256:b8a83c2ff04fad709687de51065faf6add52e824ec06fef22b4a95fe98955856/add-on-sun-position-v4.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sun-position/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting"]},{"id":"gruvbox_light","schema_version":"1.0.0","name":"Gruvbox Light","version":"1.6.0","tagline":"Gruvbox light theme","archive_hash":"sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae","archive_size":5392,"archive_url":"https://extensions.blender.org/download/sha256:9467b5becf1fd9a3f3991e8fc452dd125246223851624de82d2806493c6743ae/theme-gruvbox-light-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-light/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"gruvbox_dark","schema_version":"1.0.0","name":"Gruvbox Dark","version":"1.6.0","tagline":"Gruvbox dark theme","archive_hash":"sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa","archive_size":5192,"archive_url":"https://extensions.blender.org/download/sha256:6d009547e2020b46a389efc06119475225a03f9fe3647f87724e1b78263457aa/theme-gruvbox-dark-v1.6.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gruvbox-dark/","maintainer":"Eleuth","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"phoenixart_fusion_theme","schema_version":"1.0.0","name":"PhoenixArt Fusion Theme","version":"4.0.3","tagline":"Based on Blackmagic Fusion Theme","archive_hash":"sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066","archive_size":6404,"archive_url":"https://extensions.blender.org/download/sha256:19029c154eba46e528b33dd7a18a3633507df051e0341358651a0030eedcd066/theme-phoenixart-fusion-theme-v4.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/phoenixart-fusion-theme/","maintainer":"phoenixart","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"alien_pink_theme","schema_version":"1.0.0","name":"Alien Pink","version":"6.0.0","tagline":"Stylish and vibrant theme designed specially for you","archive_hash":"sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641","archive_size":6709,"archive_url":"https://extensions.blender.org/download/sha256:cef37705d005e9f1ff988d0d620d646bfaac30532cb2d2fbce97885245906641/theme-alien-pink-theme-v6.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/alien-pink-theme/","maintainer":"Alumx","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"copy_object_name_to_data","schema_version":"1.0.0","name":"Copy Object Name to Data","version":"1.1.1","tagline":"A simple operator to copy object names to object data","archive_hash":"sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03","archive_size":14363,"archive_url":"https://extensions.blender.org/download/sha256:686fd6616844730398773fa942ffc42bcc478622a1441b51c70ba28853274c03/add-on-copy-object-name-to-data-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-object-name-to-data/","maintainer":"Xury46","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"nd","schema_version":"1.0.0","name":"ND","version":"2.1.0","tagline":"Non-Destructive Modeling Toolkit","archive_hash":"sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5","archive_size":1546886,"archive_url":"https://extensions.blender.org/download/sha256:6c83f44f13327ea5fc52ffbe5dd770b8f905bac92174e2794eb06e1c244947c5/add-on-nd-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nd/","maintainer":"HugeMenace","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import built-in and custom assets"},"tags":["3D View","Lighting","Material","Modeling","Mesh","Object","Scene","UV"]},{"id":"io_export_after_effects","schema_version":"1.0.0","name":"Export: Adobe After Effects (.jsx)","version":"0.2.1","tagline":"Export cameras, images and empties to Adobe After Effects","archive_hash":"sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4","archive_size":16102,"archive_url":"https://extensions.blender.org/download/sha256:8c1caea017a582d3e9725fb2d96a17546a9877704d42676471097a59225049b4/add-on-io-export-after-effects-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-export-after-effects/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Export JSX file to disk"},"tags":["Import-Export"]},{"id":"textify","schema_version":"1.0.0","name":"Textify","version":"1.8.0","tagline":"Streamline and Enhance Blender’s Text Editor","archive_hash":"sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4","archive_size":1851559,"archive_url":"https://extensions.blender.org/download/sha256:e4d15e15e77034233bc82abbc9fe46839b3ec79d1ba9f567bc0b0ce14d1e67b4/add-on-textify-v1.8.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/textify/","maintainer":"Jishnu-kv","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write settings, and manage scripts on disk","clipboard":"Copy class bl_idname and identifiers to clipboard"},"tags":["Text Editor","Development"]},{"id":"Bagapie","schema_version":"1.0.0","name":"Bagapie","version":"11.0.8","tagline":"50+ tools : Scattering, Ivy Gen, Random Array, Architecture","archive_hash":"sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad","archive_size":10833664,"archive_url":"https://extensions.blender.org/download/sha256:5f1be93c7b9d48f75d16a497e1c85a12f10be59db4098196b0f38f6da0a3a6ad/add-on-bagapie-v11.0.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bagapie/","maintainer":"Antoine_Bagattini","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create, setup and add assets libraries","network":"Open web browser for documentation and tutorials"},"tags":["Modeling","Node"]},{"id":"y_projectionnode_form_camera_f1","schema_version":"1.0.0","name":"ProjectionNode from Camera","version":"1.3.0","tagline":"Creates a material specified in the Background Image of Camera","archive_hash":"sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75","archive_size":9289,"archive_url":"https://extensions.blender.org/download/sha256:6fc076e3124099bdad58988605f36ae44a27d2b65932aee2d0fc8b91aedf0d75/add-on-y-projectionnode-form-camera-f1-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/y-projectionnode-form-camera-f1/","maintainer":"Yukimituki","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"Shadow","schema_version":"1.0.0","name":"Shadow","version":"5.0.1","tagline":"Dark theme","archive_hash":"sha256:47b3d5dce6d00d25202737adb7bf31c867361d30adc3ead15e104b6a91aeee53","archive_size":5745,"archive_url":"https://extensions.blender.org/download/sha256:47b3d5dce6d00d25202737adb7bf31c867361d30adc3ead15e104b6a91aeee53/theme-shadow-v5.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/shadow/","maintainer":"--Shadow--","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"ucupaint","schema_version":"1.0.0","name":"Ucupaint","version":"2.4.2","tagline":"Layer based painting for Eevee and Cycles","archive_hash":"sha256:ff5121edce73d5c41e132054b50acf883f63c7528287fab8a249cc721bb254a7","archive_size":2059270,"archive_url":"https://extensions.blender.org/download/sha256:ff5121edce73d5c41e132054b50acf883f63c7528287fab8a249cc721bb254a7/add-on-ucupaint-v2.4.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ucupaint/","maintainer":"ucupumar","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Access to filesystem for loading and saving images","network":"Access to the network to update contributors and sponsors list"},"tags":["Node","Material","Paint","Bake"]},{"id":"Industrial_AOV_Connector","schema_version":"1.0.0","name":"Industrial AOV Connector","version":"5.0.1","tagline":"Auto generate outputs for advanced compositing","archive_hash":"sha256:cdd4c86fa5a254dc79679c9d1d87fc6ddbf8dff4735a3b7e9b74e93949d9284b","archive_size":217234,"archive_url":"https://extensions.blender.org/download/sha256:cdd4c86fa5a254dc79679c9d1d87fc6ddbf8dff4735a3b7e9b74e93949d9284b/add-on-industrial-aov-connector-v5.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-aov-connector/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Delete Useless Default Renders button need this"},"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"hdr_rotation","schema_version":"1.0.0","name":"Hdr Rotation","version":"1.0.7","tagline":"Rotation HDR by Shift+Right Drag in 3D View","archive_hash":"sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68","archive_size":6585,"archive_url":"https://extensions.blender.org/download/sha256:d78bada4fd2f4eb6cab6b30872006264b900ca91631b6a7ddc9a07111053fc68/add-on-hdr-rotation-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/hdr-rotation/","maintainer":"ACGGIT_LJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Render"]},{"id":"Dark_Purple_Green","schema_version":"1.0.0","name":"DarkPurpleGreen","version":"1.0.1","tagline":"Dark minimal neon theme","archive_hash":"sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4","archive_size":5871,"archive_url":"https://extensions.blender.org/download/sha256:ca96f25e8529fc306169b9a85a8e62826401ebb4bd26bd4eb4ff5bbec813e9d4/theme-dark-purple-green-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/dark-purple-green/","maintainer":"MSBH","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"node_editor_switcher","schema_version":"1.0.0","name":"Node Editor Switcher","version":"1.1.0","tagline":"Pie menu, shortcuts and buttons to switch between node editors","archive_hash":"sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3","archive_size":2134,"archive_url":"https://extensions.blender.org/download/sha256:2b7228d52b2d984301f9437453eafd0854c0547e15902e231640f2c6877a48e3/add-on-node-editor-switcher-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-switcher/","maintainer":"Victor-09","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline","User Interface"]},{"id":"Adapta_Nokto","schema_version":"1.0.0","name":"Adapta Nokto","version":"1.1.3","tagline":"Adapta Nokto theme","archive_hash":"sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4","archive_size":5612,"archive_url":"https://extensions.blender.org/download/sha256:42c3ec72557e2cb64a04370064b50047bf36904d186c438a040d636e53c40fb4/theme-adapta-nokto-v1.1.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/adapta-nokto/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"browser_scroll_resize","schema_version":"1.0.0","name":"Browser Scroll Resize","version":"1.0.1","tagline":"Resize File Size Thumbnail on Browsers with Mouse Wheel","archive_hash":"sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da","archive_size":2729,"archive_url":"https://extensions.blender.org/download/sha256:ed662d549b82d1aa22020c683b0d92d65757d72f4001058d236893c7f632a5da/add-on-browser-scroll-resize-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/browser-scroll-resize/","maintainer":"Barrunterio","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"secret_paint","schema_version":"1.0.0","name":"Secret Paint","version":"1.7.31","tagline":"Select an object, select a surface, paint","archive_hash":"sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6","archive_size":1950644,"archive_url":"https://extensions.blender.org/download/sha256:7ce82e1a12de023b756912ea5542b01f4dcd05be5fdb85b5eefbe2f91c3279f6/add-on-secret-paint-v1.7.31.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/secret-paint/","maintainer":"orencloud","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export objects and biomes to external blend files","network":"Update from GitHub if installed as addon rather than extension"},"tags":["Modeling","Add Curve"]},{"id":"delete_line_shortcut","schema_version":"1.0.0","name":"Delete Line Shortcut","version":"1.2.2","tagline":"Shortcut to delete a line and copy its content","archive_hash":"sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab","archive_size":15764,"archive_url":"https://extensions.blender.org/download/sha256:e327da024c4d02910dc501b3c5a0445326654775e04750b9458fd7dc7153f7ab/add-on-delete-line-shortcut-v1.2.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/delete-line-shortcut/","maintainer":"matej.zeman02","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Add-on can read and write to the system clipboard."},"tags":["User Interface","Text Editor"]},{"id":"keyframe_visibility","schema_version":"1.0.0","name":"Keyframe Visibility","version":"1.0.2","tagline":"Batch keyframe visibility for objects","archive_hash":"sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84","archive_size":4295,"archive_url":"https://extensions.blender.org/download/sha256:d34a97ea3d6f6776991474da0e4794e6c124ec9a0262abfe4aeef65e35670f84/add-on-keyframe-visibility-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/keyframe-visibility/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","3D View"]},{"id":"midnight_blue_theme","schema_version":"1.0.0","name":"Midnight Blue","version":"1.0.1","tagline":"Blender blues after midnight","archive_hash":"sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928","archive_size":5982,"archive_url":"https://extensions.blender.org/download/sha256:8ab6dd7c85f7451cc8a7fe41dcb95b5a474a01f9a336a841e8f11e28555d9928/theme-midnight-blue-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/midnight-blue-theme/","maintainer":"cmzw","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"bulk_asset_tools","schema_version":"1.0.0","name":"Bulk Asset Tools","version":"1.7.3","tagline":"Manage your asset libraries with ease","archive_hash":"sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d","archive_size":10636,"archive_url":"https://extensions.blender.org/download/sha256:3f3141412450034efdc8f02cde18a99a3a4fe2b3116ca70a3a62d38da6e93e6d/add-on-bulk-asset-tools-v1.7.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bulk-asset-tools/","maintainer":"guitargeek","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"blender_path_maker","schema_version":"1.0.0","name":"Path Maker","version":"1.4.3","tagline":"Replaces custom tags in the Output Path","archive_hash":"sha256:fb8e4e516b905042e18e089a5a18854e58e7fae9e6e691c1012082c2d8568a5b","archive_size":4790,"archive_url":"https://extensions.blender.org/download/sha256:fb8e4e516b905042e18e089a5a18854e58e7fae9e6e691c1012082c2d8568a5b/add-on-blender-path-maker-v1.4.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-path-maker/","maintainer":"thornydre","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"SelectsAllIslandsUDIM","schema_version":"1.0.0","name":"Selects all UV islands on one UDIM","version":"1.2.0","tagline":"Highlighting UV-islands and faces of the corresponding UDIM","archive_hash":"sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f","archive_size":3781,"archive_url":"https://extensions.blender.org/download/sha256:3ead06399c6676eeb55ccd18d122a9d4fc7d1cba004290de7ddaaf9f8c5b930f/add-on-selectsallislandsudim-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selectsallislandsudim/","maintainer":"Ailex","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"lightpainter","schema_version":"1.0.0","name":"Light Painter","version":"1.5.6","tagline":"Do not place your lights, paint them","archive_hash":"sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a","archive_size":112051,"archive_url":"https://extensions.blender.org/download/sha256:961e640c2676b2285bc51c3ee08478eac669227ea8d48192667e1e9e0c19af3a/add-on-lightpainter-v1.5.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lightpainter/","maintainer":"SMagnusson","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting","Object"]},{"id":"ContextPie","schema_version":"1.0.0","name":"Context Pie","version":"0.9.21","tagline":"Context sensitive pie menu for a simple, fast workflow","archive_hash":"sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66","archive_size":126927,"archive_url":"https://extensions.blender.org/download/sha256:7b868774bb5484067b7aad9a0193b3f223147aafda29614709b0c03703e1cd66/add-on-contextpie-v0.9.21.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/contextpie/","maintainer":"BastianLS","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View","UV"]},{"id":"orient_and_origin_to_selected","schema_version":"1.0.0","name":"Orient and Origin to Selected","version":"1.2.0","tagline":"Quickly manipulate the object origin","archive_hash":"sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521","archive_size":42615,"archive_url":"https://extensions.blender.org/download/sha256:f2f35569453161aa07e2d9c3ae6fe618538c6af7f659f910bb7bdfb8a4fc3521/add-on-orient-and-origin-to-selected-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/orient-and-origin-to-selected/","maintainer":"Orange Turbine","license":["SPDX:GPL-2.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"screencast_keys","schema_version":"1.0.0","name":"Screencast Keys","version":"4.2.1","tagline":"Display keys pressed in Blender","archive_hash":"sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb","archive_size":38532,"archive_url":"https://extensions.blender.org/download/sha256:e0d19ac43b0d976955fcfb6b7f9c81917da7fb9c0830d0cbae808d4b7c1a07cb/add-on-screencast-keys-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/screencast-keys/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"tags":["System","User Interface"]},{"id":"Gold_Pro_Theme","schema_version":"1.0.0","name":"Gold Pro","version":"1.1.4","tagline":"Professional blender theme with Gold :)","archive_hash":"sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d","archive_size":5514,"archive_url":"https://extensions.blender.org/download/sha256:c74e7b313e8e3fc7abb1e1ef91af4a93dfcb61110e767cb9d720746798a64e5d/theme-gold-pro-theme-v1.1.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gold-pro-theme/","maintainer":"EmanuelFerro","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"lfs_camera_plane","schema_version":"1.0.0","name":"Camera Plane","version":"3.0.0","tagline":"Import images and stick them to the camera","archive_hash":"sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4","archive_size":17262,"archive_url":"https://extensions.blender.org/download/sha256:45c0ae27888061c5eb7a1035e2fa4ca6062e8612c941c8b369d66c83703814c4/add-on-lfs-camera-plane-v3.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/lfs-camera-plane/","maintainer":"Les Fées Spéciales","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk"},"tags":["3D View","Import-Export","Object","Camera"]},{"id":"Wireframe_Color_Tools","schema_version":"1.0.0","name":"Wireframe Color Tools","version":"1.0.0","tagline":"Change Object Colors based on different kinds of methods","archive_hash":"sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9","archive_size":3122,"archive_url":"https://extensions.blender.org/download/sha256:e1290c2cfb2b6ce2346f12679eed8f6cc2e522c90f40889e056e28f11f3832a9/add-on-wireframe-color-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/wireframe-color-tools/","maintainer":"Lumpengnom","license":["SPDX:GPL-2.0-or-later"],"tags":["3D View","Material","Object"]},{"id":"neutral_grey","schema_version":"1.0.0","name":"Neutral Grey","version":"2.0.3","tagline":"A neutral grey theme for Blender","archive_hash":"sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454","archive_size":5558,"archive_url":"https://extensions.blender.org/download/sha256:d8b3c0b0c41cb7cc9a7ab555f6f7d7722bfab1756c62f85924aeb51edbb76454/theme-neutral-grey-v2.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/neutral-grey/","maintainer":"scopelma","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Accessibility"]},{"id":"deep_dark_sea","schema_version":"1.0.0","name":"Deep Dark Sea","version":"3.0.0","tagline":"Darker than the default dark","archive_hash":"sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298","archive_size":6219,"archive_url":"https://extensions.blender.org/download/sha256:59391a10f0750d676911eb3daf9e717504355033e9851de584d430e30c1c5298/theme-deep-dark-sea-v3.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/deep-dark-sea/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","High Contrast"]},{"id":"border_buddy","schema_version":"1.0.0","name":"Border Buddy","version":"0.1.1","tagline":"Your buddy that helps to preserve borders","archive_hash":"sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4","archive_size":2579,"archive_url":"https://extensions.blender.org/download/sha256:1806735a0d626fabbda5d37bbb2ed03841da49abc956a18dddf9274875bffaf4/add-on-border-buddy-v0.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/border-buddy/","maintainer":"SimonThommes","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"bake_shape_keys","schema_version":"1.0.0","name":"Bake Shape Keys","version":"1.4.0","tagline":"Feature-set for shape keys and shape key animations","archive_hash":"sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd","archive_size":14241,"archive_url":"https://extensions.blender.org/download/sha256:883e86f28541be0cd3e0a59abdc8fd0ea531d10186181d38cdaca590d17ee0dd/add-on-bake-shape-keys-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bake-shape-keys/","maintainer":"nickberckley","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Mesh"]},{"id":"matalogue","schema_version":"1.0.0","name":"Matalogue","version":"1.5.0","tagline":"All your node trees in one list","archive_hash":"sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2","archive_size":13081,"archive_url":"https://extensions.blender.org/download/sha256:b309afb123a75f6c3aa022aff2149adf8145e677fbb064874afa07ae9a9507e2/add-on-matalogue-v1.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/matalogue/","maintainer":"GregZaal","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"b_guides","schema_version":"1.0.0","name":"B Guides","version":"1.0.1","tagline":"composition with guides and rulers for the VSE and 3D Viewport","archive_hash":"sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57","archive_size":24706,"archive_url":"https://extensions.blender.org/download/sha256:d6ca584e4e52414643f5da441ec87ccde6177e522a4bbce281f9861b67825f57/add-on-b-guides-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/b-guides/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","Sequencer"]},{"id":"preset_startup_manager","schema_version":"1.0.0","name":"Startup Preset Manager","version":"2.6.0","tagline":"Custom startup file creation / hot reloading","archive_hash":"sha256:22551601f818a2263c3b391dc9468f53daa6e3a6799b92f49b7d73bc7a556f60","archive_size":4330,"archive_url":"https://extensions.blender.org/download/sha256:22551601f818a2263c3b391dc9468f53daa6e3a6799b92f49b7d73bc7a556f60/add-on-preset-startup-manager-v2.6.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/preset-startup-manager/","maintainer":"Gruff-Wright","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline","Scene","System"]},{"id":"time_theme_switcher","schema_version":"1.0.0","name":"Time Theme Switcher","version":"1.0.0","tagline":"Switches between light and dark UI themes at scheduled times","archive_hash":"sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010","archive_size":18346,"archive_url":"https://extensions.blender.org/download/sha256:0f1d64ae1814f5b2110db105154b7c84343c39648f2196a6d7eeaee8bab95010/add-on-time-theme-switcher-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/time-theme-switcher/","maintainer":"CosmoMídias","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read existing themes from disk"},"tags":["User Interface"]},{"id":"k_tools_render_preset_manager","schema_version":"1.0.0","name":"K-Tools: Render Preset Manager","version":"1.2.1","tagline":"Save and Load Blender's Settings","archive_hash":"sha256:5ded792d8e7075d55defe9c5481510e00b96242eb9f4b17b81d60e717ead3dbb","archive_size":73123,"archive_url":"https://extensions.blender.org/download/sha256:5ded792d8e7075d55defe9c5481510e00b96242eb9f4b17b81d60e717ead3dbb/add-on-k-tools-render-preset-manager-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-render-preset-manager/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .JSON text files from/to disk"},"tags":["Render"]},{"id":"VAT","schema_version":"1.0.0","name":"Vertex Animation Texture Addon (VAT)","version":"1.0.1","tagline":"Tools for vertex animation textures in Blender","archive_hash":"sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065","archive_size":8592,"archive_url":"https://extensions.blender.org/download/sha256:5fb62160f6e6642150e74bc02421cd46c338a96d85e28e3e48f6baaad1bfb065/add-on-vat-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vat/","maintainer":"Flement","license":["SPDX:GPL-3.0-or-later"]},{"id":"extrude_along_path","schema_version":"1.0.0","name":"Extrude Along Path","version":"2.2.0","tagline":"Extrude or Rake profile geometry Along a defined Path","archive_hash":"sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283","archive_size":15621,"archive_url":"https://extensions.blender.org/download/sha256:5afb06c2fbffb81d72e4041aa2b56e04fc2ed0cd0fca7bbe12d57cd4abe73283/add-on-extrude-along-path-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/extrude-along-path/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"dimensions_and_lines","schema_version":"1.0.0","name":"Dimensions and Lines","version":"1.1.0","tagline":"create technical drawings, dimensions and lines","archive_hash":"sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30","archive_size":75526,"archive_url":"https://extensions.blender.org/download/sha256:b2d368e76a9a41d82b65766fcbc002042ff3383ad40d8e8619ae88bf20d64c30/add-on-dimensions-and-lines-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dimensions-and-lines/","maintainer":"jan.holinka","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","3D View","Mesh"]},{"id":"Utilities_Gadget","schema_version":"1.0.0","name":"Utilities Gadget","version":"1.1.5","tagline":"Batch rendering and model conversio","archive_hash":"sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc","archive_size":6095,"archive_url":"https://extensions.blender.org/download/sha256:9a56ba155f59e292d1769e1ac3cd3eb641cc9013ead197853fa398757be9d6bc/add-on-utilities-gadget-v1.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/utilities-gadget/","maintainer":"HurcaGuari","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"csv_importer","schema_version":"1.0.0","name":"CSV Importer","version":"0.1.9","tagline":"import csv data to meshes in Blender","archive_hash":"sha256:9eab59aa4aacae4e30031b02ba622a6555d2812a9a4502c837dd6c4937561b1b","archive_size":35011003,"archive_url":"https://extensions.blender.org/download/sha256:9eab59aa4aacae4e30031b02ba622a6555d2812a9a4502c837dd6c4937561b1b/add-on-csv-importer-v0.1.9-windows-x64.zip","type":"add-on","blender_version_min":"4.2.5","website":"https://extensions.blender.org/add-ons/csv-importer/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Geometry Nodes","Import-Export"]},{"id":"NLATools","schema_version":"1.0.0","name":"Merge NLA Strips","version":"1.0.0","tagline":"Combine selected NLA strips into one","archive_hash":"sha256:aa67a4a1405ae1cf25f072471b851320e5ac3e6be61b2f28a0774625cf8d6c06","archive_size":2255,"archive_url":"https://extensions.blender.org/download/sha256:aa67a4a1405ae1cf25f072471b851320e5ac3e6be61b2f28a0774625cf8d6c06/add-on-nlatools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nlatools/","maintainer":"Likkez","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake"]},{"id":"Frigus_Nox","schema_version":"1.0.0","name":"Frigus Nox","version":"1.0.7","tagline":"Frigus Nox theme","archive_hash":"sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06","archive_size":5535,"archive_url":"https://extensions.blender.org/download/sha256:57e8180d1a47b04f1f476f24260a680d8636bd7f59ff722d805196f911981a06/theme-frigus-nox-v1.0.7.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/frigus-nox/","maintainer":"Cyrill-Vitkovskiy","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"Auto_Sort_Collections","schema_version":"1.0.0","name":"Auto Sort Collections","version":"1.0.2","tagline":"Automatic organisation of collections","archive_hash":"sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079","archive_size":9665,"archive_url":"https://extensions.blender.org/download/sha256:c21b2a4bdb1d839d061c311adafc14ed795aab37dc9a35b32d555e1c651d6079/add-on-auto-sort-collections-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-sort-collections/","maintainer":"Shuimeng","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene"]},{"id":"Custom_Grid_Scales","schema_version":"1.0.0","name":"Custom Grid Scales","version":"1.1.0","tagline":"Adds the ability to quickly change between custom grid scales","archive_hash":"sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01","archive_size":2631,"archive_url":"https://extensions.blender.org/download/sha256:05fa8215b7ed9ded0cca86164f49e09d5cc393e92f80dba4cc6c5c6358588b01/add-on-custom-grid-scales-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.1","website":"https://extensions.blender.org/add-ons/custom-grid-scales/","maintainer":"Jacob-Beatty","license":["SPDX:GPL-3.0-or-later"]},{"id":"Cake_Particles","schema_version":"1.0.0","name":"Cake_Particles","version":"5.0.0","tagline":"Bake particles simulation into keyframed animations","archive_hash":"sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f","archive_size":9459,"archive_url":"https://extensions.blender.org/download/sha256:f1c2e3f5f97bfa3432cc2fb85af35ca6cb05e4ecd7d6dd619522cc36aa80b42f/add-on-cake-particles-v5.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cake-particles/","maintainer":"scaryplasmon","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Bake","Physics","Object"]},{"id":"Quick_Character_Selector","schema_version":"1.0.0","name":"Quick Character Selector","version":"1.1.0","tagline":"Seleccion rapida de armatures","archive_hash":"sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:b1eee352e175dbb52f8c6298a00f15f0d28d1b396f341529a61b73654120fbad/add-on-quick-character-selector-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quick-character-selector/","maintainer":"MatiasMartin","license":["SPDX:GPL-2.0-or-later"],"tags":["Object","Animation"]},{"id":"k_tools_visibility_check","schema_version":"1.0.0","name":"Visibility Check","version":"2.5.2","tagline":"Check for mismatched objects in viewport and render view","archive_hash":"sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913","archive_size":6511,"archive_url":"https://extensions.blender.org/download/sha256:c3af61e03cbe782d82b521d4b2d9eef50c98d6c25ffcb8984f8c8f439fc07913/add-on-k-tools-visibility-check-v2.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-visibility-check/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Render"]},{"id":"boltfactory","schema_version":"1.0.0","name":"BoltFactory","version":"0.7.1","tagline":"Add a bolt or nut","archive_hash":"sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3","archive_size":35319,"archive_url":"https://extensions.blender.org/download/sha256:b75f6f946b5c29f7a2122737da891917cd9c862e85b37daef82c662a348223b3/add-on-boltfactory-v0.7.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/boltfactory/","maintainer":"Bolt Factory","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"open_linked","schema_version":"1.0.0","name":"Open Linked","version":"1.0.1","tagline":"Open linked blends from the Outliner","archive_hash":"sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3","archive_size":40897,"archive_url":"https://extensions.blender.org/download/sha256:699f9ce0e8f8cac5fa94fbfa0b7991a3d0511da33dfa84f83d0be7754ecb70c3/add-on-open-linked-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/open-linked/","maintainer":"polygoniq","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["User Interface"]},{"id":"Three_d_Cursor_Snap","schema_version":"1.0.0","name":"Three d Cursor Snap","version":"1.2.0","tagline":"Move 3d cursor like gizmo to snap vertex, edge and face","archive_hash":"sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55","archive_size":3579,"archive_url":"https://extensions.blender.org/download/sha256:5b7031eb3fdc8b85bb272c2483239741932434b3fe6403fc0eedaa2a64e9ef55/add-on-three-d-cursor-snap-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/three-d-cursor-snap/","maintainer":"deepak756","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Modeling","Mesh"]},{"id":"gzm_mod","schema_version":"1.0.0","name":"GZM 3D model format","version":"1.0.2","tagline":"Import-export 3D models for the GZM game","archive_hash":"sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2","archive_size":288070,"archive_url":"https://extensions.blender.org/download/sha256:5c8b9f0d1399f14884730667bd229871cee201d71e21c825aa0286e0ec1b21a2/add-on-gzm-mod-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gzm-mod/","maintainer":"777-tanks","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"blur_hdri","schema_version":"1.0.0","name":"Blur HDRI","version":"0.0.6","tagline":"Blur HDRI Images by creating a new node with a Gaussian Blur","archive_hash":"sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7","archive_size":23644138,"archive_url":"https://extensions.blender.org/download/sha256:d893a7111221c64c88360aa678326f0ee64fdbbb71fb7e7d98ae20be34edb6d7/add-on-blur-hdri-v0.0.6-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/blur-hdri/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Material","Lighting"]},{"id":"data_scale","schema_version":"1.0.0","name":"ID Tools","version":"1.2.0","tagline":"Assortment of tools for the manipulation of data-blocks","archive_hash":"sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646","archive_size":22974,"archive_url":"https://extensions.blender.org/download/sha256:6aee14fa7c34487d34a4822ffacc829876382eccf7a8ae6382f84cdc9a61e646/add-on-data-scale-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/data-scale/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Temporarily create .blend files to weigh them"},"tags":["Import-Export"]},{"id":"dynamic_render_border","schema_version":"1.0.0","name":"Dynamic Render Border","version":"1.0.1","tagline":"Addon to create dynamic render borders for animations","archive_hash":"sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986","archive_size":7352,"archive_url":"https://extensions.blender.org/download/sha256:b7ad62a75bfeb6066efe981c1afaec3a7e048d134903c2f50e0aea695b184986/add-on-dynamic-render-border-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-render-border/","maintainer":"tobiaskummer","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","Animation"]},{"id":"set_vertex_distance","schema_version":"1.0.0","name":"Set Vertex Distance","version":"1.0.0","tagline":"Set distance between two vertices along a specific axis","archive_hash":"sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f","archive_size":2537,"archive_url":"https://extensions.blender.org/download/sha256:7fce4c84550565f5013da5d3e9345826e6782a8e71c3a79309db28936a3b321f/add-on-set-vertex-distance-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/set-vertex-distance/","maintainer":"alicoskun","license":["SPDX:GPL-3.0-or-later"]},{"id":"vectart_import","schema_version":"1.0.0","name":"Vectart Import","version":"1.0.4","tagline":"Import and preview vector files with layer management","archive_hash":"sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1","archive_size":19068,"archive_url":"https://extensions.blender.org/download/sha256:a0f709c6d57a880254aad49f8a9c7ca8de03c922b8a1983f0f477cfb0adb5cf1/add-on-vectart-import-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-import/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to read and import SVG files from the disk"},"tags":["Modeling","Object"]},{"id":"shapeFitter","schema_version":"1.0.0","name":"Shape Fitter","version":"1.3.0","tagline":"Fit primitive shapes to verticies","archive_hash":"sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee","archive_size":10012,"archive_url":"https://extensions.blender.org/download/sha256:c99bad96a5f3278319ab9ea0e6a30c727a88ec34392034650c8b58f42d311aee/add-on-shapefitter-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shapefitter/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh","Object"]},{"id":"trimmer","schema_version":"1.0.0","name":"Trimmer","version":"0.3.0","tagline":"Simplified texturing workflow for trim-sheets","archive_hash":"sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5","archive_size":12275,"archive_url":"https://extensions.blender.org/download/sha256:fd310ab53bf5e974d603924e68067671b23084859b99f2d6d52e878efb3ddff5/add-on-trimmer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trimmer/","maintainer":"LaXHeXLuX","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"camera_viewer","schema_version":"1.0.0","name":"Camera Viewer","version":"1.1.4","tagline":"You can preview the camera view directly in the 3D viewport","archive_hash":"sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79","archive_size":11337,"archive_url":"https://extensions.blender.org/download/sha256:9545f50ff8d23fb6a1a6c1b1b0bc3e47f64be484d731091e81b7619a2b56fe79/add-on-camera-viewer-v1.1.4.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/camera-viewer/","maintainer":"KENKEN","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface"]},{"id":"polyzamboni","schema_version":"1.0.0","name":"PolyZamboni","version":"1.2.1","tagline":"Papercraft in Blender","archive_hash":"sha256:605c1083603191fa138a10b793f212c04ac2647e54abb3e6a2e14f6b12acfc46","archive_size":14290191,"archive_url":"https://extensions.blender.org/download/sha256:605c1083603191fa138a10b793f212c04ac2647e54abb3e6a2e14f6b12acfc46/add-on-polyzamboni-v1.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/polyzamboni/","maintainer":"Anton-Florey","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export PDF/SVG to disk"},"platforms":["windows-x64"],"tags":["3D View","Import-Export"]},{"id":"meshstats","schema_version":"1.0.0","name":"Meshstats","version":"1.3.2","tagline":"Mesh statistics","archive_hash":"sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421","archive_size":55105,"archive_url":"https://extensions.blender.org/download/sha256:54bbc62131198db4c4c7f3f74276ef835cf8719d3ea57598e8dfac3758652421/add-on-meshstats-v1.3.2.zip","type":"add-on","blender_version_min":"4.2.2","website":"https://extensions.blender.org/add-ons/meshstats/","maintainer":"muhuk","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"requin_blue_theme","schema_version":"1.0.0","name":"Requin Blue","version":"1.2.0","tagline":"This is a Blender theme with a major blue color","archive_hash":"sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42","archive_size":6733,"archive_url":"https://extensions.blender.org/download/sha256:f9719297e08b25c93ad28a52aaed35103e3484588373d059096c87514dd7fa42/theme-requin-blue-theme-v1.2.0.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"6.0.0","website":"https://extensions.blender.org/themes/requin-blue-theme/","maintainer":"MozzarellaARC","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"auto_dark_mode","schema_version":"1.0.0","name":"Auto Dark Mode","version":"3.0.0","tagline":"Automatically follow the system light/dark mode","archive_hash":"sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b","archive_size":11993,"archive_url":"https://extensions.blender.org/download/sha256:a1e8a5f58f1bbeed52f5afcb6ed5b36c45f1e3642419becf8f6472967963260b/add-on-auto-dark-mode-v3.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-dark-mode/","maintainer":"dprice","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read installed themes"},"tags":["System","User Interface"]},{"id":"ikea_browser","schema_version":"1.0.0","name":"IKEA Browser","version":"0.4.0","tagline":"Search and import models from ikea.com","archive_hash":"sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2","archive_size":7016,"archive_url":"https://extensions.blender.org/download/sha256:b8b619c55c58ab93222c40e46633d3dc1fc3e2ca2ebf26128572164e04ae27b2/add-on-ikea-browser-v0.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ikea-browser/","maintainer":"Shish","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Store downloaded models","network":"Download from ikea.com"},"tags":["Import-Export"]},{"id":"convert_rotation_mode","schema_version":"1.0.0","name":"Convert Rotation Mode","version":"1.5.1","tagline":"Change rotation mode whilst preserving animation","archive_hash":"sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec","archive_size":23134,"archive_url":"https://extensions.blender.org/download/sha256:63ecb6db33c6cd21d98609286cfb3a780571cff3e5e8c6acb536cdb783fc3aec/add-on-convert-rotation-mode-v1.5.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/convert-rotation-mode/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Copy and paste bone transforms"},"tags":["Animation","3D View","Bake"]},{"id":"momo","schema_version":"1.0.0","name":"Momo Light","version":"5.0.4","tagline":"Momo Light - theme inspired by Modo","archive_hash":"sha256:24e982d4ff4c4541b3867664e3cb3821268232e8f01089dd9c177b12677ebca1","archive_size":6491,"archive_url":"https://extensions.blender.org/download/sha256:24e982d4ff4c4541b3867664e3cb3821268232e8f01089dd9c177b12677ebca1/theme-momo-v5.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By"]},{"id":"save_with_versioning","schema_version":"1.0.0","name":"Save with Versioning","version":"2.1.0","tagline":"Save incremental and use published files for asset linking","archive_hash":"sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff","archive_size":20710,"archive_url":"https://extensions.blender.org/download/sha256:7481617c63e770530f3e37d0d3519eaca1b3cd7589e21ddedc4f26912f50b6ff/add-on-save-with-versioning-v2.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/save-with-versioning/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save .blend files"},"tags":["Pipeline"]},{"id":"incremental_auto_save","schema_version":"1.0.0","name":"Incremental Auto-Save","version":"1.1.0","tagline":"Improvements to Blender's Autosave","archive_hash":"sha256:0ca3d0bf9958dd860864e2faf4ebc14ad3271eb1eb8b68d1361e934d4e5432d1","archive_size":73140,"archive_url":"https://extensions.blender.org/download/sha256:0ca3d0bf9958dd860864e2faf4ebc14ad3271eb1eb8b68d1361e934d4e5432d1/add-on-incremental-auto-save-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/incremental-auto-save/","maintainer":"Mets","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save preferences & .blends in chosen directories"},"tags":["System"]},{"id":"is_key_free","schema_version":"1.0.0","name":"Is key Free","version":"1.1.3","tagline":"Find free shortcuts, inform about used and print a key list","archive_hash":"sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a","archive_size":5471,"archive_url":"https://extensions.blender.org/download/sha256:68b702bfc895175d2b3dad64880e2249e97b8f461510bf20e9ab6951fcc67d3a/add-on-is-key-free-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/is-key-free/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"node_presets","schema_version":"1.0.0","name":"Node Presets","version":"1.1.0","tagline":"Add node groups directly to the node editors","archive_hash":"sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04","archive_size":2398,"archive_url":"https://extensions.blender.org/download/sha256:0b875c6c78c02bf6ab79cf82310a587cfc8dfe790aec158102a35dd22f1c8c04/add-on-node-presets-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-presets/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Node"]},{"id":"archimesh","schema_version":"1.0.0","name":"Archimesh","version":"1.2.5","tagline":"Generate rooms, doors, windows, and other architecture objects","archive_hash":"sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87","archive_size":323488,"archive_url":"https://extensions.blender.org/download/sha256:44745a86dd472e296e06cd45c511e002a1105512a73009cb0018c87611d18d87/add-on-archimesh-v1.2.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/archimesh/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"scatter_objects","schema_version":"1.0.0","name":"Scatter Objects","version":"0.2.0","tagline":"Distribute object instances on another object","archive_hash":"sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b","archive_size":6876,"archive_url":"https://extensions.blender.org/download/sha256:3fda488f56523b799e3937c802119f1da986391e193cb4d443177e6e132c764b/add-on-scatter-objects-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scatter-objects/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Object"]},{"id":"node_group_utilities","schema_version":"1.0.0","name":"Node Group Utilities","version":"2.1.1","tagline":"Extra options and functions for node groups","archive_hash":"sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5","archive_size":67952,"archive_url":"https://extensions.blender.org/download/sha256:00fcf7000ecc7fc01b96293030269439cc6ef72809f5be80f806b7cb18afa4a5/add-on-node-group-utilities-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-group-utilities/","maintainer":"Baraa-Khaled-Youssef","license":["SPDX:GPL-2.0-or-later"],"tags":["Node","Material"]},{"id":"flatterer","schema_version":"1.0.0","name":"Flatterer","version":"1.6.0","tagline":"Flat mesh to SVG exporter for laser cutters","archive_hash":"sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559","archive_size":383844,"archive_url":"https://extensions.blender.org/download/sha256:61241ed38f522af0152439c07d8654caf30a67e45f6b5298e8797061460a2559/add-on-flatterer-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/flatterer/","maintainer":"dr.sybren","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export SVG files to disk"},"tags":["Import-Export"]},{"id":"bombsquad_tools","schema_version":"1.0.0","name":"BombSquad Tools","version":"3.0.12","tagline":"Tools for creating BombSquad game assets","archive_hash":"sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00","archive_size":39147,"archive_url":"https://extensions.blender.org/download/sha256:0c5f2f5b01dd02165f9cb72b00f570636d75d62cbeed706bf10f90b4eff5cd00/add-on-bombsquad-tools-v3.0.12.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bombsquad-tools/","maintainer":"aryan02420","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export .bob, .cob, and .json files"},"tags":["Import-Export","Scene"]},{"id":"vertex_group_assistant","schema_version":"1.0.0","name":"Vertex Group Assistant","version":"1.0.2","tagline":"Simplifies clothing rigging for avatars","archive_hash":"sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c","archive_size":3846,"archive_url":"https://extensions.blender.org/download/sha256:a566528f6aad3e2971e874bad0c48e4094102f23ccb5ae92790b7803055d102c/add-on-vertex-group-assistant-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-assistant/","maintainer":"Maro3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"blender_Run_Scripts_From_Folder","schema_version":"1.0.0","name":"Run Scripts From Folder","version":"0.0.7","tagline":"Execute script from Script Directiories","archive_hash":"sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47","archive_size":2464,"archive_url":"https://extensions.blender.org/download/sha256:cb458bdebbfcdb64b6a2262ca9fa83f7b23e062f39e305e6b95cc5b81d84cb47/add-on-blender-run-scripts-from-folder-v0.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-run-scripts-from-folder/","maintainer":"Alexander-Bicukow","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read .py files from disk"},"tags":["System"]},{"id":"bdvd_SharpBlade","schema_version":"1.0.0","name":"Sharp Blade","version":"5.2.0","tagline":"Easy on the eyes, deep in the blue. Create freely","archive_hash":"sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24","archive_size":5892,"archive_url":"https://extensions.blender.org/download/sha256:b2b2199a00b52df8ad291b2625da12c478524e19c480cddc8ba04bbc46362e24/theme-bdvd-sharpblade-v5.2.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/bdvd-sharpblade/","maintainer":"bdvd","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"dynamic_brush_menus","schema_version":"1.0.0","name":"Dynamic Brush Menus","version":"1.1.10","tagline":"Fast access to brushes & tools in Sculpt and Paint Modes","archive_hash":"sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400","archive_size":15222,"archive_url":"https://extensions.blender.org/download/sha256:ee971938173591236df0a08db5ebced525052b70fd0f69dbeae64598622fb400/add-on-dynamic-brush-menus-v1.1.10.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-brush-menus/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["User Interface"]},{"id":"image_sequence_to_mp4_video_converter","schema_version":"1.0.0","name":"Image Sequence to MP4 Video Converter","version":"1.0.3","tagline":"Convert image sequences to MP4 with custom resolution","archive_hash":"sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d","archive_size":8152,"archive_url":"https://extensions.blender.org/download/sha256:463d624dba76193ecf576cea46f8ea024372178e917036d0252b15fc7154f08d/add-on-image-sequence-to-mp4-video-converter-v1.0.3.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/image-sequence-to-mp4-video-converter/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"vertex_group_hierarchy_sorter","schema_version":"1.0.0","name":"Vertex Group Hierarchy Sorter","version":"1.0.2","tagline":"List vertex groups in armature hierarchy order","archive_hash":"sha256:bdd4f10275db44b1ee61f24c5d94581c6e49524d23e7dfcc9a8d3d1e44231c72","archive_size":3434,"archive_url":"https://extensions.blender.org/download/sha256:bdd4f10275db44b1ee61f24c5d94581c6e49524d23e7dfcc9a8d3d1e44231c72/add-on-vertex-group-hierarchy-sorter-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vertex-group-hierarchy-sorter/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"batch_camera_render","schema_version":"1.0.0","name":"Batch Render Cameras","version":"1.8.1","tagline":"Render animations from multiple selected cameras","archive_hash":"sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036","archive_size":3228,"archive_url":"https://extensions.blender.org/download/sha256:434b02361608b8094de3835047e64168b9cea4cb20fac1183bbb67f2cd243036/add-on-batch-camera-render-v1.8.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-camera-render/","maintainer":"Mahdi.Shalchian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create output folders for rendered frames"},"tags":["Render","Camera"]},{"id":"expLODe","schema_version":"1.0.0","name":"expLODe","version":"1.0.2","tagline":"LOD automation script using Python and Blender","archive_hash":"sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74","archive_size":22275,"archive_url":"https://extensions.blender.org/download/sha256:e22b3e3e5986a89f0dc6febba53631b2e527fe759efe5745d3968f2053323c74/add-on-explode-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/explode/","maintainer":"Rainma22","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk"},"tags":["Import-Export"]},{"id":"anim_offset_pro","schema_version":"1.0.0","name":"Anim Offset Pro","version":"1.3.0","tagline":"Offset poses across animation keyframes","archive_hash":"sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd","archive_size":5091,"archive_url":"https://extensions.blender.org/download/sha256:dd1d412f81e9e875bfb4c58d445cd64f904953febf61f05417ca0cf86d7c0ecd/add-on-anim-offset-pro-v1.3.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/anim-offset-pro/","maintainer":"Drika111.","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"VSE_SRT_Subtitle_Importer_4_2_extension","schema_version":"1.0.0","name":"SRT Subtitle Importer/Exporter","version":"2.0.0","tagline":"Import/Export SRT subtitle files to/from VSE strips","archive_hash":"sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64","archive_size":7448,"archive_url":"https://extensions.blender.org/download/sha256:53f5b2f01d444edd210bcee5b14b751807cd855e1f8a4a83423e49c9c6e0fe64/add-on-vse-srt-subtitle-importer-4-2-extension-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/vse-srt-subtitle-importer-4-2-extension/","maintainer":"PoYakong","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer"]},{"id":"armature_deform_with_linked_groups","schema_version":"1.0.0","name":"Armature Deform with Linked Groups","version":"1.0.0","tagline":"Create an armature deformation using linked vertices","archive_hash":"sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2","archive_size":4824,"archive_url":"https://extensions.blender.org/download/sha256:1047c0266831c6a13fad2563b7e4e173338e13905b92be26f9ac48666eabc4b2/add-on-armature-deform-with-linked-groups-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/armature-deform-with-linked-groups/","maintainer":"Suchaaver","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Mesh"]},{"id":"eevee_projectors","schema_version":"1.0.0","name":"Eevee Projectors","version":"1.1.1","tagline":"Fake Projector lights in Eeve","archive_hash":"sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e","archive_size":285870,"archive_url":"https://extensions.blender.org/download/sha256:f43016da2aba44eeb36dbcadee9116495c46721e33580af67fa487ae7305749e/add-on-eevee-projectors-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/eevee-projectors/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Lighting","Object"]},{"id":"Arma3ObjectBuilder","schema_version":"1.0.0","name":"Arma 3 Object Builder","version":"2.5.1","tagline":"Comprehensive add-on for modding Arma 3","archive_hash":"sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009","archive_size":270830,"archive_url":"https://extensions.blender.org/download/sha256:9bf51396006c9788afc8072b9d57bb832057cad18022c6bc426211b420396009/add-on-arma3objectbuilder-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/arma3objectbuilder/","maintainer":"MrClock","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export operations on supported file formats"},"tags":["Import-Export","Game Engine","Object"]},{"id":"align_tools","schema_version":"1.0.0","name":"Align Tools","version":"0.3.6","tagline":"Align Selected Objects to Active Object","archive_hash":"sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de","archive_size":6743,"archive_url":"https://extensions.blender.org/download/sha256:741ca75b391bda65d2dc22160b4f594b7d4ed9a8772dd055535b7c2c7eb9b9de/add-on-align-tools-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/align-tools/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"gp_to_curves","schema_version":"1.0.0","name":"Grease Pencil to Curves","version":"0.4.5","tagline":"Quickly convert Grease Pencil strokes to simple curves and hair","archive_hash":"sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5","archive_size":6977,"archive_url":"https://extensions.blender.org/download/sha256:42d5a745d6c1f48a82610aa686c21ad41e2036bd9f8edd6c71dd0742034f6ad5/add-on-gp-to-curves-v0.4.5.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/gp-to-curves/","maintainer":"DadsCastle","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil","Add Curve","Modeling"]},{"id":"RigFlex","schema_version":"1.0.0","name":"RigFlex Simple Soft Body Simulation for Armatures","version":"4.2.1","tagline":"Simple Soft Body Simulation for Armatures","archive_hash":"sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064","archive_size":8750,"archive_url":"https://extensions.blender.org/download/sha256:c225c679634d5872fa6f6baf1e0bf513ececa90e8243cd30747fc825e743b064/add-on-rigflex-v4.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rigflex/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation","Physics","Rigging"]},{"id":"visibility_handler","schema_version":"1.0.0","name":"Visibility handler","version":"1.1.3","tagline":"Copy visibility from viewport to render settings or vice versa","archive_hash":"sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c","archive_size":8680,"archive_url":"https://extensions.blender.org/download/sha256:44a76b38bbb79f925e0354bc1609856c500f0b1d084a14488516558f2c26219c/add-on-visibility-handler-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/visibility-handler/","maintainer":"DanielBystedt","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"FavoriteObjects","schema_version":"1.0.0","name":"Favorite Objects","version":"1.0.5","tagline":"Mark your favorite objects and select them from the Viewport","archive_hash":"sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6","archive_size":5933,"archive_url":"https://extensions.blender.org/download/sha256:88b3d6b72968ba21a2771608335635237bd9bb56338423aab049bd0a9e6e01c6/add-on-favoriteobjects-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/favoriteobjects/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"property_chart","schema_version":"1.0.0","name":"Property Chart","version":"0.1.2","tagline":"Edit properties simultaneously for selected objects/sequencer","archive_hash":"sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed","archive_size":2959,"archive_url":"https://extensions.blender.org/download/sha256:9239bce660c04eb8a3a4bd5f5bca5f3291fb6ad13cee1cf2cca2386f00cda9ed/add-on-property-chart-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/property-chart/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"Connecter","schema_version":"1.0.0","name":"Connecter","version":"0.6.20","tagline":"Streamlined Asset Management: Import & Export with Connecter DAM","archive_hash":"sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310","archive_size":392369,"archive_url":"https://extensions.blender.org/download/sha256:4aac3920620b8a259d6736a7f48668d44dd1a23fb8de2df3be0c51de2b799310/add-on-connecter-v0.6.20-windows-x64-windows-arm64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/connecter/","maintainer":"DesignConnected","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export blend files from/to disk"},"platforms":["windows-x64","windows-arm64"],"tags":["Import-Export"]},{"id":"render_multiple_instances","schema_version":"1.0.0","name":"Render Multiple Instances","version":"3.2.1","tagline":"Render animations and Flipbooks faster with multiple instances","archive_hash":"sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc","archive_size":8380,"archive_url":"https://extensions.blender.org/download/sha256:d4d4a14874541dcbf6cccf740ee21a142e9ae8a5b46bab532ba3822a0cc0c2dc/add-on-render-multiple-instances-v3.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-multiple-instances/","maintainer":"DShot92","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and read exports images"},"tags":["Render","Pipeline"]},{"id":"turnaround_camera","schema_version":"1.0.0","name":"Turnaround Camera","version":"0.3.0","tagline":"Add a camera rotation around selected object","archive_hash":"sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa","archive_size":3237,"archive_url":"https://extensions.blender.org/download/sha256:e9bfadd7d4d9e7dcfde9d0effa1815f9170561a81b63bee549b066c31aa48efa/add-on-turnaround-camera-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turnaround-camera/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"carver","schema_version":"1.0.0","name":"Carver","version":"1.2.3","tagline":"Multiple tools to carve or to create objects","archive_hash":"sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b","archive_size":29032,"archive_url":"https://extensions.blender.org/download/sha256:4c0b7c0c2906e09ee96fd2d5bb0d36f0be439a41f6f222ae48f38c317262ac3b/add-on-carver-v1.2.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/carver/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"texops","schema_version":"1.0.0","name":"TexOps","version":"1.0.0","tagline":"Texture Conversion, Generation, and Manipulation Operations","archive_hash":"sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9","archive_size":94059,"archive_url":"https://extensions.blender.org/download/sha256:4cfbd79aabfde50762d0d555d7a795eec480b59333309062828345550d85abc9/add-on-texops-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/texops/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint","Bake","Import-Export","User Interface"]},{"id":"LightNCreamy","schema_version":"1.0.0","name":"Light N Creamy","version":"1.0.0","tagline":"Modern light and creamy theme","archive_hash":"sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7","archive_size":3828,"archive_url":"https://extensions.blender.org/download/sha256:928d02674d7730a994fef538991896f42a3581c8ffe7d8cb5dfa60a1023a61f7/theme-lightncreamy-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/lightncreamy/","maintainer":"nova3D","license":["SPDX:GPL-2.0-or-later"],"tags":["Light"]},{"id":"theme_elsyiun_like","schema_version":"1.0.0","name":"elsyiun like","version":"1.1.0","tagline":"A flat dark theme that is easy on the eyes","archive_hash":"sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1","archive_size":5639,"archive_url":"https://extensions.blender.org/download/sha256:698be24bb24b0957bd8ac858be0d019e4626c7ede5f06adc3de376a5f84d77d1/theme-theme-elsyiun-like-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-elsyiun-like/","maintainer":"modekichi","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"only_blends_mixer","schema_version":"1.0.0","name":"OnlyBlends.Mixer","version":"0.1.2","tagline":"An extension to turn Blender into a Mixer... of Sounds","archive_hash":"sha256:9fe6a5ae856a4b0bf2058782f1575a2755ce5adcafd3cf0cf6e922fd397431fd","archive_size":53903,"archive_url":"https://extensions.blender.org/download/sha256:9fe6a5ae856a4b0bf2058782f1575a2755ce5adcafd3cf0cf6e922fd397431fd/add-on-only-blends-mixer-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-mixer/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Pipeline"]},{"id":"viewport_navigation_display","schema_version":"1.0.0","name":"Viewport Navigation Display","version":"1.0.0","tagline":"Visualize and control other viewports from TOP view","archive_hash":"sha256:71b16955b7f8e02771266087a8d6742b7fcebb02b54c3a7c9cd1f14e5bef6eee","archive_size":45449,"archive_url":"https://extensions.blender.org/download/sha256:71b16955b7f8e02771266087a8d6742b7fcebb02b54c3a7c9cd1f14e5bef6eee/add-on-viewport-navigation-display-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-navigation-display/","maintainer":"Cristiano-Tosoni","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Camera","User Interface"]},{"id":"viewport_fps","schema_version":"1.0.0","name":"Viewport FPS","version":"1.0.2","tagline":"Displays frames per second in current 3D viewport","archive_hash":"sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f","archive_size":3040,"archive_url":"https://extensions.blender.org/download/sha256:842eed9027d319486dd87aa88e48af6ca0a1c3077b9639ddd5f66e0b050f269f/add-on-viewport-fps-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/viewport-fps/","maintainer":"Pazelock","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","User Interface","System"]},{"id":"asset_shelf_shortcut_display","schema_version":"1.0.0","name":"Asset Shelf Shortcut Display","version":"1.0.0","tagline":"Adds a line with hotkey/shortcut of the asset in the shelf","archive_hash":"sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad","archive_size":2816,"archive_url":"https://extensions.blender.org/download/sha256:8eeb7d53d48732f8fe36fcb22dd4685718d47021f0fec383a35f1f3360a571ad/add-on-asset-shelf-shortcut-display-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.1","website":"https://extensions.blender.org/add-ons/asset-shelf-shortcut-display/","maintainer":"The-Loose-Spirit","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"dy_pack_master","schema_version":"1.0.0","name":"dy Pack Master","version":"1.0.1","tagline":"Make Blender projects portable for render farms","archive_hash":"sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f","archive_size":34845,"archive_url":"https://extensions.blender.org/download/sha256:5e8694b0e3747a1ee4878161bb239392d2eeb7f97da21e3dd0cef0774137724f/add-on-dy-pack-master-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dy-pack-master/","maintainer":"cdordelly","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Copies and localizes external assets to project directory"},"tags":["Pipeline","Import-Export","System"]},{"id":"cycles_bake_info","schema_version":"1.0.0","name":"Bake Info","version":"1.0.2","tagline":"fast bake checkup","archive_hash":"sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5","archive_size":1581,"archive_url":"https://extensions.blender.org/download/sha256:ac46bdb997c1f31bb513c45af62890576fcf93a8f6e4e4d115bc9298d3d914c5/add-on-cycles-bake-info-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cycles-bake-info/","maintainer":"Chalouek-RGBit","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"Areas_by_Materials","schema_version":"1.0.0","name":"Areas by Materials","version":"1.6.0","tagline":"Displays information about areas of materials in selection","archive_hash":"sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9","archive_size":3609,"archive_url":"https://extensions.blender.org/download/sha256:55b3fb12411af2e76d28b97b666ec38f77cbad30ccc4d2830b075ec1224aa6c9/add-on-areas-by-materials-v1.6.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/areas-by-materials/","maintainer":"Justinas-Dudenas","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","User Interface"]},{"id":"smart_box_select","schema_version":"1.0.0","name":"Smart Box Select","version":"1.0.2","tagline":"Box/Lasso select with object activation","archive_hash":"sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa","archive_size":3800,"archive_url":"https://extensions.blender.org/download/sha256:3256c8631f9fd181e54271f3779eccfa601f014ce7b69154bb283584049172aa/add-on-smart-box-select-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-box-select/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"splashsurf_studio","schema_version":"1.0.0","name":"Splashsurf Studio","version":"1.0.1","tagline":"Surface reconstruction for particle-based fluid simulations","archive_hash":"sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c","archive_size":2732095,"archive_url":"https://extensions.blender.org/download/sha256:86779180fe173ea75d43d3ff7cd72633b36444ed56b7412f5131f20f22696d9c/add-on-splashsurf-studio-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/splashsurf-studio/","maintainer":"Fabian-Löschner","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Add Mesh","Mesh","Object"]},{"id":"quill","schema_version":"1.0.0","name":"Quill Import/Export","version":"1.3.1","tagline":"Import and export Quill VR illustrations and animations","archive_hash":"sha256:b89f7f48dc9b2117dc1205c83022379e0a989f886e7d05e81539c2f0d4b66a2c","archive_size":42471,"archive_url":"https://extensions.blender.org/download/sha256:b89f7f48dc9b2117dc1205c83022379e0a989f886e7d05e81539c2f0d4b66a2c/add-on-quill-v1.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/quill/","maintainer":"Joan-Charmant","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export Quill projects from/to disk"},"tags":["Import-Export"]},{"id":"global_copy_nodes","schema_version":"1.0.0","name":"Global Copy Nodes","version":"1.0.5","tagline":"Copy nodes across .blend projects","archive_hash":"sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e","archive_size":21986,"archive_url":"https://extensions.blender.org/download/sha256:64e8888b98b672b768e5a278c44a50912e2ed228472202306bfcf6fc37c7915e/add-on-global-copy-nodes-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/global-copy-nodes/","maintainer":"hisanimations","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires reading & writing node copy buffer to disk"},"tags":["System","Node"]},{"id":"splats","schema_version":"1.0.0","name":"Splats","version":"1.0.1","tagline":"Generate multi-view training data for Gaussian Splatting","archive_hash":"sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2","archive_size":15856,"archive_url":"https://extensions.blender.org/download/sha256:9171a58e9149ed9fe05a0bfc1c702a20e9055b51a36600664bc8ec19675229f2/add-on-splats-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/splats/","maintainer":"Dev.Patel","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export PLY point clouds and render output files"},"tags":["Render","Camera"]},{"id":"overscan_addon","schema_version":"1.0.0","name":"Overscan Addon","version":"1.0.1","tagline":"Adds Overscan to your renders","archive_hash":"sha256:d119348424c5cccb648d12526be487f257377db9e329a4e509043dcc59cae0fc","archive_size":6306,"archive_url":"https://extensions.blender.org/download/sha256:d119348424c5cccb648d12526be487f257377db9e329a4e509043dcc59cae0fc/add-on-overscan-addon-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/overscan-addon/","maintainer":"eknath-kambagiri","license":["SPDX:GPL-3.0-or-later"],"tags":["Render"]},{"id":"gizmo_resizer","schema_version":"1.0.0","name":"Gizmo Resizer","version":"2.3.0","tagline":"Resize viewport Gizmo with Numpad keys","archive_hash":"sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe","archive_size":15888,"archive_url":"https://extensions.blender.org/download/sha256:cbbda09ab73548d968c137beea34fe7bcf34d60ba1f2da6d1fda5f592c2faafe/add-on-gizmo-resizer-v2.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gizmo-resizer/","maintainer":"corentin","license":["SPDX:GPL-3.0-or-later"]},{"id":"Mask_To_Vertex_Color_Pro","schema_version":"1.0.0","name":"MaskToVertexColorPro","version":"2.0.4","tagline":"Mask To VertexColor Pro Tools","archive_hash":"sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a","archive_size":30127,"archive_url":"https://extensions.blender.org/download/sha256:79eec742a3c6c6d91028f556dec034e26613e44bf3f612dc7ef3579a3a23460a/add-on-mask-to-vertex-color-pro-v2.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mask-to-vertex-color-pro/","maintainer":"MoLei_VFX","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images are required as masks"},"tags":["Paint","Material"]},{"id":"export_curve_as_svg","schema_version":"1.0.0","name":"Export Curve as SVG","version":"1.0.0","tagline":"Export selected Bezier and Poly curves as SVG files","archive_hash":"sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990","archive_size":16937,"archive_url":"https://extensions.blender.org/download/sha256:1ab1dd210d80ff5c6d6fc5fc3b2bb481e571c28e736be2a028a5568ad2d6d990/add-on-export-curve-as-svg-v1.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/export-curve-as-svg/","maintainer":"Gilberto.R","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export"]},{"id":"asset_library_tools","schema_version":"1.0.0","name":"Asset Library Tools","version":"1.0.0","tagline":"Filter assets by tags and catalogue backups for asset libraries","archive_hash":"sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37","archive_size":15607,"archive_url":"https://extensions.blender.org/download/sha256:b4984647ddd947e4d1cecf108759494135e2c2c4f6049d0125e89634163cdc37/add-on-asset-library-tools-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-library-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write tag indexes and catalogue backup files"},"tags":["System","User Interface","Pipeline"]},{"id":"redlix_theme","schema_version":"1.0.0","name":"Redlix Theme","version":"1.0.0","tagline":"Cooperative brutalist framework - retro-futuristic design system","archive_hash":"sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8","archive_size":4968,"archive_url":"https://extensions.blender.org/download/sha256:532550a1d2fda385ae83d56b42e3ac32e2cb3a5134ed92e488515515ef562ec8/theme-redlix-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/redlix-theme/","maintainer":"redlix","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"ftw_flattening_toolset","schema_version":"1.0.0","name":"FTW Flattening Toolset","version":"2.0.0","tagline":"UV workflow: flattening, curve alignment, scaling, UV transfer","archive_hash":"sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a","archive_size":1176759,"archive_url":"https://extensions.blender.org/download/sha256:65ae1e56ade1c60e2b996a508114b1444d51a333a52f2022f79715b62e57838a/add-on-ftw-flattening-toolset-v2.0.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/ftw-flattening-toolset/","maintainer":"FTW3DForge","license":["SPDX:GPL-3.0-or-later"]},{"id":"folded_paper_engine","schema_version":"1.0.0","name":"Folded Paper Engine","version":"1.0.6","tagline":"Define gameplay in Blender and play in Godot with a few clicks","archive_hash":"sha256:036c41c8dc4cd88fde3f2259d17e8d2d84b5a396b869bc48ce0fa95a70d324b0","archive_size":13799,"archive_url":"https://extensions.blender.org/download/sha256:036c41c8dc4cd88fde3f2259d17e8d2d84b5a396b869bc48ce0fa95a70d324b0/add-on-folded-paper-engine-v1.0.6.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/folded-paper-engine/","maintainer":"Papercraft-Games","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"tags":["Import-Export","Game Engine","Pipeline"]},{"id":"gather_resources","schema_version":"1.0.0","name":"Gather Resources","version":"0.5.2","tagline":"Collect project media into a local folder","archive_hash":"sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3","archive_size":10373,"archive_url":"https://extensions.blender.org/download/sha256:455025f49d9ca76e33425cdceb6e30cbe7e1a2cfbb5b0537725c30e2d8257db3/add-on-gather-resources-v0.5.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/gather-resources/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read project media files and copy them into a local directory"},"tags":["System","Pipeline"]},{"id":"rendercue","schema_version":"1.0.0","name":"RenderCue","version":"1.1.3","tagline":"Sequence. Queue. Render","archive_hash":"sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b","archive_size":52378,"archive_url":"https://extensions.blender.org/download/sha256:97fbabec32217c2438adda789ab6ef8a5beac6b90ac06fae3def010b47d2ba2b/add-on-rendercue-v1.1.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rendercue/","maintainer":"UsamaSQ","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save renders to user-defined directories","network":"Send render notifications via Webhooks"},"tags":["Render","Pipeline"]},{"id":"character_pipeline_tracker","schema_version":"1.0.0","name":"Character Pipeline Tracker","version":"1.0.0","tagline":"Track and automate character creation pipeline stages","archive_hash":"sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010","archive_size":27555,"archive_url":"https://extensions.blender.org/download/sha256:4e8acd00d33375fbfb878d7293f79e438e4a61e866619e509a5044ebfee79010/add-on-character-pipeline-tracker-v1.0.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/character-pipeline-tracker/","maintainer":"Evgeny-Lisichik","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"spine_io","schema_version":"1.0.0","name":"Spine IO","version":"0.0.3","tagline":"Export bone-driven Spine 4.3 JSON files","archive_hash":"sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e","archive_size":29815,"archive_url":"https://extensions.blender.org/download/sha256:502a89baf7a6ff0517c018ea7b76dff9f65432437b3b8ba46a525c671344278e/add-on-spine-io-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/spine-io/","maintainer":"Digital-Art-Freedom","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read textures and write Spine JSON"},"tags":["Import-Export","Rigging","Animation"]},{"id":"cam_tools","schema_version":"1.0.0","name":"Cam Tools","version":"1.0.1","tagline":"Streamlined camera workflow toolkit","archive_hash":"sha256:6e616bb918b72a956f58fdcd1c75b073de375200f0d55f596423b09771ecadc4","archive_size":11445,"archive_url":"https://extensions.blender.org/download/sha256:6e616bb918b72a956f58fdcd1c75b073de375200f0d55f596423b09771ecadc4/add-on-cam-tools-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cam-tools/","maintainer":"Akhil_Alukkaran","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"io_scene_owm","schema_version":"1.0.0","name":"OWM Import","version":"3.3.0","tagline":"Import files from the Overwatch extraction tools (DataTool)","archive_hash":"sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44","archive_size":279606,"archive_url":"https://extensions.blender.org/download/sha256:13c5cbe0fe6110056e3a09fa38ff3cf7d3b7b684367b6b96b43cf20f4be6fe44/add-on-io-scene-owm-v3.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-owm/","maintainer":"overtools","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing files from disk"},"tags":["Import-Export"]},{"id":"camfree","schema_version":"1.0.0","name":"CamFree","version":"1.0.5","tagline":"Fly/Walk Navigation on Cameras with Constraints","archive_hash":"sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344","archive_size":2409,"archive_url":"https://extensions.blender.org/download/sha256:e5cdbf82af653ffcdd8c2cf598c5f965e47d3b69c86965fa9b085c68e4a43344/add-on-camfree-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camfree/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"windows_xp_theme","schema_version":"1.0.0","name":"Windows XP","version":"1.0.0","tagline":"A light theme directly inspired by Windows XP","archive_hash":"sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a","archive_size":6634,"archive_url":"https://extensions.blender.org/download/sha256:01bda1ede377cffc8e1adbd87b2b9a46d0e641d8e6f7edc5e95181ec345a3e7a/theme-windows-xp-theme-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/windows-xp-theme/","maintainer":"Alkalide","license":["SPDX:GPL-3.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"mintLavender","schema_version":"1.0.0","name":"Mint Lavender Chill","version":"1.0.3","tagline":"A Mint lavender theme for Blender with Lo-fi aesthetics","archive_hash":"sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5","archive_size":5321,"archive_url":"https://extensions.blender.org/download/sha256:ef19c6ebaa1e1aaaeb81956ecbe44bc70fcaaaa86c33df6f72f0a3e1954970e5/theme-mintlavender-v1.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/mintlavender/","maintainer":"mamane-kabirou","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"multirow","schema_version":"1.0.0","name":"Multirow","version":"1.0.1","tagline":"Text strips with line break","archive_hash":"sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1","archive_size":4445,"archive_url":"https://extensions.blender.org/download/sha256:c619e40e99055c804c1033d48d851f0415b75ad22a03b1a1922c8c93159317f1/add-on-multirow-v1.0.1.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/multirow/","maintainer":"flakmoppen","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","Text Editor","User Interface"]},{"id":"sort_viewlayers_rmb","schema_version":"1.0.0","name":"RMB Sort View Layers Alphabetically in Outliner-Scenes","version":"0.0.2","tagline":"RMB Sort View Layers Alphabetically in Outliner-Scenes","archive_hash":"sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0","archive_size":2908,"archive_url":"https://extensions.blender.org/download/sha256:c42858f387228d7ec906bb1a5f8705345fc8cad07a4ba7399ab28ac6431034e0/add-on-sort-viewlayers-rmb-v0.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sort-viewlayers-rmb/","maintainer":"RobWu","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"voda_theme_cinnamon","schema_version":"1.0.0","name":"Cinnamon","version":"1.0.0","tagline":"Cinnamon-Orange themed Blender with a gradiented kick","archive_hash":"sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d","archive_size":6549,"archive_url":"https://extensions.blender.org/download/sha256:80b2cbc3df6cecb28490a19375f5c7a07552e0989edbaa66ffd1bf7c0a8f817d/theme-voda-theme-cinnamon-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/voda-theme-cinnamon/","maintainer":"VaVo","license":["SPDX:CC0-1.0"]},{"id":"Studio_Dark","schema_version":"1.0.0","name":"Studio Dark","version":"1.1.8","tagline":"Comfortable contrast, blue accent, white select, green active","archive_hash":"sha256:ca85d2611a14530a8df4bf019e72841ab79df6624b381a79656d3496933875b7","archive_size":5340,"archive_url":"https://extensions.blender.org/download/sha256:ca85d2611a14530a8df4bf019e72841ab79df6624b381a79656d3496933875b7/theme-studio-dark-v1.1.8.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/studio-dark/","maintainer":"Brunoosti","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"khellstr_light","schema_version":"1.0.0","name":"khellstr light theme","version":"1.0.0","tagline":"Balanced Light Theme for Blender","archive_hash":"sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d","archive_size":6493,"archive_url":"https://extensions.blender.org/download/sha256:817c6c7b8803549b6a2fece4d17f27a340435060de45406a7513e8c942e11e6d/theme-khellstr-light-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/khellstr-light/","maintainer":"Kimmo-Hellström","license":["SPDX:GPL-3.0-or-later"]},{"id":"Black","schema_version":"1.0.0","name":"Black","version":"5.0.3","tagline":"A black theme, probably the blackest one","archive_hash":"sha256:4ed8f78c3d5d43be8aa1e76c236553719f5ca69d915983140fdbf522b8880292","archive_size":5127,"archive_url":"https://extensions.blender.org/download/sha256:4ed8f78c3d5d43be8aa1e76c236553719f5ca69d915983140fdbf522b8880292/theme-black-v5.0.3.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/black/","maintainer":"Gurra","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"asset_optimizer","schema_version":"1.0.0","name":"Game Asset Optimizer","version":"1.0.2","tagline":"Optimize 3D models for Unity and Unreal Engine workflows","archive_hash":"sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b","archive_size":19580,"archive_url":"https://extensions.blender.org/download/sha256:909b4c1e85e93f5c4aefbdd519d14e05a6435dbd5361301373c84c64c3f7fc2b/add-on-asset-optimizer-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/asset-optimizer/","maintainer":"Sudip-Soni","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export optimized assets for Unity and Unreal Engine"},"tags":["Modeling","Mesh","Pipeline"]},{"id":"root_maker","schema_version":"1.0.0","name":"RootMaker","version":"1.0.1","tagline":"Create root bone & bake into actions","archive_hash":"sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3","archive_size":6592,"archive_url":"https://extensions.blender.org/download/sha256:f8e66008152054ac78b47b34971c07a9bfd32ca9e9760e9ac831028a00a85cb3/add-on-root-maker-v1.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/root-maker/","maintainer":"manas-R.-Makde","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Rigging","Bake"]},{"id":"k_tools_texture_map_loader","schema_version":"1.0.0","name":"K-Tools: Texture Map Loader","version":"1.0.9","tagline":" An easy way to load Texture Sets in your Shader Material","archive_hash":"sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495","archive_size":787239,"archive_url":"https://extensions.blender.org/download/sha256:62e0fc38604cdc93959225380e2f70070adfe16da37b8c32fb2089f89a881495/add-on-k-tools-texture-map-loader-v1.0.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/k-tools-texture-map-loader/","maintainer":"Robert-Kezives","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load Node Groups from disk"},"tags":["Material"]},{"id":"turntable_camera","schema_version":"1.0.0","name":"Turntable Camera","version":"0.1.1","tagline":"Camera Turntable Setup","archive_hash":"sha256:043461468d921c1b89637341efe67cbe58b20439cdb4d8e0c0429c4aba9d3f4b","archive_size":17289,"archive_url":"https://extensions.blender.org/download/sha256:043461468d921c1b89637341efe67cbe58b20439cdb4d8e0c0429c4aba9d3f4b/add-on-turntable-camera-v0.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/turntable-camera/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera"]},{"id":"MetahumanToManny","schema_version":"1.0.0","name":"MetaHumanToManny","version":"1.2.0","tagline":"Clean up MetaHuman meshes and match them to UE5 Manny","archive_hash":"sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685","archive_size":21164,"archive_url":"https://extensions.blender.org/download/sha256:9eb54b9b250930f984e4a919a2aa20d6b684470a8ab20e8ab4453da6266d4685/add-on-metahumantomanny-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/metahumantomanny/","maintainer":"hakan-erunsal","license":["SPDX:GPL-3.0-or-later"]},{"id":"cad_helper","schema_version":"1.0.0","name":"CAD-Helper","version":"0.6.1","tagline":"Blender Extension to manage imported CAD assemblies","archive_hash":"sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6","archive_size":34745,"archive_url":"https://extensions.blender.org/download/sha256:804afafdbf62291c0d075c6662d7161631eb329f3f7078382df3b1af3980bee6/add-on-cad-helper-v0.6.1-windows-x64-macos-arm64-linux-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/cad-helper/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64","macos-arm64","linux-x64"],"tags":["Object"]},{"id":"anim_reviewer","schema_version":"1.0.0","name":"Anim Reviewer","version":"1.0.0","tagline":"Enhance blender playblast capabilities for animation review","archive_hash":"sha256:6b4f7b38b528dc781dfa6d565b00e034dfff73df7f510ca15850a3e09f19721a","archive_size":1334127,"archive_url":"https://extensions.blender.org/download/sha256:6b4f7b38b528dc781dfa6d565b00e034dfff73df7f510ca15850a3e09f19721a/add-on-anim-reviewer-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/anim-reviewer/","maintainer":"FhyTan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save playblast videos in specified output folder"},"tags":["3D View","Animation","Camera","Pipeline"]},{"id":"momo_dark","schema_version":"1.0.0","name":"Momo Dark","version":"5.0.2","tagline":"Momo Dark - theme inspired by Modo","archive_hash":"sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36","archive_size":6454,"archive_url":"https://extensions.blender.org/download/sha256:00dc1ddf0046e027e30a6143f3664013b7ca51d810da3220cc210d8bd6a39b36/theme-momo-dark-v5.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/momo-dark/","maintainer":"TimoShch","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Inspired By"]},{"id":"theme_GoldExperience","schema_version":"1.0.0","name":"Gold Experience","version":"1.0.1","tagline":"A theme if you really like yellow","archive_hash":"sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb","archive_size":5811,"archive_url":"https://extensions.blender.org/download/sha256:db35f8251ffa5d13b313a05f3032c11a991e2a1dfc786b8765db7351d2e54cdb/theme-theme-goldexperience-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-goldexperience/","maintainer":"lonku","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Colorful","Inspired By"]},{"id":"catppucin4blender","schema_version":"1.0.0","name":"Catppuccin Theme","version":"5.1.5","tagline":"Catppuccin for Blender","archive_hash":"sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875","archive_size":7103,"archive_url":"https://extensions.blender.org/download/sha256:07cfa54f72bd154b178e98d4dd49a722de9f35fe2c1104aa214c61116226a875/theme-catppucin4blender-v5.1.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/catppucin4blender/","maintainer":"Albert-Bici","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark","Colorful"]},{"id":"face_angle_analyzer","schema_version":"1.0.0","name":"Face Angle Analyzer","version":"8.9.4","tagline":"Measure and visualize face angles against global axes","archive_hash":"sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0","archive_size":6292,"archive_url":"https://extensions.blender.org/download/sha256:1baab0b6e6ccf88eae5596845af184a14c4fdaac57d192e1be37163aea553bb0/add-on-face-angle-analyzer-v8.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/face-angle-analyzer/","maintainer":"Astralis","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"rss_theme_cyberpunk","schema_version":"1.0.0","name":"RedSavStudios: Cyberpunk","version":"0.5.5","tagline":"A dark blue cyberpunk-inspired theme with neon highlights","archive_hash":"sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c","archive_size":5501,"archive_url":"https://extensions.blender.org/download/sha256:9fc403b95ae68202e260f4cd7dba2359ad4e50ace0e4fcab020edacb5366435c/theme-rss-theme-cyberpunk-v0.5.5.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-cyberpunk/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"rss_theme_nord","schema_version":"1.0.0","name":"RedSavStudios: Nord (Aurora)","version":"0.5.2","tagline":"Nord Theme With Aurora Accents","archive_hash":"sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50","archive_size":5196,"archive_url":"https://extensions.blender.org/download/sha256:0e8c6afd497618aef1fa42511aff6cfab32311c162b4f8f0d9291f59523cfd50/theme-rss-theme-nord-v0.5.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/rss-theme-nord/","maintainer":"Reddraconi","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"randomize_noise_offset","schema_version":"1.0.0","name":"Randomize Noise Offset","version":"1.0.3","tagline":"Randomize Noise Offset for F-Curves","archive_hash":"sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9","archive_size":2500,"archive_url":"https://extensions.blender.org/download/sha256:538013b0bbec8281cf30abafee96389d0ad3664b48b733d9b3784b674e63a6e9/add-on-randomize-noise-offset-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/randomize-noise-offset/","maintainer":"a.a.andrusenko","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"mirror_image","schema_version":"1.0.0","name":"Mirror Image","version":"1.0.0","tagline":"Applies mirroring to the active image","archive_hash":"sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46","archive_size":2540,"archive_url":"https://extensions.blender.org/download/sha256:12acdb21a3cd9f1e05202ae384499c80949d8ed3d352cd8a0ddfe70dcac21f46/add-on-mirror-image-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mirror-image/","maintainer":"R4V3N","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"toggle_orbit_method","schema_version":"1.0.0","name":"Toggle Orbit Method (Turntable / Trackball)","version":"1.0.0","tagline":"Quickly toggles between Turntable and Trackball orbit modes","archive_hash":"sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4","archive_size":1369,"archive_url":"https://extensions.blender.org/download/sha256:c22d1bfd2e9bb48344aae7cb61efa209a06174146e3f1b6436a638b3064019c4/add-on-toggle-orbit-method-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/toggle-orbit-method/","maintainer":"ArgelliKa","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View"]},{"id":"blender_vnf_exporter_extension","schema_version":"1.0.0","name":"VNF Export Extension","version":"1.0.0","tagline":"Export blender mesh to openscad vnf","archive_hash":"sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e","archive_size":14400,"archive_url":"https://extensions.blender.org/download/sha256:a5520b1cd82ed825022faadc413ba1db1dd8c9b8d16fafb7c198583ccbe6c23e/add-on-blender-vnf-exporter-extension-v1.0.0-windows-x64-linux-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-vnf-exporter-extension/","maintainer":"runerback","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .scad to disk"},"platforms":["windows-x64","linux-x64"],"tags":["Import-Export"]},{"id":"vray_arena_setup","schema_version":"1.0.0","name":"Vray Arena Setup","version":"2.5.0","tagline":"Export VRay Cosmos assets, scene textures, and stage cube setup","archive_hash":"sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f","archive_size":6050,"archive_url":"https://extensions.blender.org/download/sha256:608feab71c8d9f0726372656513c23c24ebad88707929a9f3c89d85a64d6185f/add-on-vray-arena-setup-v2.5.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/vray-arena-setup/","maintainer":"Darsh","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read and write project and resources directories"},"tags":["Import-Export","Material"]},{"id":"Minimal","schema_version":"1.0.0","name":"Minimal","version":"1.0.0","tagline":"Dark minimal theme","archive_hash":"sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb","archive_size":5620,"archive_url":"https://extensions.blender.org/download/sha256:5cfd4ece8439e754c284703a3b92e967094ac3c05e5a145738e911139b4238fb/theme-minimal-v1.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/minimal/","maintainer":"A7medKhaled.me","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"auto_track_weights","schema_version":"1.0.0","name":"Auto Track Weights","version":"0.2.1","tagline":"Automatically adjust the weights of tracking markers","archive_hash":"sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be","archive_size":2415,"archive_url":"https://extensions.blender.org/download/sha256:90e5cf8f11558a00e14a383e30cda0fd9ca1d40bc76e514f8f42b7be3c67c6be/add-on-auto-track-weights-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/auto-track-weights/","maintainer":"david494","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking"]},{"id":"batch_bone_constraints","schema_version":"1.0.0","name":"Batch Bone Constraints","version":"1.1.4","tagline":"Batch bone constraints to the selected multiple armatures","archive_hash":"sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee","archive_size":6589,"archive_url":"https://extensions.blender.org/download/sha256:a73d426532da74e03772365f62a32e85637622da7cfe4fb77f469923e13604ee/add-on-batch-bone-constraints-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-bone-constraints/","maintainer":"distinctive-mark","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation"]},{"id":"beautiful_dream","schema_version":"1.0.0","name":"Beautiful Dream","version":"1.0.4","tagline":"This is a variant of Whispering Ripples","archive_hash":"sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96","archive_size":5810,"archive_url":"https://extensions.blender.org/download/sha256:b031691f25fe0d394c43a6837bdaaa91868986486dd863d5ea7ddfd178f4fa96/theme-beautiful-dream-v1.0.4.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/beautiful-dream/","maintainer":"KBS-DEV","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"theme_BlueInvasion","schema_version":"1.0.0","name":"Blue Invasion","version":"1.0.2","tagline":"A theme inspired by Winamp's blue invasion theme","archive_hash":"sha256:4bbe2e8153301a35e23263079c88712f11d85fa879205338d08394d51fae0ab0","archive_size":6057,"archive_url":"https://extensions.blender.org/download/sha256:4bbe2e8153301a35e23263079c88712f11d85fa879205338d08394d51fae0ab0/theme-theme-blueinvasion-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-blueinvasion/","maintainer":"zaq","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful","Inspired By"]},{"id":"trident","schema_version":"1.0.0","name":"TRIDENT","version":"0.2.1","tagline":"3D UMAP/t-SNE embeddings into Blender","archive_hash":"sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a","archive_size":128117,"archive_url":"https://extensions.blender.org/download/sha256:85c8367127d76c0c21514615439d0b4fdfdb08e3034f146ad890f6cf4d29c66a/add-on-trident-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/trident/","maintainer":"ccordi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write data files and build outputs"},"platforms":["windows-x64"],"tags":["3D View","Object"]},{"id":"FrameFlowBlender","schema_version":"1.0.0","name":"Frame Flow Beta","version":"1.4.1","tagline":"Advanced Node Frame Add-on for Blender","archive_hash":"sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f","archive_size":922364,"archive_url":"https://extensions.blender.org/download/sha256:24848e275ae2a587be4a8048afbc32f1b67e46ef0aba693ca65a34de20bc495f/add-on-frameflowblender-v1.4.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/frameflowblender/","maintainer":"abhi.01","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","Text Editor"]},{"id":"pataz_thumbnail_toolz","schema_version":"1.0.0","name":"Pataz Thumbnail Toolz","version":"1.0.0","tagline":"Tools for managing asset thumbnails","archive_hash":"sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac","archive_size":2763,"archive_url":"https://extensions.blender.org/download/sha256:ef3ba866311125fd57ed6598dea3be8acc70608f3d95ff817d4c8444012774ac/add-on-pataz-thumbnail-toolz-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pataz-thumbnail-toolz/","maintainer":"zanqdo","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and load files from disk"},"tags":["Pipeline"]},{"id":"io_scene_jsbsim","schema_version":"1.0.0","name":"JSBSim Viewer","version":"0.2.1","tagline":"Import and visualize JSBSim FDM aircraft XML metrics","archive_hash":"sha256:e5996c53df295804c601548bd9a977f22e0cd931e47b5316ca5959d427cdf142","archive_size":6732,"archive_url":"https://extensions.blender.org/download/sha256:e5996c53df295804c601548bd9a977f22e0cd931e47b5316ca5959d427cdf142/add-on-io-scene-jsbsim-v0.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-jsbsim/","maintainer":"RenanMsV","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Scene","3D View"]},{"id":"import_meshed_alpha","schema_version":"1.0.0","name":"Import Meshed Alpha","version":"1.0.1","tagline":"Transparency to Geometry","archive_hash":"sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e","archive_size":927961,"archive_url":"https://extensions.blender.org/download/sha256:777275e529c6545bc23c8ee7dd76386752bbc293c1f8b2ba6addb5741475893e/add-on-import-meshed-alpha-v1.0.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-meshed-alpha/","maintainer":"The_Missing_Field","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Image import"},"platforms":["windows-x64"],"tags":["Mesh","Material"]},{"id":"multi_adjust","schema_version":"1.0.0","name":"Multi Adjust","version":"1.0.1","tagline":"Edits properties of multiple things together","archive_hash":"sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed","archive_size":9515,"archive_url":"https://extensions.blender.org/download/sha256:b5717e7f3f3e02a8b55acea1caaa10c0aef618f992f9dc109510c1ee2de4abed/add-on-multi-adjust-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/multi-adjust/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"replace_with_copy","schema_version":"1.0.0","name":"Replace With Copy","version":"1.0.1","tagline":"Batch replace multiple objects with a template","archive_hash":"sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf","archive_size":4116,"archive_url":"https://extensions.blender.org/download/sha256:b1827d0b0ae7e87cce0f4e4ecf4ce8e861d14dc183d5bb387226167ef66fbabf/add-on-replace-with-copy-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/replace-with-copy/","maintainer":"Brrainz","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"sierpinski_triangle","schema_version":"1.0.0","name":"Sierpinski Triangle","version":"1.0.4","tagline":"This add-on creates Sierpinski triangles","archive_hash":"sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05","archive_size":4106,"archive_url":"https://extensions.blender.org/download/sha256:4f6badeb029f38d3680bec40b1a7a61aafd7b35487849a09875c844bd7e01b05/add-on-sierpinski-triangle-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sierpinski-triangle/","maintainer":"Jonny-B","license":["SPDX:GPL-3.0-or-later"]},{"id":"light_generator","schema_version":"1.0.0","name":"Light Generator","version":"1.2.0","tagline":"Generate lights with advanced distribution","archive_hash":"sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05","archive_size":5837,"archive_url":"https://extensions.blender.org/download/sha256:1b687666b01727e8e8c91ab7a06f03c641cd840d002bcb59714e73d8ba877a05/add-on-light-generator-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/light-generator/","maintainer":"TFMSTYLE","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Lighting"]},{"id":"nfc_card_keychain_generator","schema_version":"1.0.0","name":"NFC Card and Keychain Generator","version":"1.1.8","tagline":"Generate customizable 3D-printable cards, tags, and keychains","archive_hash":"sha256:e9c95c1f2f509f0416f5454482a9f4efa025be43b359ee9f8ff22e276aaa0682","archive_size":506845,"archive_url":"https://extensions.blender.org/download/sha256:e9c95c1f2f509f0416f5454482a9f4efa025be43b359ee9f8ff22e276aaa0682/add-on-nfc-card-keychain-generator-v1.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nfc-card-keychain-generator/","maintainer":"Clonephaze","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Object"]},{"id":"Physical_Motion_Blur","schema_version":"1.0.0","name":"Physical Motion Blur","version":"1.1.0","tagline":"Adds intuitive shutter speed and angle controls for motion blur","archive_hash":"sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438","archive_size":2605,"archive_url":"https://extensions.blender.org/download/sha256:b74e16e526349842371e5b688e7f95e4fbaf60284d413c025c30de5989a51438/add-on-physical-motion-blur-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/physical-motion-blur/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Render","Animation"]},{"id":"geo_bake_batch","schema_version":"1.0.0","name":"Geo Bake Batch","version":"0.0.1","tagline":"Batch tools for Geometry Nodes baking","archive_hash":"sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39","archive_size":2570,"archive_url":"https://extensions.blender.org/download/sha256:5390dc3576d9fefecd1d048d62041e10f3534e29de64d8ede8c19c63db18bf39/add-on-geo-bake-batch-v0.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geo-bake-batch/","maintainer":"Artyom-Pankratov","license":["SPDX:GPL-3.0-or-later"]},{"id":"restart","schema_version":"1.0.0","name":"Restart","version":"1.0.2","tagline":"Restart Blender","archive_hash":"sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c","archive_size":2824,"archive_url":"https://extensions.blender.org/download/sha256:35f410b9964af45d4c5becb8048e29e417a485bc371d26e23700ccd5fbba409c/add-on-restart-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/restart/","maintainer":"JR3DFUL","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"camera_sensor_database","schema_version":"1.0.0","name":"Camera Sensor Database","version":"1.0.1","tagline":"Provides a database of camera sensors to choose from in Blender","archive_hash":"sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9","archive_size":18406,"archive_url":"https://extensions.blender.org/download/sha256:32004b0e9484005e64f5679b470706fc1fb051ee083e7636860edcd2c1d8acd9/add-on-camera-sensor-database-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/camera-sensor-database/","maintainer":"Manuel-Houben","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"To save the sensor database locally","network":"To download the latest sensor database"},"tags":["Camera"]},{"id":"AddShaderAttribute","schema_version":"1.0.0","name":"Add Shader Attribute","version":"0.3.0","tagline":"Add attribute directly in shader nodetree","archive_hash":"sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707","archive_size":2591,"archive_url":"https://extensions.blender.org/download/sha256:94c6c429e385ec1bdd70aab48b4664b72ab7e4af3336b4acc96be2d3f4d02707/add-on-addshaderattribute-v0.3.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/addshaderattribute/","maintainer":"atticuslv","license":["SPDX:GPL-3.0-or-later"],"tags":["Material","Node"]},{"id":"all_objects_into_assets","schema_version":"1.0.0","name":"All Objects into Assets","version":"1.0.4","tagline":"Create collection assets and catalogs automatically","archive_hash":"sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7","archive_size":9361,"archive_url":"https://extensions.blender.org/download/sha256:10d9d4dfc45855e34afbec1e7fc88d8576ab201701abf0d4c5876eac65dd52a7/add-on-all-objects-into-assets-v1.0.4.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/all-objects-into-assets/","maintainer":"StellArc","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read/write asset library catalogs file"}},{"id":"goldsrc_model_helper","schema_version":"1.0.0","name":"GS Model Helper","version":"2.2.0","tagline":"A set of tools for working with Goldsource models in Blender","archive_hash":"sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df","archive_size":7626,"archive_url":"https://extensions.blender.org/download/sha256:074531c7e337f1e88d36dfdec5ad2f698b8d18aa7e916008120c6105846b98df/add-on-goldsrc-model-helper-v2.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/goldsrc-model-helper/","maintainer":"DaKashi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to rename and clean up materials/textures"}},{"id":"node_editor_pro","schema_version":"1.0.0","name":"Node Editor Pro","version":"0.5.0","tagline":"Organize nodes with auto-layout, snap and cleanup","archive_hash":"sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c","archive_size":4809,"archive_url":"https://extensions.blender.org/download/sha256:ba6cd0cbb08dcfa05a99680f6c27a29ba090bf795bb057589372e3d9b08c3f7c/add-on-node-editor-pro-v0.5.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/node-editor-pro/","maintainer":"the_visual_geek","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface"]},{"id":"pjavel_theme","schema_version":"1.0.0","name":"Pjavel Theme","version":"1.1.1","tagline":"Green accent theme","archive_hash":"sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece","archive_size":18590,"archive_url":"https://extensions.blender.org/download/sha256:fdf0758c6866b75772d71ecbcc99e54c07a1460bf22aeda1a3666ec95507bece/theme-pjavel-theme-v1.1.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/pjavel-theme/","maintainer":"Zexyp","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"text_editor_for_development","schema_version":"1.0.0","name":"Text editor for Development","version":"1.0.6","tagline":"Text editor enhancements for add-on development","archive_hash":"sha256:d5a9dff6156ce13b3d6cc25302c4ecae2be48f373c4caec0dcccf8adf77d5e5e","archive_size":49169,"archive_url":"https://extensions.blender.org/download/sha256:d5a9dff6156ce13b3d6cc25302c4ecae2be48f373c4caec0dcccf8adf77d5e5e/add-on-text-editor-for-development-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/text-editor-for-development/","maintainer":"Martin-Lorentzon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Specify folder to preview for file-browsing/editing","network":"Clone remote Git repositories for add-on templates"},"tags":["Text Editor","Development"]},{"id":"bfds","schema_version":"1.0.0","name":"BFDS fire simulations","version":"7.0.0","tagline":"Create and manage NIST FDS fire simulations","archive_hash":"sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6","archive_size":370951,"archive_url":"https://extensions.blender.org/download/sha256:27de24b26775e38e30d5813ad436c3aaa8b38429728ebc191446eaa71491ccb6/add-on-bfds-v7.0.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/bfds/","maintainer":"emanuele.gissi","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FDS files from/to disk","network":"Display geographic positions, convert coordinates"},"tags":["Import-Export"]},{"id":"sciblend","schema_version":"1.0.0","name":"SciBlend","version":"1.1.2","tagline":"Scientific visualization tools for Blender","archive_hash":"sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d","archive_size":143536802,"archive_url":"https://extensions.blender.org/download/sha256:a0ea43e82838e33a8fbd691bdabd3342242093dd484a1909d70e3bc024da554d/add-on-sciblend-v1.1.2-windows-x64.zip","type":"add-on","blender_version_min":"4.5.1","website":"https://extensions.blender.org/add-ons/sciblend/","maintainer":"José-Marín","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"navigation_puck_addon","schema_version":"1.0.0","name":"Navigation Puck Addon","version":"1.0.1","tagline":"Navigation Puck like in Sketchbook Pro","archive_hash":"sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51","archive_size":14528,"archive_url":"https://extensions.blender.org/download/sha256:a0b4620698e8a925607fd3288d0738f4c20ecd5397c9d8c35ad7199981e15e51/add-on-navigation-puck-addon-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/navigation-puck-addon/","maintainer":"IliaVerpa","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","3D View"]},{"id":"midicontroller","schema_version":"1.0.0","name":"MidiController","version":"0.1.4","tagline":"Control objects properties through midi","archive_hash":"sha256:79f7dff37d0da6b479a11856c8f3edab3a6161dd76f59c008e13767e6cdc7cee","archive_size":357424,"archive_url":"https://extensions.blender.org/download/sha256:79f7dff37d0da6b479a11856c8f3edab3a6161dd76f59c008e13767e6cdc7cee/add-on-midicontroller-v0.1.4-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/midicontroller/","maintainer":"Eldin-Zenderink","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["User Interface","Animation"]},{"id":"mc_animaker","schema_version":"1.0.0","name":"MC Animaker","version":"1.3.4","tagline":"Bring your Blender animations to life in Minecraft","archive_hash":"sha256:5f17a5bb31db9721bcdc9db6417fb09a9f4596642d90acd94bd1f5522f81156a","archive_size":132183,"archive_url":"https://extensions.blender.org/download/sha256:5f17a5bb31db9721bcdc9db6417fb09a9f4596642d90acd94bd1f5522f81156a/add-on-mc-animaker-v1.3.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mc-animaker/","maintainer":"Priqnot","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import Resource Packs and Export Minecraft Datapack Files"},"tags":["Import-Export","Animation"]},{"id":"smart_transform","schema_version":"1.0.0","name":"Smart Transform","version":"1.0.2","tagline":"filter objects by size or transforms, and more tools","archive_hash":"sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11","archive_size":2671,"archive_url":"https://extensions.blender.org/download/sha256:7b4fa468f7ad58552ec1b6be1d2f2c3f0ed2bfe19da271042e38a661c4cfdd11/add-on-smart-transform-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/smart-transform/","maintainer":"Claz_Arts","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"animated_brush","schema_version":"1.0.0","name":"Animated Texture Brush","version":"1.0.2","tagline":"Randomly cycles image sequence texture while painting","archive_hash":"sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be","archive_size":2467,"archive_url":"https://extensions.blender.org/download/sha256:8903fadaf19661e63c6b7b60b805b2e11121e567ce9eb51f42f81b0aba76c7be/add-on-animated-brush-v1.0.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/animated-brush/","maintainer":"Kvendy","license":["SPDX:GPL-3.0-or-later"],"tags":["Paint"]},{"id":"lod_gen","schema_version":"1.0.0","name":"LODGen","version":"0.0.5","tagline":"Generate LODs for Games in 3 Clicks or Less","archive_hash":"sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128","archive_size":15434,"archive_url":"https://extensions.blender.org/download/sha256:0f2ab6b571315bee02068eb61a0ff972c25beea69acf0d2f0aec8a0b8dcc5128/add-on-lod-gen-v0.0.5.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/lod-gen/","maintainer":"F1dg3t","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"stroke_material_display","schema_version":"1.0.0","name":"Stroke Material Display","version":"1.0.1","tagline":"Display material names of selected Grease Pencil strokes","archive_hash":"sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317","archive_size":3088,"archive_url":"https://extensions.blender.org/download/sha256:807cb0171624b4fbb0960fd3f2ad455bb4611fd9fbd90b3c52cef01107019317/add-on-stroke-material-display-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/stroke-material-display/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"LostSelection","schema_version":"1.0.0","name":"Lost Selection","version":"0.2.0","tagline":"Set of usefull extra selection operators","archive_hash":"sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4","archive_size":32205,"archive_url":"https://extensions.blender.org/download/sha256:b86837ae75d5de7867114f1a0b038fa522a5628bfcbc9073a4083570f857fcb4/add-on-lostselection-v0.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/lostselection/","maintainer":"niewinny","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Mesh"]},{"id":"reset_workspace","schema_version":"1.0.0","name":"Reset Workspace","version":"0.0.4","tagline":"Reset the user interface (with your startup file interface)","archive_hash":"sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32","archive_size":5093,"archive_url":"https://extensions.blender.org/download/sha256:35cef23e81719101cd3d7616c08d4804c419417c57abd7be68d11b296d1f9a32/add-on-reset-workspace-v0.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/reset-workspace/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"edit_instanced_collection","schema_version":"1.0.0","name":"Edit Instanced Collection","version":"0.0.5","tagline":"Quickly find the instanced collection source","archive_hash":"sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3","archive_size":6971,"archive_url":"https://extensions.blender.org/download/sha256:82b58677725d9892cf2e272a657f498903a17aa057cb0a432dababc18f8db6e3/add-on-edit-instanced-collection-v0.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-instanced-collection/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","User Interface"]},{"id":"add_std_paper_size","schema_version":"1.0.0","name":"Add Std Paper-Format","version":"0.1.0","tagline":"Blender add-on to add planes with standardized paper formats","archive_hash":"sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4","archive_size":19785,"archive_url":"https://extensions.blender.org/download/sha256:d8699b5786b94d157a53a2322b82da1c49fcf833f42d36a3fd143d7d51796ed4/add-on-add-std-paper-size-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-std-paper-size/","maintainer":"BsIngA","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"Blueprint_Film_Theme","schema_version":"1.0.0","name":"Blueprint_Film_Theme","version":"2.1.0","tagline":"Translucent Blue","archive_hash":"sha256:dab951c64109e7db8e8e8ced89871107990be08f3727cf4e042ceab3adbed9a6","archive_size":5756,"archive_url":"https://extensions.blender.org/download/sha256:dab951c64109e7db8e8e8ced89871107990be08f3727cf4e042ceab3adbed9a6/theme-blueprint-film-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blueprint-film-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"pbsu_addon_3ds","schema_version":"1.0.0","name":"PBSU 3D Studio (.3ds)","version":"1.0.1","tagline":"Import/export 3DS scenes, objects, cameras, lights & anims","archive_hash":"sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d","archive_size":42631,"archive_url":"https://extensions.blender.org/download/sha256:347858569d753e688770e2f73c1d75b9787ccb69ce86e6fdbb08d06483a4814d/add-on-pbsu-addon-3ds-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pbsu-addon-3ds/","maintainer":"Arturo-Cervantes","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import and export Autodesk 3DS files"},"tags":["Import-Export","Scene","Object","Camera","Lighting","Animation"]},{"id":"on_screen_numpad","schema_version":"1.0.0","name":"On-Screen Numpad","version":"1.2.0","tagline":"No need to leave the mouse to enter numbers","archive_hash":"sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20","archive_size":22847,"archive_url":"https://extensions.blender.org/download/sha256:8cc31a79b43d1b8e295b729f8996507bc84f0d7702483c4a8e8a197f94ce9e20/add-on-on-screen-numpad-v1.2.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/on-screen-numpad/","maintainer":"Pluglug","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"Sakura_Rig_GUI","schema_version":"1.0.0","name":"Sakura's Rig Interfaces","version":"3.1.0","tagline":"A control script for use with Sakura's Rigs","archive_hash":"sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0","archive_size":23119,"archive_url":"https://extensions.blender.org/download/sha256:98421bd610dd89103aa63177dd25a3bb04e8a71899ad0c93dcba026908e07bf0/add-on-sakura-rig-gui-v3.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sakura-rig-gui/","maintainer":"SakuraSedaia","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Save and Store Player Skin Information and Downloaded Rigs","network":"Download Minecraft Skin Information from minecraft.net"},"tags":["Rigging","User Interface"]},{"id":"attrio_csv","schema_version":"1.0.0","name":"Attrio CSV","version":"1.0.1","tagline":"Bake and read back Evaluated Dependency Graph Data as CSV","archive_hash":"sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68","archive_size":161895,"archive_url":"https://extensions.blender.org/download/sha256:1091d651c2b57d2ce9cc7c3b5037a0e2892f568db65e67ffcf57ced8c355cf68/add-on-attrio-csv-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/attrio-csv/","maintainer":"sharpened","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Bake","Geometry Nodes"]},{"id":"EMU3BM","schema_version":"1.0.0","name":"Toggle Emulate 3 Button Mouse","version":"1.4.0","tagline":"Toggle Emulate 3 Button Mouse","archive_hash":"sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593","archive_size":1343,"archive_url":"https://extensions.blender.org/download/sha256:4403771643b6e2cae32cecd67a98fea219c3b89a72424207fc3c9640574d2593/add-on-emu3bm-v1.4.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/emu3bm/","maintainer":"chenkin123","license":["SPDX:GPL-3.0-or-later"],"tags":["System"]},{"id":"BL_EasyCrop","schema_version":"1.0.0","name":"BL Easy Crop","version":"2.0.2","tagline":"Use handles for easy cropping in the Blender VSE Preview window","archive_hash":"sha256:69729ea4dd20c0b8530cb0c9c7a628e74e7ce54929a978eca0c86cdd838497d4","archive_size":37253,"archive_url":"https://extensions.blender.org/download/sha256:69729ea4dd20c0b8530cb0c9c7a628e74e7ce54929a978eca0c86cdd838497d4/add-on-bl-easycrop-v2.0.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-easycrop/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Sequencer","User Interface"]},{"id":"space_colonization_tree_generator","schema_version":"1.0.0","name":"Space colonization tree generator","version":"1.0.0","tagline":"A simple add-on which uses the space colonization approach","archive_hash":"sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83","archive_size":6781,"archive_url":"https://extensions.blender.org/download/sha256:4b3ed3c3d2ff48e8bd3eec520098e42d24937f4167ed3fd9210a870369a9ef83/add-on-space-colonization-tree-generator-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/space-colonization-tree-generator/","maintainer":"LS","license":["SPDX:GPL-3.0-or-later"]},{"id":"SHIRAKUMO_sf3_io","schema_version":"1.0.0","name":"Shirakumo SF3 IO","version":"1.1.0","tagline":"Export/Import support for Simple File Format Family (SF3) files","archive_hash":"sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c","archive_size":24064,"archive_url":"https://extensions.blender.org/download/sha256:ea929db922904ace800e75192ed57225db3c960f44e2d6b419bddb4041f2116c/add-on-shirakumo-sf3-io-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shirakumo-sf3-io/","maintainer":"shinmera","license":["SPDX:GPL-3.0-or-later","SPDX:Zlib"],"permissions":{"files":"Import/export SF3 from/to disk"},"tags":["Import-Export"]},{"id":"normalize_resize_handles","schema_version":"1.0.0","name":"Normalize and Resize Curve Handles","version":"1.0.1","tagline":"Normalize and resize all selected bezier curve handles","archive_hash":"sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a","archive_size":1537,"archive_url":"https://extensions.blender.org/download/sha256:38d20ad9da74d2f832b4d2cf7ecbe874dc208c2cfacf2f1849ac85aed7751b4a/add-on-normalize-resize-handles-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/normalize-resize-handles/","maintainer":"TomasCJ","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"visual_limits","schema_version":"1.0.0","name":"Visual limits","version":"1.3.2","tagline":"This addon shows rigid body constraint limits in viewport","archive_hash":"sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e","archive_size":2710,"archive_url":"https://extensions.blender.org/download/sha256:fcb0ca388657a7fe0d2ce862ce5fdaa178c75160ce74e775981bdecc72a2509e/add-on-visual-limits-v1.3.2.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/visual-limits/","maintainer":"xbodya13","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"FocalLengthTweaker","schema_version":"1.0.0","name":"Focal Length Tweaker","version":"1.0.1","tagline":"Control viewport and camera focal length with your mouse","archive_hash":"sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833","archive_size":9686,"archive_url":"https://extensions.blender.org/download/sha256:2cae7c140124fbcc68d9fa8b93b5152d9d81f1e3eaf26ff14fc906dc6d99b833/add-on-focallengthtweaker-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/focallengthtweaker/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","User Interface"]},{"id":"Zeratul_Theme","schema_version":"1.0.0","name":"Zeratul_Theme","version":"3.0.0","tagline":"Invisible Shadow Warrior","archive_hash":"sha256:3d59a24600ee12bd8f460d3064816aff4b549c2a02ccd5a1365e58b427b1251c","archive_size":5646,"archive_url":"https://extensions.blender.org/download/sha256:3d59a24600ee12bd8f460d3064816aff4b549c2a02ccd5a1365e58b427b1251c/theme-zeratul-theme-v3.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/zeratul-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blueprint_Theme","schema_version":"1.0.0","name":"Prussian_Blueprint_Theme","version":"2.1.0","tagline":"Pure Prussian Blue","archive_hash":"sha256:c09ad349a800ae8ca6167e6b727f5c7d376a0da4e2389e66446577a1e3271462","archive_size":5790,"archive_url":"https://extensions.blender.org/download/sha256:c09ad349a800ae8ca6167e6b727f5c7d376a0da4e2389e66446577a1e3271462/theme-prussian-blueprint-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blueprint-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"render_webhook","schema_version":"1.0.0","name":"Render Webhook","version":"1.0.2","tagline":"Sends a message after render events to a webhook","archive_hash":"sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58","archive_size":2567,"archive_url":"https://extensions.blender.org/download/sha256:38cc7b54f014a6cd7d3c2d6f4928372749fb2a57ffd1b87df4fbc34550c6ed58/add-on-render-webhook-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-webhook/","maintainer":"vignette","license":["SPDX:GPL-3.0-or-later"],"permissions":{"network":"Sending HTTP requests to provided webhook URL"},"tags":["Render","Pipeline"]},{"id":"Prussian_Blue_Pink_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Pink_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356","archive_size":5758,"archive_url":"https://extensions.blender.org/download/sha256:6a745c8e64585bb668ee043aae3bc9bbe3196eabca082e27581645c0da576356/theme-prussian-blue-pink-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-pink-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Prussian_Blue_Theme","schema_version":"1.0.0","name":"Prussian_Blue_Theme","version":"2.1.0","tagline":"Nobiscum Deus","archive_hash":"sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135","archive_size":5687,"archive_url":"https://extensions.blender.org/download/sha256:14590a27309685bd49ad5c1aabbfd273b137578094be7850af79d66ae855e135/theme-prussian-blue-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/prussian-blue-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark","Colorful"]},{"id":"Clip_Tools","schema_version":"1.0.0","name":"Clip Tools","version":"1.0.3","tagline":"Add a simple tool to the Movie Clip Editor","archive_hash":"sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391","archive_size":7924,"archive_url":"https://extensions.blender.org/download/sha256:d349847bf1ec2be9a84678e356b11815f070ea75f15550a52f18b1ab737bd391/add-on-clip-tools-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clip-tools/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Tracking","Camera","3D View"]},{"id":"Merge_selected_cameras","schema_version":"1.0.0","name":"Merge Selected Cameras","version":"1.1.1","tagline":"Create one animated camera from your photogrammetry sequence","archive_hash":"sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d","archive_size":4219,"archive_url":"https://extensions.blender.org/download/sha256:37e9a6363b92571e6fd33f41edf887d72f63a4e64b6c0a9ca0c5014ea6a0b37d/add-on-merge-selected-cameras-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/merge-selected-cameras/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Camera","Tracking","3D View"]},{"id":"only_blends_gamepad","schema_version":"1.0.0","name":"OnlyBlends.Gamepad","version":"0.2.1","tagline":"An extension to integrate multiple gamepads into blender","archive_hash":"sha256:00f555dd498574957c0ac22cc563e0ff28e06d7cead86b7b80f96930b04c0fc8","archive_size":10577389,"archive_url":"https://extensions.blender.org/download/sha256:00f555dd498574957c0ac22cc563e0ff28e06d7cead86b7b80f96930b04c0fc8/add-on-only-blends-gamepad-v0.2.1-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/only-blends-gamepad/","maintainer":"Zulhakar","license":["SPDX:GPL-3.0-or-later"],"platforms":["windows-x64"],"tags":["Game Engine","Geometry Nodes"]},{"id":"Scene_Duration_Display","schema_version":"1.0.0","name":"Scene Duration Display","version":"1.1.1","tagline":"Displays and syncs timeline duration. Set preview range with I/O","archive_hash":"sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940","archive_size":2361,"archive_url":"https://extensions.blender.org/download/sha256:ecb84336ac892b588d1fcbdb40da045ce82c73b4869630d9fec11d4cf872a940/add-on-scene-duration-display-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-duration-display/","maintainer":"K_Naoki","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Gray50","schema_version":"1.0.0","name":"Gray50","version":"1.0.2","tagline":"Remake of Blender3.3 light theme","archive_hash":"sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9","archive_size":5795,"archive_url":"https://extensions.blender.org/download/sha256:803af656504ca1cb7ee9f406efcad0fe049911477a74c21f7675b5837567e2e9/theme-gray50-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/gray50/","maintainer":"Nick2321","license":["SPDX:GPL-2.0-or-later"],"tags":["Light","Inspired By"]},{"id":"bl_reset_custom_properties","schema_version":"1.0.0","name":"Reset Custom Properties","version":"1.0.4","tagline":"Reset custom properties to their default values","archive_hash":"sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4","archive_size":5646,"archive_url":"https://extensions.blender.org/download/sha256:f616677a285d385eb5ae5b60791f7d33656fb6914326eac58ae1b3d069a533b4/add-on-bl-reset-custom-properties-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/bl-reset-custom-properties/","maintainer":"Lauloque","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","3D View"]},{"id":"Blackboard_Theme","schema_version":"1.0.0","name":"Blackboard_Theme","version":"2.1.0","tagline":"Dark Mono","archive_hash":"sha256:3fbc8f1497dbc316eff1d096c8cc23653491367fefe3c93237dc6fd2a27ec517","archive_size":5594,"archive_url":"https://extensions.blender.org/download/sha256:3fbc8f1497dbc316eff1d096c8cc23653491367fefe3c93237dc6fd2a27ec517/theme-blackboard-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/blackboard-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"shape_key_utilities_enhanced","schema_version":"1.0.0","name":"Shape Key Utilities Enhanced","version":"1.0.0","tagline":"Comprehensive shape key management with locked key operations","archive_hash":"sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f","archive_size":15525,"archive_url":"https://extensions.blender.org/download/sha256:def2c6c2c03719b36d058312f829427b69204af4cf461e356a0b2d030639266f/add-on-shape-key-utilities-enhanced-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/shape-key-utilities-enhanced/","maintainer":"LeafyBush7","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Object","Modeling"]},{"id":"mass_keyframe","schema_version":"1.0.0","name":"Mass Keyframe","version":"1.1.0","tagline":"Keyframe properties better","archive_hash":"sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506","archive_size":426822,"archive_url":"https://extensions.blender.org/download/sha256:21612219b928ef3e430c745c961bc378d73f0b952cc081abb504358d1909d506/add-on-mass-keyframe-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mass-keyframe/","maintainer":"StratosDerg","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Sequencer"]},{"id":"color_grid_texture_gen","schema_version":"1.0.0","name":"Color Grid Texture Generator","version":"0.1.2","tagline":"Generate customizable color grid textures","archive_hash":"sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f","archive_size":28692,"archive_url":"https://extensions.blender.org/download/sha256:f5e0ad6b318cca21a773d071af6df303b1d4ec419bdd514e086aca95bc510a9f/add-on-color-grid-texture-gen-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/color-grid-texture-gen/","maintainer":"andersmmg","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"Read Coolors URL from clipboard"},"tags":["Material","UV"]},{"id":"io_import_build_map","schema_version":"1.0.0","name":"BUILD Map Importer","version":"1.4.1","tagline":"Import BUILD Engine maps as used in Duke Nukem 3D, Blood, etc","archive_hash":"sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54","archive_size":57108,"archive_url":"https://extensions.blender.org/download/sha256:d167ef8d1580c381dd1ef6378302b7918d493e67c7317be3fafaea9cf70d6c54/add-on-io-import-build-map-v1.4.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-build-map/","maintainer":"Jens.Ne","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import .map files and textures from filesystem"},"tags":["Import-Export","Mesh","Material"]},{"id":"distribute_grease_pencil_strokes","schema_version":"1.0.0","name":"Align-Distribute Grease Pencil Strokes","version":"2.1.0","tagline":"Align-Distribute Grease Pencil strokes","archive_hash":"sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2","archive_size":13284,"archive_url":"https://extensions.blender.org/download/sha256:e8075d9b8af883ab77be48eb51d424acf51860f408970ec54393f29ec45f1ab2/add-on-distribute-grease-pencil-strokes-v2.1.0.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/distribute-grease-pencil-strokes/","maintainer":"JohnNyquist","license":["SPDX:GPL-3.0-or-later"],"tags":["Grease Pencil"]},{"id":"BL_FastStart","schema_version":"1.0.0","name":"BL Fast Start (MP4/MOV)","version":"1.9.2","tagline":"A checkbox to add a 'Fast Start' copy of MP4/MOV renders","archive_hash":"sha256:90cc0c1c4550524898b916fea5cf70d21953c5703b01c193d967c02bd3b038f8","archive_size":23956,"archive_url":"https://extensions.blender.org/download/sha256:90cc0c1c4550524898b916fea5cf70d21953c5703b01c193d967c02bd3b038f8/add-on-bl-faststart-v1.9.2.zip","type":"add-on","blender_version_min":"4.4.0","website":"https://extensions.blender.org/add-ons/bl-faststart/","maintainer":"usrname0","license":["SPDX:GPL-3.0-or-later"],"tags":["Render","User Interface"]},{"id":"quantum_void_fluoamber","schema_version":"1.0.0","name":"Quantum Void FluoAmber","version":"1.0.2","tagline":"A monochromatic dark theme with accent","archive_hash":"sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f","archive_size":3205,"archive_url":"https://extensions.blender.org/download/sha256:6506841912f52525e1ae2d12d9ce2ac9316676f0bc7684374ab3847731dad70f/theme-quantum-void-fluoamber-v1.0.2.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/quantum-void-fluoamber/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"vectart_animation","schema_version":"1.0.0","name":"Vectart Animation","version":"1.1.4","tagline":"Animation tools for VectArt curves and objects","archive_hash":"sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb","archive_size":22398,"archive_url":"https://extensions.blender.org/download/sha256:d35ccba3d1fc4ca478edbebdc2620409071d1ebbb4e70d02218a5e15a06972eb/add-on-vectart-animation-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vectart-animation/","maintainer":"Dimona-Patrick-243","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"blueprints","schema_version":"1.0.0","name":"Blueprints","version":"1.0.3","tagline":"Manage background images ","archive_hash":"sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9","archive_size":3264,"archive_url":"https://extensions.blender.org/download/sha256:f148d686256514f105c8dfe1b240b8c189b148b47ae426c485ae35ab7d77aaa9/add-on-blueprints-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blueprints/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling"]},{"id":"batch_render_actions","schema_version":"1.0.0","name":"Batch Render Actions","version":"1.0.2","tagline":"Render each animation action to its own folder","archive_hash":"sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff","archive_size":2413,"archive_url":"https://extensions.blender.org/download/sha256:c91187783a22ac88e4847f57bc33f32f5d7954fb6564886839e9b44a4cd05cff/add-on-batch-render-actions-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/batch-render-actions/","maintainer":"Padraig-O-Cinneide","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Render"]},{"id":"rmKit_uv","schema_version":"1.0.0","name":"rmKitUV","version":"1.0.7","tagline":"Collection of Tools","archive_hash":"sha256:c8472ce9a12054a42028a66bcb813169e95bed13f6f57083b6b66d545d33fb4c","archive_size":259223,"archive_url":"https://extensions.blender.org/download/sha256:c8472ce9a12054a42028a66bcb813169e95bed13f6f57083b6b66d545d33fb4c/add-on-rmkit-uv-v1.0.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/rmkit-uv/","maintainer":"Timothee-Yeramian","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"read/write hotspots to disk"},"tags":["Mesh","UV","Material"]},{"id":"to_square","schema_version":"1.0.0","name":"To Square","version":"2.1.9","tagline":"Square the selection","archive_hash":"sha256:e1f8980123ed946e5f141f931af75a654b5133babb6cc4ec7ddd48859d96dafb","archive_size":36016,"archive_url":"https://extensions.blender.org/download/sha256:e1f8980123ed946e5f141f931af75a654b5133babb6cc4ec7ddd48859d96dafb/add-on-to-square-v2.1.9.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/to-square/","maintainer":"Jean-Yves-Grosbeau","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"acreplay_importer","schema_version":"1.0.0","name":"AC Replay Importer","version":"0.3.0","tagline":"Animate your cars using Assetto Corsa replays","archive_hash":"sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da","archive_size":8688,"archive_url":"https://extensions.blender.org/download/sha256:4d91f27fa56cd998c9b2b8ee421d537627413a2dd0d98358ce8a0260fb5b00da/add-on-acreplay-importer-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/acreplay-importer/","maintainer":"abchouhan","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import CSV from disk"},"tags":["Animation"]},{"id":"dynamic_head_property_manager","schema_version":"1.0.0","name":"Dynamic Head Property Manager","version":"1.0.4","tagline":"Manage custom facial properties for Roblox Bundles","archive_hash":"sha256:469886999ad6fd3f615255f5f10e058c0d0b1c514d3760263daa9101d5ba0bae","archive_size":12442,"archive_url":"https://extensions.blender.org/download/sha256:469886999ad6fd3f615255f5f10e058c0d0b1c514d3760263daa9101d5ba0bae/add-on-dynamic-head-property-manager-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dynamic-head-property-manager/","maintainer":"Cloud-Guy","license":["SPDX:GPL-3.0-or-later"]},{"id":"better_bend","schema_version":"1.0.0","name":"Better Bend","version":"1.1.0","tagline":"Cinema 4D-style deformers for Blender","archive_hash":"sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91","archive_size":4729,"archive_url":"https://extensions.blender.org/download/sha256:a7ce330e85d172706da357cd6291d96663c1a1386c758bcb41a1eb7aa41d1a91/add-on-better-bend-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/better-bend/","maintainer":"Lije.Morgan","license":["SPDX:GPL-3.0-or-later"],"tags":["Modeling","Mesh"]},{"id":"enhanced_svg","schema_version":"1.0.0","name":"Enhanced SVG","version":"0.1.8","tagline":"Import SVG with accurate colors and path processing","archive_hash":"sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2","archive_size":4067305,"archive_url":"https://extensions.blender.org/download/sha256:a65d052cf43ccc95fbd475eecdde5ecfb343e9c69dbaae6a3cc6dfca2899f3b2/add-on-enhanced-svg-v0.1.8-windows-x64.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/enhanced-svg/","maintainer":"Jan-Hendrik-Müller","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"M2V","schema_version":"1.0.0","name":"MIDI To Visuals","version":"1.2.0","tagline":"With MIDI file as input create somes 3D animations in blender","archive_hash":"sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1","archive_size":41169,"archive_url":"https://extensions.blender.org/download/sha256:41df46ef9449fb6aa01515bbdc077007b472e024683bf1f62241fda5b7342ae1/add-on-m2v-v1.2.0.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/m2v/","maintainer":"Patochun","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation"]},{"id":"Mesh2Rig","schema_version":"1.0.0","name":"Mesh2Rig","version":"2.0.0","tagline":"Transfer cloth simulation, shape keys and other to rig animation","archive_hash":"sha256:3efb60f39582f57dc3954e5f2aafb79adcc0d2e47efbe4969ec1dbead0a66a6d","archive_size":20615,"archive_url":"https://extensions.blender.org/download/sha256:3efb60f39582f57dc3954e5f2aafb79adcc0d2e47efbe4969ec1dbead0a66a6d/add-on-mesh2rig-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/mesh2rig/","maintainer":"Sporenoe3D","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging","Animation","Bake"]},{"id":"separate_loose_plus","schema_version":"1.0.0","name":"Separate Loose Plus","version":"1.0.0","tagline":"Enhanced mesh separation tools with object tracking","archive_hash":"sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5","archive_size":1973,"archive_url":"https://extensions.blender.org/download/sha256:944ad096034743a6fef458b743b445f076abd55dd41698eb83f6d94d6085b7a5/add-on-separate-loose-plus-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/separate-loose-plus/","maintainer":"RobbieK","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Modeling"]},{"id":"bve_import_export","schema_version":"1.0.0","name":"BVE Import/Export","version":"5.1.3","tagline":"Import/Export DirectX X (.x) or Export CSV files for BVE/OpenBVE","archive_hash":"sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984","archive_size":22514,"archive_url":"https://extensions.blender.org/download/sha256:23092e0894371d7d2fdf638fec806a949100f719eb7d39f7be2a87d693add984/add-on-bve-import-export-v5.1.3.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/bve-import-export/","maintainer":"Kusaanko","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export model file from/to disk"},"tags":["Import-Export"]},{"id":"symple","schema_version":"1.0.0","name":"Symple (symmetry groups)","version":"0.1.2","tagline":"Create figures with spherical symmetry with ease","archive_hash":"sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3","archive_size":29123,"archive_url":"https://extensions.blender.org/download/sha256:d896c95bba01abaaf56f2c5f6c741c51b63ca097915427aa7ade2315094376c3/add-on-symple-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/symple/","maintainer":"Martín-Torres-Valverde","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","Modeling","Object"]},{"id":"select_by_index","schema_version":"1.0.0","name":"Select By Index","version":"1.3.0","tagline":"Select all vertices, edges, or faces within an index range","archive_hash":"sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050","archive_size":3131,"archive_url":"https://extensions.blender.org/download/sha256:bd41c77ef889b5b84174a0cf88c41ebd6526046f82eb196fc9528ed43232e050/add-on-select-by-index-v1.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/select-by-index/","maintainer":"Eric-Banker","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"blender_lut_exporter","schema_version":"1.0.0","name":"LUT Exporter and Importer","version":"2.0.1","tagline":"Converts adjustment layer into LUT .cube file and back","archive_hash":"sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd","archive_size":5588,"archive_url":"https://extensions.blender.org/download/sha256:7e0e7b2b951f02114cebb97c5c44ffeacb93b28278107b3ac87b9e5b6f064bcd/add-on-blender-lut-exporter-v2.0.1.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/blender-lut-exporter/","maintainer":"ichlubna","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Sequencer"]},{"id":"arc_edge","schema_version":"1.0.0","name":"Arc Edge","version":"1.0.9","tagline":"Arc Edge","archive_hash":"sha256:22c430111c569f657241f2102fcdca9f5618c05ccbadcbbd34bb84cf60ebdcf3","archive_size":9970,"archive_url":"https://extensions.blender.org/download/sha256:22c430111c569f657241f2102fcdca9f5618c05ccbadcbbd34bb84cf60ebdcf3/add-on-arc-edge-v1.0.9.zip","type":"add-on","blender_version_min":"4.3.2","website":"https://extensions.blender.org/add-ons/arc-edge/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve"]},{"id":"Render_from_Terminal","schema_version":"1.0.0","name":"Render from Terminal","version":"0.1.5","tagline":"Create script to launch render from terminal","archive_hash":"sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3","archive_size":10030,"archive_url":"https://extensions.blender.org/download/sha256:4d6f2ccd813bb51a7082467919ea0b4bc95fd31d1df952747a00ed4e5fa7d0d3/add-on-render-from-terminal-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/render-from-terminal/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal"},"tags":["Render","Pipeline"]},{"id":"Fabnodes","schema_version":"1.0.0","name":"Fabnodes","version":"0.0.3","tagline":"Generates G-Code from geometry node attributes","archive_hash":"sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281","archive_size":5343,"archive_url":"https://extensions.blender.org/download/sha256:ca120a678f58ef1c62a12dd4b1ac055d79d7cbdf76bf6f22b609224a62ac2281/add-on-fabnodes-v0.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/fabnodes/","maintainer":"luigipacheco","license":["SPDX:GPL-3.0-or-later"],"tags":["Import-Export","Geometry Nodes"]},{"id":"substance_textures_importer","schema_version":"1.0.0","name":"Substance Textures Importer","version":"7.1.0","tagline":"Import & autoassign images from 3D painting tools like Substance","archive_hash":"sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7","archive_size":35582,"archive_url":"https://extensions.blender.org/download/sha256:12ce2e7b7cd3b87f277a4a1c107e14594b03063ec0cc3143206eeb84ba6dfbf7/add-on-substance-textures-importer-v7.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/substance-textures-importer/","maintainer":"Cosmin_Planchon","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import images from disk & read/write customs presets"},"tags":["Material","Import-Export","Node"]},{"id":"slot_link","schema_version":"1.0.0","name":"Slot Link","version":"0.0.10","tagline":"Easily manage projects with multiple separate animations","archive_hash":"sha256:1c1eeba6d76415e9ef86cbf4b25023653f1eb6b39af9568c18678ab36c0cc488","archive_size":21193,"archive_url":"https://extensions.blender.org/download/sha256:1c1eeba6d76415e9ef86cbf4b25023653f1eb6b39af9568c18678ab36c0cc488/add-on-slot-link-v0.0.10.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/slot-link/","maintainer":"mars","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","User Interface","Import-Export"]},{"id":"mesh_planes_pro","schema_version":"1.0.0","name":"Mesh Planes Pro","version":"2.0.1","tagline":"Ultimate Background Removal for Faster, Seamless Renders","archive_hash":"sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b","archive_size":2471909,"archive_url":"https://extensions.blender.org/download/sha256:5691d05b04840ede23b7116782821e73d1fd34364c1bda4a69d3daa923832d8b/add-on-mesh-planes-pro-v2.0.1.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/mesh-planes-pro/","maintainer":"Prince_Eagle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Load node groups from blend file"},"tags":["Material","Node","Render","Mesh"]},{"id":"developer_utilities","schema_version":"1.0.0","name":"Developer Utilities","version":"1.1.0","tagline":"Make life of addon developers easier","archive_hash":"sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c","archive_size":9006,"archive_url":"https://extensions.blender.org/download/sha256:31a9dead337ef9cd554b62f096c7b056a7b182030d4adac874f2f04b4183479c/add-on-developer-utilities-v1.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/developer-utilities/","maintainer":"scorpion81","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Open source files of addons for editing"},"tags":["Development"]},{"id":"srtm_terrain_importer","schema_version":"1.0.0","name":"SRTM Terrain Importer","version":"1.0.5","tagline":"Import SRTM elevation data as accurate 3D terrain","archive_hash":"sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454","archive_size":6645,"archive_url":"https://extensions.blender.org/download/sha256:72299885ab8bb5623bd3643e4b918cf2e29c56fe6010ead0f55e61796498f454/add-on-srtm-terrain-importer-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/srtm-terrain-importer/","maintainer":"NicolasPriniotakis","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import SRTM HGT files from disk"},"tags":["Import-Export"]},{"id":"Industrial_Light_AOV_Splitter","schema_version":"1.0.0","name":"Industrial Light AOV Splitter","version":"1.0.1","tagline":"Auto create better light aovs (diffuse_env, specular_env...)","archive_hash":"sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7","archive_size":8954,"archive_url":"https://extensions.blender.org/download/sha256:5b7398df324fbb2836e0c12d070cab2db098a040e86caae4a1c3253c7bd968e7/add-on-industrial-light-aov-splitter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/industrial-light-aov-splitter/","maintainer":"Roland-Vyens","license":["SPDX:GPL-3.0-or-later"],"tags":["Compositing","Import-Export","Pipeline","Render"]},{"id":"servo_animation","schema_version":"1.0.0","name":"Servo Animation","version":"2.1.1","tagline":"Export your Blender animation to servo position values","archive_hash":"sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4","archive_size":161106,"archive_url":"https://extensions.blender.org/download/sha256:407fa6cac99b8ce6dcac652d729c71be13aafb4b930ecb00fba42ec5971189d4/add-on-servo-animation-v2.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/servo-animation/","maintainer":"timhendriks93","license":["SPDX:GPL-3.0-or-later"],"tags":["Animation","Import-Export","Rigging"]},{"id":"LinkageMarkingMenu","schema_version":"1.0.0","name":"Linkage Marking Menu","version":"1.0.5","tagline":"Customizable Marking Menu for Object and Edit modes","archive_hash":"sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c","archive_size":18953,"archive_url":"https://extensions.blender.org/download/sha256:30ab484d65284197c16c36b34413ebfbb48743700ecf1c39f361e9bb60f6cd4c/add-on-linkagemarkingmenu-v1.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/linkagemarkingmenu/","maintainer":"Linkage","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"ac_tools","schema_version":"1.0.0","name":"AC Tools","version":"0.1.5","tagline":"AC Tools for track modding","archive_hash":"sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd","archive_size":30842,"archive_url":"https://extensions.blender.org/download/sha256:8bcf1e9e218c5cfea0b850e0d9957ee1d4c136dcf608e189f7a25a786bea32dd/add-on-ac-tools-v0.1.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ac-tools/","maintainer":"PhinDev","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export FBX from/to disk, Manage track folders"},"tags":["Development","Object","User Interface"]},{"id":"img_alpha_to_bsdf","schema_version":"1.0.0","name":"Connect image alpha","version":"1.0.6","tagline":"Connecting image alpha to shader alpha","archive_hash":"sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02","archive_size":2692,"archive_url":"https://extensions.blender.org/download/sha256:a0d765b49e728e95012895af1bb54d12c3b4ac68ab649115685c8b4d9eb65e02/add-on-img-alpha-to-bsdf-v1.0.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/img-alpha-to-bsdf/","maintainer":"Snakyboopface","license":["SPDX:GPL-3.0-or-later"],"tags":["Node","User Interface","Material"]},{"id":"link_parents","schema_version":"1.0.0","name":"Link Parents","version":"1.2.1","tagline":"Link objects parents & edit Parent Inverse Matrix in UI","archive_hash":"sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395","archive_size":2883,"archive_url":"https://extensions.blender.org/download/sha256:23a8fa704f6f5c9ae99e6bf5d8b1ac3dbc4d85b6800146f5a5c8679eb60e9395/add-on-link-parents-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/link-parents/","maintainer":"Trukas","license":["SPDX:GPL-3.0-or-later"],"tags":["Object","Rigging","User Interface"]},{"id":"sco_buttobjects","schema_version":"1.0.0","name":"SCO ButtObjects","version":"2.0.5","tagline":"Easily align Objects in your scene by Active Object or 3D Cursor","archive_hash":"sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb","archive_size":138673,"archive_url":"https://extensions.blender.org/download/sha256:4be2b8965bf52ef563b88da4e5588bf1fe220ab8f487ad136dec1c3eb78537bb/add-on-sco-buttobjects-v2.0.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/sco-buttobjects/","maintainer":"BEAST_of_BURDEN","license":["SPDX:GPL-3.0-or-later"],"tags":["Object"]},{"id":"Grid_Layout","schema_version":"1.0.0","name":"Grid Layout","version":"1.5.7","tagline":"Tools to help layout your UV layout","archive_hash":"sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c","archive_size":10399,"archive_url":"https://extensions.blender.org/download/sha256:33e8a16f02eb0d5f1063024efd5b24a7c7e5f9426a3de4377decaf00838db03c/add-on-grid-layout-v1.5.7.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/grid-layout/","maintainer":"Hodgson3d","license":["SPDX:GPL-3.0-or-later"],"tags":["UV"]},{"id":"povable","schema_version":"1.0.0","name":"POV@Ble","version":"0.1.8","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830","archive_size":329019,"archive_url":"https://extensions.blender.org/download/sha256:ff1b57fb994db2e4fbc95088ac6bb1741c3e6e9adef1f0e1f1ae16187cbc7830/add-on-povable-v0.1.8.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/povable/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render","Pipeline","Import-Export","Text Editor","Development","User Interface","Scene","Modeling","Object","Material","Mesh","Add Curve","Camera","Lighting","Bake"]},{"id":"b_palettes","schema_version":"1.0.0","name":"B Palettes","version":"1.1.0","tagline":"Import/Export Color Palettes","archive_hash":"sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6","archive_size":5538,"archive_url":"https://extensions.blender.org/download/sha256:59bdbb835628977b5fcd1c88f53fc0d340766f97ef2d2ed477be34d813c53ae6/add-on-b-palettes-v1.1.0.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/b-palettes/","maintainer":"Dinesh007","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directory with color palette files"},"tags":["Import-Export"]},{"id":"import_files_svg_cuts_directory","schema_version":"1.0.0","name":"Import SVG Cuts Directory","version":"1.0.1","tagline":"Import object based on a directory of SVG cuts","archive_hash":"sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb","archive_size":5958242,"archive_url":"https://extensions.blender.org/download/sha256:bdfe34a8b5e59c0d98342756cfc0ef9185622bd161a3642ba1a43ed0818b6cfb/add-on-import-files-svg-cuts-directory-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/import-files-svg-cuts-directory/","maintainer":"Benedikt-Schaber","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import directory of SVGs from disk"},"tags":["Import-Export"]},{"id":"Selected_Bones_To_Vertex_Group","schema_version":"1.0.0","name":"Selected_Bones_To_Vertex_Group","version":"1.0.1","tagline":"Add or delete selected bone to selected mesh","archive_hash":"sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0","archive_size":2074,"archive_url":"https://extensions.blender.org/download/sha256:e5e49539892d63b5b1ffb7108f7f6cca2884cc598010405d88b2009f40faa9b0/add-on-selected-bones-to-vertex-group-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/selected-bones-to-vertex-group/","maintainer":"mochi_Lin","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"highlighter","schema_version":"1.0.0","name":"Highlighter","version":"0.1.0","tagline":"Syntax highlighting for text objects","archive_hash":"sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046","archive_size":1209500,"archive_url":"https://extensions.blender.org/download/sha256:3fec762b7df4f2667d391a68a55a5b4c78c356d64855104b16d03af7802f3046/add-on-highlighter-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/highlighter/","maintainer":"pioverfour","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Curve","Text Editor"]},{"id":"frame_focus","schema_version":"1.0.0","name":"Frame Focus","version":"2.0.1","tagline":"List All Frame Nodes And Focus Easily","archive_hash":"sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc","archive_size":6600,"archive_url":"https://extensions.blender.org/download/sha256:6b86148b65108e75bd979d3f7e65befe9afd032a9c5225fc75ac46aef7c027bc/add-on-frame-focus-v2.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/frame-focus/","maintainer":"Ou_Chiang","license":["SPDX:GPL-3.0-or-later"],"tags":["Node"]},{"id":"neigh_context_switcher","schema_version":"1.0.0","name":"Context Switcher","version":"1.1.2","tagline":"Quick workspace and editor switching via popup at mouse location","archive_hash":"sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d","archive_size":2365,"archive_url":"https://extensions.blender.org/download/sha256:dd2fa9266d0ced26efe9504e624e8af214c3a2571c74899bc8703b1d9e96101d/add-on-neigh-context-switcher-v1.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/neigh-context-switcher/","maintainer":"Neigh","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"SelectModeKeymaps","schema_version":"1.0.0","name":"Select Mode Keymaps","version":"1.0.1","tagline":"Assign keymaps to toggle Object/Edit Mode and Select Modes","archive_hash":"sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573","archive_size":5772,"archive_url":"https://extensions.blender.org/download/sha256:2700fa8cc6cb035f7458c079b5e3561e9e93bf6a2e967c2f7ba5607db88fa573/add-on-selectmodekeymaps-v1.0.1.zip","type":"add-on","blender_version_min":"4.5.0","website":"https://extensions.blender.org/add-ons/selectmodekeymaps/","maintainer":"1P2D","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"skin_mesh_to_bone","schema_version":"1.0.0","name":"Skin Mesh To Bone","version":"1.0.2","tagline":"Skins selected meshes to a bone on the active armature","archive_hash":"sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf","archive_size":3048,"archive_url":"https://extensions.blender.org/download/sha256:f8e66dc89bd268aefc76ad3d05727f43f34ab9e043103d0443c061c72d707faf/add-on-skin-mesh-to-bone-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/skin-mesh-to-bone/","maintainer":"cmbasnett","license":["SPDX:GPL-3.0-or-later"],"tags":["Rigging"]},{"id":"Faster_FBX_Exporter","schema_version":"1.0.0","name":"Faster FBX Exporter","version":"0.2.4","tagline":"Faster .fbx Exporter for Static Objects With Modifiers","archive_hash":"sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60","archive_size":94222,"archive_url":"https://extensions.blender.org/download/sha256:d60922038603e42f00b429ba8f8af2026bbd84c80437c7b7c52ea3d34a9c5d60/add-on-faster-fbx-exporter-v0.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/faster-fbx-exporter/","maintainer":"Dan-Gry","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .fbx files"},"tags":["Import-Export"]},{"id":"copyshapekeys","schema_version":"1.0.0","name":"ShapeKey Copy","version":"3.2.4","tagline":"Copy shapekeys from one mesh to another","archive_hash":"sha256:c0c91c33772989a5083f90c79699f8c133db716796b5530c6aa4793b8e59d0d5","archive_size":5412,"archive_url":"https://extensions.blender.org/download/sha256:c0c91c33772989a5083f90c79699f8c133db716796b5530c6aa4793b8e59d0d5/add-on-copyshapekeys-v3.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copyshapekeys/","maintainer":"Blenderbob","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Animation"]},{"id":"Control_Render_Regions","schema_version":"1.0.0","name":"Control Render Regions","version":"1.0.11","tagline":"Manage renders in region","archive_hash":"sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c","archive_size":2586090,"archive_url":"https://extensions.blender.org/download/sha256:7ec42ecd63fbf2e832f98d83382c75085e3fa40189861ecfcad385376730898c/add-on-control-render-regions-v1.0.11-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/control-render-regions/","maintainer":"nukkio","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create script to render from terminal and render regions"},"platforms":["windows-x64"],"tags":["Render","Pipeline"]},{"id":"ftl_exporter","schema_version":"1.0.0","name":"3dverse Exporter","version":"1.0.1","tagline":"Export blender project to 3dverse (scene, meshes, materials)","archive_hash":"sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291","archive_size":13274,"archive_url":"https://extensions.blender.org/download/sha256:84811edb014499a7a4e468213135c612495750aa8a617389ea459935ff6aa291/add-on-ftl-exporter-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ftl-exporter/","maintainer":"Nathalie-Raffray","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Create temporary 3dverse files to then export to server","network":"Need to export blender project to 3dverse server"},"tags":["Import-Export"]},{"id":"Night_Rain_Theme","schema_version":"1.0.0","name":"Night_Rain_Theme","version":"2.1.0","tagline":"Transparent Dark","archive_hash":"sha256:3f996f0ed1e8739d375cb702ce9881a9ad6952b8378b897a7b68fcdb591f03e2","archive_size":5639,"archive_url":"https://extensions.blender.org/download/sha256:3f996f0ed1e8739d375cb702ce9881a9ad6952b8378b897a7b68fcdb591f03e2/theme-night-rain-theme-v2.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/night-rain-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"nla_midi_copier","schema_version":"1.0.0","name":"NLA Midi Copier","version":"1.1.0","tagline":"NLA and Graph Editor tools for syncing animation to midi files","archive_hash":"sha256:036cd26556e89a777fe0b29318632b0fa77ea8a2b76514ca690eeb1b0698170f","archive_size":114481,"archive_url":"https://extensions.blender.org/download/sha256:036cd26556e89a777fe0b29318632b0fa77ea8a2b76514ca690eeb1b0698170f/add-on-nla-midi-copier-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nla-midi-copier/","maintainer":"Cornerback24","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Read midi files from disk"},"tags":["Animation"]},{"id":"blender_mqo","schema_version":"1.0.0","name":"MQO (Metasequoia) Format File Importer/Exporter","version":"2.0.0","tagline":"Import/Export MQO format files","archive_hash":"sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171","archive_size":21616,"archive_url":"https://extensions.blender.org/download/sha256:986c8ad77c5e90ec3b63e5b7653a7966e97f0ada40b47416f6412c6e3afbd171/add-on-blender-mqo-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-mqo/","maintainer":"nutti","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/Export MQO from/to disk"},"tags":["Import-Export"]},{"id":"core_debug_tools","schema_version":"1.0.0","name":"Core Debug Tools","version":"0.1.0","tagline":"Debugging utilities for core Blender developers","archive_hash":"sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20","archive_size":629513,"archive_url":"https://extensions.blender.org/download/sha256:f21387eea0b95445be76e9b6eee95c7ad807451aefdc65a36dce7a11d262ad20/add-on-core-debug-tools-v0.1.0.zip","type":"add-on","blender_version_min":"4.3.0","website":"https://extensions.blender.org/add-ons/core-debug-tools/","maintainer":"JacquesLucke","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Build temporary html files to view in the browser"},"tags":["Development"]},{"id":"twformats","schema_version":"1.0.0","name":"Teeworlds and DDNet Map import","version":"0.4.1","tagline":"Import Teeworlds and DDNet maps","archive_hash":"sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5","archive_size":9592799,"archive_url":"https://extensions.blender.org/download/sha256:a4137b2d611a4cf25828c185a44fe21ffb370637fe8c02413681b372a8d463f5/add-on-twformats-v0.4.1-linux-x64-windows-x64.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/twformats/","maintainer":"Patiga","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export files from/to disk"},"platforms":["linux-x64","windows-x64"],"tags":["Import-Export"]},{"id":"Graphite_Mono_Theme","schema_version":"1.0.0","name":"Graphite_Mono_Theme","version":"3.1.0","tagline":"Steel Grey","archive_hash":"sha256:ff27c267f4854bb0a3541f027f6c826285bb2d24f38ab0f8db2684c9f7fa06de","archive_size":5832,"archive_url":"https://extensions.blender.org/download/sha256:ff27c267f4854bb0a3541f027f6c826285bb2d24f38ab0f8db2684c9f7fa06de/theme-graphite-mono-theme-v3.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/graphite-mono-theme/","maintainer":"Raze-Demon","license":["SPDX:GPL-3.0-or-later"],"tags":["Dark"]},{"id":"io_import_pixelart","schema_version":"1.0.0","name":"Import Pixel Art","version":"1.2.1","tagline":"Imports pixel art as colored cubes or squares for each pixel","archive_hash":"sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1","archive_size":5860,"archive_url":"https://extensions.blender.org/download/sha256:de95c730dc8ef2457d0ee54e90c95acfb3232a91bc6c7e6fa321c0bd9f33f4d1/add-on-io-import-pixelart-v1.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-import-pixelart/","maintainer":"bloody_albatross","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import pixel art from disk"},"tags":["Import-Export"]},{"id":"scene_workspaces","schema_version":"1.0.0","name":"Scene Workspaces","version":"1.1.1","tagline":"Filter and sort your workspaces, scene by scene","archive_hash":"sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a","archive_size":8786,"archive_url":"https://extensions.blender.org/download/sha256:7466088a97d7e6ed393001712fe09d88e13315c379e91458582a28a0e890ba0a/add-on-scene-workspaces-v1.1.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-workspaces/","maintainer":"Francesco-Bellini","license":["SPDX:GPL-3.0-or-later"],"tags":["Scene","System","User Interface"]},{"id":"clean_game_asset_exporter","schema_version":"1.0.0","name":"Clean Game Asset Exporter","version":"1.0.0","tagline":"Game asset exporter for the Defold game engine","archive_hash":"sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3","archive_size":4988,"archive_url":"https://extensions.blender.org/download/sha256:377a5cbde66f7ea39b861f3062a7ec5c919c8e0a515aeeb8add9e06ae5aacea3/add-on-clean-game-asset-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/clean-game-asset-exporter/","maintainer":"DeBolt","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export game asset files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"aligning_horizontally_mini","schema_version":"1.0.0","name":"Aligning Horizontally Mini","version":"1.0.1","tagline":"Align selected objects in a customizable grid in the 3D viewport","archive_hash":"sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35","archive_size":3511,"archive_url":"https://extensions.blender.org/download/sha256:15eaa29ad5ba5afbc4ac5c3d63966ab75f89c85de7a8444359bdabee860d3f35/add-on-aligning-horizontally-mini-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/aligning-horizontally-mini/","maintainer":"Hydrocallis","license":["SPDX:GPL-3.0-or-later"],"tags":["3D View","Object"]},{"id":"lead_edge_maze_ash_creator","schema_version":"1.0.0","name":"Lead Edge Maze Ash Creator","version":"2.0.2","tagline":"Lead Edge Maze Ash","archive_hash":"sha256:bed9df44db85a4577d6b4eba585296069b72b909c755fa18a51214549a53fd3c","archive_size":4482,"archive_url":"https://extensions.blender.org/download/sha256:bed9df44db85a4577d6b4eba585296069b72b909c755fa18a51214549a53fd3c/add-on-lead-edge-maze-ash-creator-v2.0.2.zip","type":"add-on","blender_version_min":"4.4.3","website":"https://extensions.blender.org/add-ons/lead-edge-maze-ash-creator/","maintainer":"dartmeadow","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface"]},{"id":"f1dg3t_blender_red","schema_version":"1.0.0","name":"F1dg3t Red","version":"1.1.0","tagline":"Perfect for Shadow State 2","archive_hash":"sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680","archive_size":6491,"archive_url":"https://extensions.blender.org/download/sha256:0288b146cc76cd0f5bbe25c87639a1a150e9298cf64c66eb7ae2f55d60953680/theme-f1dg3t-blender-red-v1.1.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/f1dg3t-blender-red/","maintainer":"F1dg3t","license":["SPDX:GPL-2.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"VMD","schema_version":"1.0.0","name":"vmdesk","version":"2.2.1","tagline":"Interactive editor environment in 3D Viewport","archive_hash":"sha256:b5c7a5eedbe797da05704f34d02a5e1f88bbf05048d1ec330280eeeafcf11a3c","archive_size":10113852,"archive_url":"https://extensions.blender.org/download/sha256:b5c7a5eedbe797da05704f34d02a5e1f88bbf05048d1ec330280eeeafcf11a3c/add-on-vmd-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/vmd/","maintainer":"Y.T-LAW","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export from disk to user-supplied path","clipboard":"Copy and paste from shortcut/UI"},"tags":["3D View","Modeling","Mesh","Object","User Interface"]},{"id":"blue_genes","schema_version":"1.0.0","name":"Blue Genes","version":"1.0.3","tagline":"Dark Blue, Readable Daily Driver","archive_hash":"sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e","archive_size":5997,"archive_url":"https://extensions.blender.org/download/sha256:dbd30beb266dff2448d87b8e592e1afce7330b5d79ec4c1ef7a4b3c3d1c9e61e/theme-blue-genes-v1.0.3.zip","type":"theme","blender_version_min":"4.2.0","website":"https://extensions.blender.org/themes/blue-genes/","maintainer":"SpectralVectors","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark","Colorful"]},{"id":"govietools","schema_version":"1.0.0","name":"Govie Tools","version":"1.0.20","tagline":"Optimize your model for use in the Govie Editor","archive_hash":"sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476","archive_size":123018,"archive_url":"https://extensions.blender.org/download/sha256:31c648371553204133ff0827b8bb33bad0edbbfa50964a5d329a797a10973476/add-on-govietools-v1.0.20.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/govietools/","maintainer":"3D-Interaction-Technologies","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export GLB to disk"},"tags":["Scene","Import-Export"]},{"id":"microscopynodes","schema_version":"1.0.0","name":"Microscopy Nodes","version":"2.2.7","tagline":"Handling microscopy data in Blender, up to 5D volumes","archive_hash":"sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b","archive_size":49077670,"archive_url":"https://extensions.blender.org/download/sha256:d9894dd92a9ca652515a89a256760e33b6c7cf321720101feedaef8d462ef28b/add-on-microscopynodes-v2.2.7-windows-x64.zip","type":"add-on","blender_version_min":"5.0.0","website":"https://extensions.blender.org/add-ons/microscopynodes/","maintainer":"Aafke-Gros","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing data files from disk, writing to cache folder","network":"Loading OME-zarr files from the internet from a given URL"},"platforms":["windows-x64"],"tags":["Import-Export"]},{"id":"new_object_from_selected_geometry","schema_version":"1.0.0","name":"New Object From Selected Geometry","version":"1.0.2","tagline":"Creates a new object from the selected geometry in Edit mode","archive_hash":"sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f","archive_size":13392,"archive_url":"https://extensions.blender.org/download/sha256:c6ce3d5ff406b1cb933740ad87fff0d80debe984357fe92e6912a4f5a988b75f/add-on-new-object-from-selected-geometry-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/new-object-from-selected-geometry/","maintainer":"Giambattista-Caltabiano","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh"]},{"id":"Metaseq_Classic_theme","schema_version":"1.0.0","name":"Metaseq_Classic","version":"1.0.1","tagline":"Classic light Metasequoia-style theme","archive_hash":"sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a","archive_size":36342,"archive_url":"https://extensions.blender.org/download/sha256:281bbe6290ac35dc88de14f3ab67a96363905332a152f9d7f33844659f51cf5a/theme-metaseq-classic-theme-v1.0.1.zip","type":"theme","blender_version_min":"5.0.0","blender_version_max":"5.1.0","website":"https://extensions.blender.org/themes/metaseq-classic-theme/","maintainer":"kame404","license":["SPDX:GPL-3.0-or-later"],"tags":["Light"]},{"id":"Xromm_Tools","schema_version":"1.0.0","name":"XROMM toolkit","version":"0.9.6","tagline":"XROMM toolkit for Blender","archive_hash":"sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771","archive_size":18986,"archive_url":"https://extensions.blender.org/download/sha256:c6fc2917029a34d1f2ee919a7c966e1e948cd0454d8be8d89885459a179da771/add-on-xromm-tools-v0.9.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/xromm-tools/","maintainer":"pfalkingham","license":["SPDX:GPL-3.0-or-later"],"tags":["Pipeline"]},{"id":"io_scene_ase","schema_version":"1.0.0","name":"ASCII Scene Export (.ase)","version":"2.2.1","tagline":"Export .ase files used in Unreal Engine 1 & 2","archive_hash":"sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494","archive_size":13786,"archive_url":"https://extensions.blender.org/download/sha256:7ed06a0042081fc7058a3016d15bce6af441b92156770f532393e370fc916494/add-on-io-scene-ase-v2.2.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/io-scene-ase/","maintainer":"cmbasnett","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Export .ase files to disk"},"tags":["Game Engine","Import-Export"]},{"id":"blender_magicavoxel","schema_version":"1.0.0","name":"MagicaVoxel VOX format","version":"1.5.6","tagline":"Importer addon for MagicaVoxel vox files","archive_hash":"sha256:d6d33a7a0d223a3fbb3f0f9316b87c4d2c4a4bbde28b3b93f43b83ca7e76d4c8","archive_size":24160,"archive_url":"https://extensions.blender.org/download/sha256:d6d33a7a0d223a3fbb3f0f9316b87c4d2c4a4bbde28b3b93f43b83ca7e76d4c8/add-on-blender-magicavoxel-v1.5.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/blender-magicavoxel/","maintainer":"AstrorEnales","license":["SPDX:GPL-3.0-or-later","SPDX:MIT"],"permissions":{"files":"Import VOX from disk"},"tags":["Import-Export"]},{"id":"odyssey_eobet_remix","schema_version":"1.0.0","name":"Odyssey eobet Remix","version":"2.0.1","tagline":"Theme highlighting the active object","archive_hash":"sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743","archive_size":5970,"archive_url":"https://extensions.blender.org/download/sha256:44250497cdad4efef753edd6470c5a7bd411e7b9a7d9828a6cb5d071d99bf743/theme-odyssey-eobet-remix-v2.0.1.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/odyssey-eobet-remix/","maintainer":"eobet","license":["SPDX:GPL-2.0-or-later"],"tags":["Dark"]},{"id":"PieMenu_Everywhere","schema_version":"1.0.0","name":"PieMenu Everywhere","version":"1.4.5","tagline":"Maximize your efficiency with PieMenu Everywhere","archive_hash":"sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84","archive_size":438388,"archive_url":"https://extensions.blender.org/download/sha256:1a79638d9774eef739be1adc281c65600c588f3915f7d9f6a20c2cbac8b07e84/add-on-piemenu-everywhere-v1.4.5.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/piemenu-everywhere/","maintainer":"DeathShot-747","license":["SPDX:GPL-3.0-or-later"],"tags":["User Interface","Pipeline","3D View","Node"]},{"id":"Partybots_converter","schema_version":"1.0.0","name":"Partybots converter","version":"1.0.4","tagline":"This is a addon to build partybots maps","archive_hash":"sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00","archive_size":5333,"archive_url":"https://extensions.blender.org/download/sha256:c2c2e36e9997df032739b03d49854e547fa142684c193a7332d816e68d68ab00/add-on-partybots-converter-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/partybots-converter/","maintainer":"vuyghu2020","license":["SPDX:GPL-3.0-or-later"],"permissions":{"clipboard":"To write the compiled output to the clipbord"},"tags":["3D View","Object","Game Engine"]},{"id":"add_airfoil","schema_version":"1.0.0","name":"Add Airfoil","version":"2.0.0","tagline":"Import Airfoil Dat Files into Blender","archive_hash":"sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae","archive_size":2356,"archive_url":"https://extensions.blender.org/download/sha256:118dfa0e9d40af8486bea8e149e0db5518db051681aba4165d699df9868f73ae/add-on-add-airfoil-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-airfoil/","maintainer":"Nerk","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export","Mesh"]},{"id":"atomic_blender_cluster","schema_version":"1.0.0","name":"Atomic Blender Cluster","version":"1.0.0","tagline":"Creating atom clusters or nanoparticles in Blender","archive_hash":"sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18","archive_size":11917,"archive_url":"https://extensions.blender.org/download/sha256:77b6176aaf69f70917b353e0f5bf183f1f0ad4ff70cc4bf92d72471fe2647d18/add-on-atomic-blender-cluster-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-cluster/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh"]},{"id":"add_positive_cube","schema_version":"1.0.0","name":"Add Positive Cube","version":"1.0.2","tagline":"Adds a cube with its origin at the corner","archive_hash":"sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807","archive_size":2022,"archive_url":"https://extensions.blender.org/download/sha256:dcc7e323c3d5159660043d97441fac329ab8441a2e5c5d091da0e3c82017d807/add-on-add-positive-cube-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/add-positive-cube/","maintainer":"jefftml","license":["SPDX:GPL-3.0-or-later"],"tags":["Add Mesh","3D View"]},{"id":"theme_modo","schema_version":"1.0.0","name":"Modo","version":"2.0.0","tagline":"Community-made theme inspired by Modo","archive_hash":"sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f","archive_size":5822,"archive_url":"https://extensions.blender.org/download/sha256:b9021a0edcfc6e68474ae1bb6a8257bd83b766c97e17020f4db723ed403ebc0f/theme-theme-modo-v2.0.0.zip","type":"theme","blender_version_min":"5.0.0","website":"https://extensions.blender.org/themes/theme-modo/","maintainer":"Community","license":["SPDX:GPL-3.0-or-later"],"tags":["Inspired By","Dark"]},{"id":"stl_format_legacy","schema_version":"1.0.0","name":"STL format (legacy)","version":"1.1.4","tagline":"Import-Export STL files","archive_hash":"sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6","archive_size":7513,"archive_url":"https://extensions.blender.org/download/sha256:ae6e839285861f6e14022ea7b5b74a93760d2055d4cc43ea63fb1951918cc1e6/add-on-stl-format-legacy-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/stl-format-legacy/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"atomic_blender_pdb_xyz","schema_version":"1.0.0","name":"Atomic Blender PDB/XYZ","version":"1.9.1","tagline":"Importing atoms listed in PDB and XYZ files into Blender","archive_hash":"sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268","archive_size":51000,"archive_url":"https://extensions.blender.org/download/sha256:d8ec654a526001a29d0c4f7450b33d27ccc9c74fed9d665d8a8e61a052c1c268/add-on-atomic-blender-pdb-xyz-v1.9.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/atomic-blender-pdb-xyz/","maintainer":"Blendphys","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Add-on expects to have access to filesytem."},"tags":["Import-Export"]},{"id":"geodesic_domes","schema_version":"1.0.0","name":"Geodesic Domes","version":"0.3.6","tagline":"Create geodesic dome type objects","archive_hash":"sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0","archive_size":25222,"archive_url":"https://extensions.blender.org/download/sha256:7ebd015a85ae9d7d93dcc8942b12da6b120949b550ef97d09b273388926118f0/add-on-geodesic-domes-v0.3.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/geodesic-domes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Mesh"]},{"id":"ui_animation_render","schema_version":"1.0.0","name":"UI Animation Render","version":"0.1.0","tagline":"Render animations of the Blender UI","archive_hash":"sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29","archive_size":2426,"archive_url":"https://extensions.blender.org/download/sha256:4cc58957a66ebe8d6649a4d2028ad6217c67b78e121e5e73e62ef739bf85eb29/add-on-ui-animation-render-v0.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/ui-animation-render/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"pov_at_ble","schema_version":"1.0.0","name":"POV@Ble (Legacy)","version":"0.1.6","tagline":"Persistence of Vision addon for Blender","archive_hash":"sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339","archive_size":302310,"archive_url":"https://extensions.blender.org/download/sha256:8bb572ce8ae30011dc8ba065980fe18c9f49b836b754b49578ab49c889ca0339/add-on-pov-at-ble-v0.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/pov-at-ble/","maintainer":"POVαBle","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Requires access to directories with binary executables and sound"},"tags":["Render"]},{"id":"inset_straight_skeleton","schema_version":"1.0.0","name":"Inset Straight Skeleton","version":"1.1.0","tagline":"Make an inset inside selection using straight skeleton algo . . ","archive_hash":"sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553","archive_size":33199,"archive_url":"https://extensions.blender.org/download/sha256:1b7ac6364ed7bc8736a2fa5bd7da0f2c07a527a6b0a50aed4801671eddc5c553/add-on-inset-straight-skeleton-v1.1.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/inset-straight-skeleton/","maintainer":"howardt","license":["SPDX:GPL-2.0-or-later"],"tags":["Mesh"]},{"id":"refine_tracking_solution","schema_version":"1.0.0","name":"Refine tracking solution","version":"1.1.6","tagline":"Refine motion solution by adjusting track weight","archive_hash":"sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f","archive_size":2210,"archive_url":"https://extensions.blender.org/download/sha256:d04ac43654a33c8c0a78c935479cefc4c052cae6092c565ef8bcefc412418a1f/add-on-refine-tracking-solution-v1.1.6.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/refine-tracking-solution/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Tracking"]},{"id":"assign_shape_keys","schema_version":"1.0.0","name":"Assign Shape Keys","version":"1.0.2","tagline":"Assigns one or more Bezier curves as shape keys to another . . ","archive_hash":"sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1","archive_size":10143,"archive_url":"https://extensions.blender.org/download/sha256:a4e428cf15b9d642308a6b1fab414544e2a061abb6758c78214c42889d0de7e1/add-on-assign-shape-keys-v1.0.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/assign-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"export_pointcache_formatpc2","schema_version":"1.0.0","name":"Export Pointcache Format(.pc2)","version":"1.1.4","tagline":"Export mesh Pointcache data (.pc2)","archive_hash":"sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805","archive_size":2683,"archive_url":"https://extensions.blender.org/download/sha256:5302170dc699eeaa9eb0528daba03574f99e178726cba33fda104885fd0f7805/add-on-export-pointcache-formatpc2-v1.1.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-pointcache-formatpc2/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .pc2 file"},"tags":["Import-Export"]},{"id":"corrective_shape_keys","schema_version":"1.0.0","name":"Corrective Shape Keys","version":"1.0.0","tagline":"Creates a corrective shape key for the current pose","archive_hash":"sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19","archive_size":4821,"archive_url":"https://extensions.blender.org/download/sha256:23c5d539e6623f6ea266d5ca43738db668191314263480e4400944b1ed04ff19/add-on-corrective-shape-keys-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/corrective-shape-keys/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Animation"]},{"id":"freestyle_svg_exporter","schema_version":"1.0.0","name":"Freestyle SVG Exporter","version":"1.0.0","tagline":"Exports Freestyle's stylized edges in SVG format","archive_hash":"sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b","archive_size":7691,"archive_url":"https://extensions.blender.org/download/sha256:d72191a8ca5847a38e6114d6e66aa07573191ef76b14bea192efe2759921b60b/add-on-freestyle-svg-exporter-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/freestyle-svg-exporter/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"edit_operator_source","schema_version":"1.0.0","name":"Edit Operator Source","version":"1.2.4","tagline":"Opens source file of chosen operator or call locations","archive_hash":"sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc","archive_size":2897,"archive_url":"https://extensions.blender.org/download/sha256:d1d29b06f1e0fe08fe8fa5e8802d4b3a7680af75652ca3f5f2b5f98c8d167ebc/add-on-edit-operator-source-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/edit-operator-source/","maintainer":"scorpion81","license":["SPDX:GPL-2.0-or-later"],"tags":["Development"]},{"id":"copy_render_settings","schema_version":"1.0.0","name":"Copy Render Settings","version":"2.0.0","tagline":"Allows to copy a selection of render settings from current . . ","archive_hash":"sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0","archive_size":7786,"archive_url":"https://extensions.blender.org/download/sha256:dd7074aaddeb16d228f19ce98d3a45f641db108453af72ebb0e43c225bb162e0/add-on-copy-render-settings-v2.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/copy-render-settings/","maintainer":"mont29","license":["SPDX:GPL-2.0-or-later"],"tags":["Render"]},{"id":"newtek_mdd_format","schema_version":"1.0.0","name":"NewTek MDD format","version":"1.0.3","tagline":"Import-Export MDD as mesh shape keys","archive_hash":"sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759","archive_size":4368,"archive_url":"https://extensions.blender.org/download/sha256:100f9d821900bd61ab16ffef061f9bde2162564f06ab01f07659e83cba142759/add-on-newtek-mdd-format-v1.0.3.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/newtek-mdd-format/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory with MDD format files"},"tags":["Import-Export"]},{"id":"demo_mode","schema_version":"1.0.0","name":"Demo Mode","version":"1.0.0","tagline":"Demo mode lets you select multiple blend files and loop ove . . ","archive_hash":"sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62","archive_size":9071,"archive_url":"https://extensions.blender.org/download/sha256:d54b9643f49a26032c9bdb35050143a818f9d0db629435a9a78e8d17198dde62/add-on-demo-mode-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/demo-mode/","maintainer":"campbell","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"scene_information","schema_version":"1.0.0","name":"Scene Information","version":"0.3.1","tagline":"Show information about the .blend","archive_hash":"sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6","archive_size":1816,"archive_url":"https://extensions.blender.org/download/sha256:fdb4bfdbc9e07e2ab29404de0cbd8e746a09b271ec4359d2934063c30ff7afe6/add-on-scene-information-v0.3.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/scene-information/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["System"]},{"id":"paint_palettes","schema_version":"1.0.0","name":"Paint Palettes","version":"0.9.4","tagline":"Palettes for color and weight paint modes","archive_hash":"sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321","archive_size":6133,"archive_url":"https://extensions.blender.org/download/sha256:8c144a176ec5f4bfc530a2847a6bbb460ddd6f10048226605da97ed51ef24321/add-on-paint-palettes-v0.9.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/paint-palettes/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Paint"]},{"id":"nuke_animation_format_chan","schema_version":"1.0.0","name":"Nuke Animation Format (.chan)","version":"1.0.0","tagline":"Import/Export object's animation with nuke","archive_hash":"sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9","archive_size":4340,"archive_url":"https://extensions.blender.org/download/sha256:9b6eed1f16c02a3ab7647f1f18160df19035a25c4a7fac6d05c70ea7a6de90c9/add-on-nuke-animation-format-chan-v1.0.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/nuke-animation-format-chan/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Import-Export"]},{"id":"btracer","schema_version":"1.0.0","name":"BTracer","version":"1.2.4","tagline":"Tools for converting/animating objects/particles into curves","archive_hash":"sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064","archive_size":17367,"archive_url":"https://extensions.blender.org/download/sha256:5a29e1daf2b2a0d8e652c84c9b56c25b1f950d92c8a24b03de5b3aa9bdb98064/add-on-btracer-v1.2.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/btracer/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"tags":["Add Curve"]},{"id":"web3d_x3d_vrml2_format","schema_version":"1.0.0","name":"Web3D X3D/VRML2 format","version":"2.5.1","tagline":"Import-Export X3D, Import VRML2","archive_hash":"sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604","archive_size":100153,"archive_url":"https://extensions.blender.org/download/sha256:74bcf2cb912af4be5db550f9486b4a0470b4513ef61d4df07ba091edd1441604/add-on-web3d-x3d-vrml2-format-v2.5.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/web3d-x3d-vrml2-format/","maintainer":"Bujus_Krachus","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Required to access files for import/export","network":"Required to download web resources for import"},"tags":["Import-Export"]},{"id":"export_camera_animation","schema_version":"1.0.0","name":"Export Camera Animation","version":"0.1.2","tagline":"Export Cameras & Markers to a Python script","archive_hash":"sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed","archive_size":2057,"archive_url":"https://extensions.blender.org/download/sha256:fae5cacd489f79872e1dd8cce0b5ad8080f6bdfdc4633133d069157ac3d790ed/add-on-export-camera-animation-v0.1.2.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/export-camera-animation/","maintainer":"Community","license":["SPDX:GPL-2.0-or-later"],"permissions":{"files":"Requires access to directory where it exports .py file"},"tags":["Import-Export"]},{"id":"cadbase_library","schema_version":"1.0.0","name":"CADBase Library","version":"0.3.0","tagline":"Add-on enables data sync with remote storage (cloud)","archive_hash":"sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be","archive_size":190158,"archive_url":"https://extensions.blender.org/download/sha256:395e335930e4537a2d742750f571c2dbf12c6a9475d2deb22bbe92bfe819f7be/add-on-cadbase-library-v0.3.0.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/cadbase-library/","maintainer":"mnnxp","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Import/export library data from/to disk","network":"Need to to sync library data with a remote server","clipboard":"Copy component link to clipboard"},"tags":["Import-Export"]},{"id":"forts_map","schema_version":"1.0.0","name":"Forts Map Importer","version":"1.0.1","tagline":"Import Forts Map","archive_hash":"sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66","archive_size":4234,"archive_url":"https://extensions.blender.org/download/sha256:4657348ef634c9404c900accbe3cbc7799952cb8416f5afd6f24939483de4b66/add-on-forts-map-v1.0.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/forts-map/","maintainer":"Gonnetz","license":["SPDX:GPL-3.0-or-later"],"tags":["Mesh","Import-Export"]},{"id":"democap_tools","schema_version":"1.0.0","name":"DEMoCap Tools","version":"1.0.4","tagline":"Tools for importing DEMoCap motion captures into Blender","archive_hash":"sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e","archive_size":114185,"archive_url":"https://extensions.blender.org/download/sha256:645fcf063891b4973ac5b1cd96e8ae229586ea53a08ec4650191b4f892d9ba0e/add-on-democap-tools-v1.0.4.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/democap-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Loading motion capture files","network":"Connect to DEMoCap (Live Connection)"},"tags":["Import-Export","3D View","Object","Animation"]},{"id":"dragengine_tools","schema_version":"1.0.0","name":"Drag[en]gine Import/Export","version":"1.29.1","tagline":"Import/Export Drag[en]gine Resources including helper tools","archive_hash":"sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a","archive_size":115706,"archive_url":"https://extensions.blender.org/download/sha256:b72e32bc0067170ec0865d3dc1eef9a487235043d566b286c85456f00189b14a/add-on-dragengine-tools-v1.29.1.zip","type":"add-on","blender_version_min":"4.2.0","website":"https://extensions.blender.org/add-ons/dragengine-tools/","maintainer":"DragonDreams","license":["SPDX:GPL-3.0-or-later"],"permissions":{"files":"Importing/Exporting resources"},"tags":["Import-Export","3D View","Mesh","Object","Animation"]}],"version":"v1"} \ No newline at end of file diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/LICENSE b/extensions/blender_org/bone_widget/LICENSE similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/LICENSE rename to extensions/blender_org/bone_widget/LICENSE diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/__init__.py b/extensions/blender_org/bone_widget/__init__.py similarity index 56% rename from scripts/addons/boneWidget-boneWidget_0_2_1/__init__.py rename to extensions/blender_org/bone_widget/__init__.py index 8a45a44..6501523 100644 --- a/scripts/addons/boneWidget-boneWidget_0_2_1/__init__.py +++ b/extensions/blender_org/bone_widget/__init__.py @@ -18,81 +18,45 @@ Created by Manuel Rais and Christophe Seux along with this program. If not, see . ''' -bl_info = { - "name": "Bone Widget", - "author": "Manuel Rais, Christophe Seux, Bassam Kurdali, Wayne Dixon, Blender Defender, Max Nadolny, Markus Berg", - "version": (2, 1), - "blender": (4, 1, 0), - "location": "UI > Properties Panel", - "description": "Easily Create Bone Widgets", - "warning": "", - "wiki_url": "", - "tracker_url": "", - "category": "Rigging"} - if "bpy" in locals(): import importlib - bl_class_registry.BlClassRegistry.cleanup() - importlib.reload(prefs) + importlib.reload(operators) + importlib.reload(props) importlib.reload(panels) + importlib.reload(prefs) importlib.reload(menus) - + else: import bpy - from . import bl_class_registry from . import operators + from . import props from . import panels from . import prefs from . import menus -import bpy - def get_user_preferences(context): if hasattr(context, "user_preferences"): return context.user_preferences - return context.preferences -def check_version(major, minor, _): - """ - Check blender version - """ - - if bpy.app.version[0] == major and bpy.app.version[1] == minor: - return 0 - if bpy.app.version[0] > major: - return 1 - if bpy.app.version[1] > minor: - return 1 - return -1 - - def register(): operators.register() + props.register() menus.register() - - bl_class_registry.BlClassRegistry.register() + prefs.register() # Apply preferences of the panel location. context = bpy.context pref = get_user_preferences(context).addons[__package__].preferences - # Only default panel location is available in < 2.80 - if check_version(2, 80, 0) < 0: - pref.panel_category = "Rigging" - prefs.BoneWidgetPreferences.panel_category_update_fn(pref, context) + prefs.BoneWidget_preferences.panel_category_update_fn(pref, context) panels.register() + def unregister(): operators.unregister() + props.unregister() menus.unregister() - - # TODO: Unregister by BlClassRegistry - bl_class_registry.BlClassRegistry.unregister() - + prefs.unregister() panels.unregister() - - -if __name__ == "__main__": - register() diff --git a/extensions/blender_org/bone_widget/blender_manifest.toml b/extensions/blender_org/bone_widget/blender_manifest.toml new file mode 100644 index 0000000..1d6a4d3 --- /dev/null +++ b/extensions/blender_org/bone_widget/blender_manifest.toml @@ -0,0 +1,34 @@ +schema_version = "1.0.0" + +id = "bone_widget" +version = "2.3.3" +name = "Bone Widget" +tagline = "Easily Create Bone Widgets" +maintainer = "Wayne Dixon " + +type = "add-on" + +website = "https://github.com/waylow/boneWidget" + +tags = ["Rigging"] + +blender_version_min = "4.2.0" + +license = [ + "SPDX:GPL-3.0-or-later", +] + +[permissions] +files = "Import/export json and image files from/to disk" + +[build] +paths_exclude_pattern = [ + "/.git/", + "__pycache__/", + "images/", + ".*", + "*.blend", + "*.blend[0123456789]", + "*.md", + "*.zip", +] diff --git a/extensions/blender_org/bone_widget/classes.py b/extensions/blender_org/bone_widget/classes.py new file mode 100644 index 0000000..568bc1a --- /dev/null +++ b/extensions/blender_org/bone_widget/classes.py @@ -0,0 +1,168 @@ +from .props import ImportColorSet + + +class BoneWidgetImportData: + """ + Tracks import status for BoneWidgets, including successes, failures, and duplicates. + """ + + def __init__(self): + self.new_imported_items: int = 0 # Count of new successfully imported items + self.total_num_imports: int = 0 # Total number of attempted imports + self.failed_imports: list[Widget | ColorSet] = [] + self.skipped_imports: list[Widget | ColorSet] = [] + self.imported_items: list[Widget | ColorSet] = [] + self.duplicate_imports: list[Widget | ColorSet] = [] + self.import_type: str | None = None # Type of import operation (None if undefined) + self.json_import_error: bool = False # Flag for JSON parsing errors + + def imported(self) -> int: + """Returns the number of newly imported items or total imported items.""" + return self.new_imported_items or len(self.imported_items) + + def skipped(self) -> int: + """Returns the number of skipped imports.""" + return len(self.skipped_imports) + + def failed(self) -> int: + """Returns the number of failed imports.""" + return len(self.failed_imports) + + def total(self) -> int: + """Returns the total number of attempted imports.""" + return self.total_num_imports + + def reset_imports(self) -> None: + """Resets import tracking data, clearing skipped, imported, and duplicate items.""" + self.skipped_imports = [] + self.imported_items = {} + self.duplicate_imports = {} + + +class Widget: + def __init__(self, name: str, widget_dict: dict): + self._name: str = name if name else "Unnamed Widget" + self._vertices: list[list[float]] = widget_dict.get("vertices", [[]]) # Ensure list structure + self._edges: list[list[int]] = widget_dict.get("edges", [[]]) + self._faces: list[list[int]] = widget_dict.get("faces", [[]]) + self._image: str = widget_dict.get("image", "") or "user_defined.png" + + @property + def name(self) -> str: + """Returns the widget name.""" + return self._name + + @name.setter + def name(self, new_name: str) -> None: + self._name = new_name + + @property + def vertices(self) -> list[list[float]]: + """Returns the list of vertices.""" + return self._vertices + + @property + def edges(self) -> list[list[int]]: + """Returns the list of edges.""" + return self._edges + + @property + def faces(self) -> list[list[int]]: + """Returns the list of faces.""" + return self._faces + + @property + def image(self) -> str: + """Returns the image filename.""" + return self._image + + def __repr__(self): + return f"Widget({self.name})" + + def __eq__(self, other: object) -> bool: + if not isinstance(other, Widget): + return False + return ( + self.vertices == other.vertices and + self.edges == other.edges and + self.faces == other.faces and + self.image == other.image + ) + + def to_dict(self) -> dict[str, dict[str, list | str]]: + """ + Returns a dictionary with the widget's name as the key, + and its attributes as the value. Matches the structure of the + original widgets collection. + """ + return { + self.name: { + "vertices": self.vertices, + "edges": self.edges, + "faces": self.faces, + "image": self.image + } + } + + +class ColorSet: + def __init__(self, color_dict: dict[str, list[float]]): + self._name: str = color_dict.get("name", "Unnamed ColorSet") + self._normal: list[float] = color_dict.get("normal", []) + self._select: list[float] = color_dict.get("select", []) + self._active: list[float] = color_dict.get("active", []) + + @property + def name(self) -> str: + """Returns the color set name.""" + return self._name + + @name.setter + def name(self, new_name: str) -> None: + """Sets a new color set name.""" + self._name = new_name + + @property + def normal(self) -> list[float]: + """Returns the normal color values.""" + return self._normal + + @property + def select(self) -> list[float]: + """Returns the select color values.""" + return self._select + + @property + def active(self) -> list[float]: + """Returns the active color values.""" + return self._active + + def __repr__(self) -> str: + return f"ColorSet({self.name})" + + def __eq__(self, other: object) -> bool: + if not isinstance(other, ColorSet): + return False + return ( + self.normal == other.normal and + self.select == other.select and + self.active == other.active + ) + + @classmethod + def from_pg(cls, pg: ImportColorSet) -> "ColorSet": + """ + Creates a ColorSet instance from a Blender PropertyGroup -> ImportColorSet. + + Args: + pg (ImportColorSet): The PropertyGroup holding color data. + + Returns: + ColorSet: A new instance based on the property group. + """ + return cls({ + "name": pg.name, + "normal": list(pg.normal), + "select": list(pg.select), + "active": list(pg.active) + }) diff --git a/extensions/blender_org/bone_widget/functions/__init__.py b/extensions/blender_org/bone_widget/functions/__init__.py new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/extensions/blender_org/bone_widget/functions/__init__.py @@ -0,0 +1 @@ + diff --git a/extensions/blender_org/bone_widget/functions/json_functions.py b/extensions/blender_org/bone_widget/functions/json_functions.py new file mode 100644 index 0000000..9a5c203 --- /dev/null +++ b/extensions/blender_org/bone_widget/functions/json_functions.py @@ -0,0 +1,647 @@ +import bpy +import os +import json +import numpy +import re +from .main_functions import get_preferences +from ..classes import BoneWidgetImportData, Widget, ColorSet +from .. import __package__ + +JSON_DEFAULT_WIDGETS = "widgets.json" +JSON_USER_WIDGETS = "user_widgets.json" +JSON_COLOR_PRESETS = "custom_color_sets.json" + +widget_data = {} + + +def get_addon_dir(): + return os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) + + +def get_custom_dir(): + pref = get_preferences(bpy.context) + if pref.use_default_location: + return bpy.utils.extension_path_user( + package=__package__, path="bone_widget_custom_data", create=True + ) + else: + return pref.user_data_location + + +def get_default_image_dir(image_folder): + return os.path.abspath(os.path.join(get_addon_dir(), image_folder)) + + +def get_custom_image_dir(image_folder): + return os.path.abspath(os.path.join(get_custom_dir(), image_folder)) + + +def get_custom_color_preset_dir(): + return os.path.abspath(os.path.join(get_custom_dir(), JSON_COLOR_PRESETS)) + + +def get_widget_directory(file): + if file == JSON_DEFAULT_WIDGETS: + return os.path.join(get_addon_dir(), file) + elif file == JSON_USER_WIDGETS: + return os.path.join(get_custom_dir(), file) + + +def validate_json_data(data: dict, required_keys: tuple, can_be_empty: bool = True) -> bool: + required_keys = set(required_keys) + + if not isinstance(data, dict): + return False + + # Check if all required keys are present + if not required_keys.issubset(data.keys()): + return False + + if not can_be_empty: + # Check if values are not empty + if any(not data[key] for key in required_keys): + return False + return True + + +def update_preview_collection(): + from .functions.preview_functions import create_preview_collection + create_preview_collection() + + +def objectDataToDico(object, custom_image): + verts = [] + depsgraph = bpy.context.evaluated_depsgraph_get() + mesh = object.evaluated_get(depsgraph).to_mesh() + + for v in mesh.vertices: + verts.append(tuple(numpy.array(tuple(v.co)) * + (object.scale[0], object.scale[1], object.scale[2]))) + + polygons = [] + for p in mesh.polygons: + polygons.append(tuple(p.vertices)) + + edges = [] + for e in mesh.edges: + edges.append(e.key) + + custom_image = custom_image if custom_image != "" else "user_defined.png" + + wgts = {"vertices": verts, "edges": edges, + "faces": polygons, "image": custom_image} + + return (wgts) + + +def read_widgets(filename=""): + global widget_data + wgts = {} + + if not filename: + files = [JSON_DEFAULT_WIDGETS, JSON_USER_WIDGETS] + else: + files = [filename] + + for file in files: + jsonFile = get_widget_directory(file) + if os.path.exists(jsonFile): + f = open(jsonFile, 'r') + wgts.update(json.load(f)) + f.close() + + if not filename: # if both files have been read + widget_data = wgts.copy() + + return (wgts) + + +def get_widget_data(widget): + return widget_data[widget] + + +def write_widgets(wgts, file): + jsonFile = get_widget_directory(file) + # if os.path.exists(jsonFile): + f = open(jsonFile, 'w') + f.write(json.dumps(wgts)) + f.close() + + +def add_remove_widgets(context, addOrRemove, items, widgets, widget_name="", custom_image=""): + wgts = {} + + # file from where the widget should be read or written to + file = JSON_USER_WIDGETS + + widget_items = [] + for widget_item in items: + widget_items.append(widget_item[1]) + + activeShape = None + ob_name = None + return_message = "" + if addOrRemove == 'add': + wgts = read_widgets(file) + bw_widget_prefix = get_preferences(context).widget_prefix + for ob in widgets: + if not widget_name: + if ob.name.startswith(bw_widget_prefix): + ob_name = ob.name[len(bw_widget_prefix):] + else: + ob_name = ob.name + else: + ob_name = widget_name + + if (ob_name) not in widget_items: + widget_items.append(ob_name) + wgts[ob_name] = objectDataToDico(ob, custom_image) + activeShape = ob_name + return_message = "Widget - " + ob_name + " has been added!" + + elif addOrRemove == 'remove': + user_widgets = read_widgets(file) + if widgets in user_widgets: + wgts = user_widgets + else: + file = JSON_DEFAULT_WIDGETS + wgts = read_widgets(file) + + del wgts[widgets] + if widgets in widget_items: + widget_index = widget_items.index(widgets) + activeShape = widget_items[widget_index + + 1] if widget_index == 0 else widget_items[widget_index - 1] + widget_items.remove(widgets) + return_message = "Widget - " + widgets + " has been removed!" + + if activeShape is not None: + + write_widgets(wgts, file) + + # update the preview panel + update_preview_collection() + + # trigger an update and display widget + bpy.context.window_manager.widget_list = activeShape + + return 'INFO', return_message + elif ob_name is not None: + return 'WARNING', "Widget - " + ob_name + " already exists!" + + +def export_widget_library(filepath): + wgts = read_widgets(JSON_USER_WIDGETS) + + if wgts: + # variables needed for exporting widgets + dest_dir = os.path.dirname(filepath) + json_dir = get_custom_dir() + image_folder = 'custom_thumbnails' + custom_image_dir = get_custom_image_dir(image_folder) + + filename = os.path.basename(filepath) + if not filename: + filename = "widget_library.zip" + elif not filename.endswith('.zip'): + filename += ".zip" + + # start the zipping process + try: + from zipfile import ZipFile + with ZipFile(os.path.join(dest_dir, filename), "w") as zip: + # write the json file + file = os.path.join(json_dir, JSON_USER_WIDGETS) + arcname = os.path.basename(file) + zip.write(file, arcname=arcname) + + # write the custom images if present + if os.path.exists(custom_image_dir): + from pathlib import Path + for filepath in Path(custom_image_dir).iterdir(): + arcname = os.path.join( + image_folder, os.path.basename(filepath)) + zip.write(filepath, arcname=arcname) + except Exception as e: + print("Error exporting widget library: ", e) + return 0 + + return len(wgts) + + +def import_widget_library(filepath, action=""): + required_data_keys = ("vertices", "faces", "edges", "image") # json data + wgts = {} + + from zipfile import ZipFile + # dest_dir = os.path.abspath(os.path.join(get_addon_dir(), '..')) + dest_dir = bpy.app.tempdir + + widget_import = BoneWidgetImportData() + + widget_import.import_type = "widget" + + if os.path.exists(filepath) and action: + try: + + with ZipFile(filepath, 'r') as zip_file: + # extract images + for file in zip_file.namelist(): + if file.startswith('custom_thumbnails/'): + zip_file.extract(file, dest_dir) + elif file.endswith('.json'): # extract data from the .json file + f = zip_file.read(file) + json_data = f.decode('utf8').replace("'", '"') + wgts = json.loads(json_data) + + # validate wgts data type + if not isinstance(wgts, dict): + raise TypeError( + f"Expected a dictionary, but got {type(wgts).__name__}") + + current_wgts = read_widgets(JSON_USER_WIDGETS) + + # check for duplicate names + for name, data in sorted(wgts.items()): # sorting by keys + widget_import.total_num_imports += 1 + # validate json data + if not validate_json_data(data, required_data_keys): + widget_import.failed_imports.append(Widget(name, data)) + continue + + if action == "ASK": + widget_import.skipped_imports.append(Widget(name, data)) + elif action == "OVERWRITE": + widget_import.imported_items.append(Widget(name, data)) + elif action == "SKIP": + # check for duplicates + data_match = data == current_wgts[name] + if data_match: + widget_import.skipped_imports.append( + Widget(name, data)) + # widget_import.duplicate_imports.update({name : data}) + elif name not in current_wgts: + widget_import.imported_items.append(Widget(name, data)) + else: + widget_import.skipped_imports.append( + Widget(name, data)) + else: + widget_import.failed_imports.append(Widget(name, data)) + + except TypeError as e: # Handle data type errors specifically + print(f"Error while importing widget library: {e}") + widget_import.json_import_error = True + except Exception as e: + print(f"Error while importing widget library: {e}") + for name, data in wgts.items(): + widget_import.failed_imports.append(Widget(name, data)) + widget_import.total_num_imports = widget_import.failed() + return widget_import + + +def update_widget_library(new_widgets: dict[str, dict[str, list | str]], + new_images: set[str], zip_filepath: str) -> None: + # store the currently selected widget + current_widget = bpy.context.window_manager.widget_list + + wgts = read_widgets(JSON_USER_WIDGETS) + wgts.update(new_widgets) + + write_widgets(wgts, JSON_USER_WIDGETS) + + # extract any images needed from zip library + if new_images: + from zipfile import ZipFile + dest_dir = get_custom_dir() + if os.path.exists(zip_filepath): + try: + with ZipFile(zip_filepath, 'r') as zip_file: + for file in zip_file.namelist(): + if file.startswith('custom_thumbnails/') and file.split("/")[1] in new_images: + zip_file.extract(file, dest_dir) + except Exception as e: + print("Failed to extract custom images: ", e) + else: + print("zip file path doesn't exist!! - ", zip_filepath) + + # update the preview panel + update_preview_collection() + + # trigger an update and display original but updated widget + bpy.context.window_manager.widget_list = current_widget + + +def update_custom_image(image_name): + current_widget = bpy.context.window_manager.widget_list + current_widget_data = get_widget_data(current_widget) + + # swap out the image + current_widget_data['image'] = image_name + + # update and write the new data + wgts = read_widgets(JSON_USER_WIDGETS) + if current_widget in wgts: + wgts[current_widget] = current_widget_data + write_widgets(wgts, JSON_USER_WIDGETS) + else: + wgts = read_widgets(JSON_DEFAULT_WIDGETS) + wgts[current_widget] = current_widget_data + write_widgets(wgts, JSON_DEFAULT_WIDGETS) + + # update the preview panel + update_preview_collection() + + # trigger an update and display original but updated widget + bpy.context.window_manager.widget_list = current_widget + + +def reset_default_images(): + current_widget = bpy.context.window_manager.widget_list + wgts = read_widgets(JSON_DEFAULT_WIDGETS) + + for name, data in wgts.items(): + image = f"{name}.png" + data["image"] = image + + write_widgets(wgts, JSON_DEFAULT_WIDGETS) + + # update the preview panel + update_preview_collection() + + # trigger an update and display original but updated widget + bpy.context.window_manager.widget_list = current_widget + + +################ COLOR PRESETS ################ + +def read_color_presets(): + presets = {} + + # Read the JSON file + json_file = get_custom_color_preset_dir() + if os.path.exists(json_file): + with open(json_file, "r") as file: + presets = json.load(file) + + presets = {item["name"]: item for item in presets} # convert to dictionary + + return presets + + +def update_color_presets(new_presets, zip_filepath): + for preset in new_presets: + add_color_set(bpy.context, preset) + + # extract any images needed from zip library + # if new_images: + # from zipfile import ZipFile + # dest_dir = os.path.abspath(os.path.join(get_addon_dir(), '..')) + # if os.path.exists(zip_filepath): + # try: + # with ZipFile(zip_filepath, 'r') as zip_file: + # for file in zip_file.namelist(): + # if file.startswith('custom_thumbnails/') and file.split("/")[1] in new_images: + # zip_file.extract(file, dest_dir) + # except: + # pass + + +def import_color_presets(filepath, action=""): + required_data_keys = ("name", "normal", "select", "active") # json data + presets = None + + from zipfile import ZipFile + dest_dir = get_custom_dir() + + presets_import = BoneWidgetImportData() + + presets_import.import_type = "colorset" + + if os.path.exists(filepath) and action: + try: + with ZipFile(filepath, 'r') as zip_file: + # extract images + for file in zip_file.namelist(): + # if file.startswith('preset_thumbnails/'): + # zip_file.extract(file, dest_dir) + if file.endswith('.json'): # extract data from the .json file + f = zip_file.read(file) + json_data = f.decode('utf8').replace("'", '"') + presets = json.loads(json_data) + + # validate presets data type + if not isinstance(presets, list): + raise TypeError( + f"Expected a list, but got {type(presets).__name__}") + + current_presets = read_color_presets() + + # check for duplicate presets + for preset in presets: + presets_import.total_num_imports += 1 + + # validate json data + if not validate_json_data(preset, required_data_keys, False): + presets_import.failed_imports.append(ColorSet(preset)) + continue + + name = preset['name'] + if action == "ASK": + presets_import.skipped_imports.append(ColorSet(preset)) + elif action == "OVERWRITE": + presets_import.imported_items.append(ColorSet(preset)) + elif action == "SKIP": + # name and colors match or just colors match + if colors_match(preset, current_presets[name]): + presets_import.skipped_imports.append(ColorSet(preset)) + elif not name in current_presets: + presets_import.imported_items.append(ColorSet(preset)) + else: + presets_import.skipped_imports.append(ColorSet(preset)) + else: + presets_import.failed_imports.append(ColorSet(preset)) + + except TypeError as e: # Handle data type errors specifically + print(f"Error while importing color presets: {e}") + presets_import.json_import_error = True + except Exception as e: + print(f"Error while importing color presets: {e}") + for preset in presets: + presets_import.failed_imports.append(ColorSet(preset)) + presets_import.total_num_imports = presets_import.failed() + return presets_import + + +def colors_match(set1, set2): + if isinstance(set1, dict): + return set1['normal'] == set2['normal'] \ + and set1['select'] == set2['select'] \ + and set1['active'] == set2['active'] + elif isinstance(set1, bpy.types.ThemeBoneColorSet): + return set1.normal == set2.normal \ + and set1.select == set2.select \ + and set1.active == set2.active + + +def scan_armature_color_presets(context, armature): + found_color_sets = set() + + colorsets_import = BoneWidgetImportData() + colorsets_import.import_type = "colorset" + + current_color_sets = context.window_manager.custom_color_presets + + # edit bones + for bone in armature.bones: + if bone.color.is_custom: + is_unique_colorset = True + for color_set in current_color_sets: + if colors_match(bone.color.custom, color_set): + is_unique_colorset = False # not unique + break + + color_data = (tuple(bone.color.custom.normal), tuple( + bone.color.custom.select), tuple(bone.color.custom.active)) + if is_unique_colorset and not color_data in found_color_sets: + color_set = {attr: list(getattr(bone.color.custom, attr)[:3]) for attr in [ + "normal", "active", "select"]} + color_set['name'] = bone.name + colorsets_import.skipped_imports.append(ColorSet(color_set)) + found_color_sets.add(color_data) + + # pose bones + pose_bone = context.object.pose.bones.get(bone.name) + if pose_bone.color.is_custom: + is_unique_colorset = True + for color_set in current_color_sets: + if colors_match(pose_bone.color.custom, color_set): + is_unique_colorset = False # not unique + break + + color_data = (tuple(pose_bone.color.custom.normal), tuple( + pose_bone.color.custom.select), tuple(pose_bone.color.custom.active)) + if is_unique_colorset and not color_data in found_color_sets: + color_set = {attr: list(getattr(pose_bone.color.custom, attr)[ + :3]) for attr in ["normal", "active", "select"]} + color_set['name'] = bone.name + colorsets_import.skipped_imports.append(ColorSet(color_set)) + found_color_sets.add(color_data) + + return colorsets_import + + +def export_color_presets(filepath, context): + color_presets = len(context.window_manager.custom_color_presets) + + if color_presets: + dest_dir = os.path.dirname(filepath) + json_dir = get_custom_dir() + # image_folder = 'preset_thumbnails' + # custom_image_dir = get_custom_image_dir(image_folder) + + filename = os.path.basename(filepath) + if not filename: + filename = "color_presets.zip" + elif not filename.endswith('.zip'): + filename += ".zip" + + # start the zipping process + try: + from zipfile import ZipFile + with ZipFile(os.path.join(dest_dir, filename), "w") as zip: + # write the json file + file = os.path.join(json_dir, JSON_COLOR_PRESETS) + arcname = os.path.basename(file) + zip.write(file, arcname=arcname) + except Exception as e: + print("Error exporting color presets: ", e) + return 0 + + return color_presets + + +def add_color_set_from_bone(context, bone, suffix_name): + new_item = context.window_manager.custom_color_presets.add() + + color_set = bone.color.custom + + new_name = bone.name + suffix_name # CHANGE LATER + + # check if the name already ends with an incremented number + match = re.match(r"^(.*)\.(\d{3})$", new_name) + count = int(match.group(2)) if match else 1 + base_name = match.group(1) if match else new_name + + while any(item.name == new_name for item in context.window_manager.custom_color_presets): + new_name = f"{base_name}.{count:03d}" + count += 1 + + new_item.name = new_name + + if not color_set: # new default color set + new_item.normal = (1.0, 0.0, 0.0) + new_item.select = (0.0, 1.0, 0.0) + new_item.active = (0.0, 0.0, 1.0) + else: + new_item.normal = color_set.normal + new_item.select = color_set.select + new_item.active = color_set.active + + +def add_color_set(context, color_set=None): + new_item = context.window_manager.custom_color_presets.add() + + base_name = "Color Set" if not color_set else color_set.name + new_name = base_name + + # check if the name already ends with an incremented number + match = re.match(r"^(.*)\.(\d{3})$", base_name) + count = int(match.group(2)) if match else 1 + base_name = match.group(1) if match else new_name + + while any(item.name == new_name for item in context.window_manager.custom_color_presets): + new_name = f"{base_name}.{count:03d}" + count += 1 + + new_item.name = new_name + + if not color_set: # new default color set + new_item.normal = (1.0, 0.0, 0.0) + new_item.select = (0.0, 1.0, 0.0) + new_item.active = (0.0, 0.0, 1.0) + else: + new_item.normal = color_set.normal + new_item.select = color_set.select + new_item.active = color_set.active + + +def save_color_sets(context): + if not bpy.context.window_manager.turn_off_colorset_save: + bpy.context.window_manager.turn_off_colorset_save = True + color_sets = [{ + "name": item.name, + "normal": list(item.normal), + "select": list(item.select), + "active": list(item.active) + } for item in context.window_manager.custom_color_presets] + + filepath = get_custom_color_preset_dir() + with open(filepath, 'w') as f: + json.dump(color_sets, f, indent=4) + bpy.context.window_manager.turn_off_colorset_save = False + + +def load_color_presets(): + filepath = get_custom_color_preset_dir() + if os.path.exists(filepath): + with open(filepath, 'r') as f: + color_sets = json.load(f) + bpy.context.window_manager.custom_color_presets.clear() + bpy.context.window_manager.turn_off_colorset_save = True + for item in color_sets: + new_item = bpy.context.window_manager.custom_color_presets.add() + new_item.name = item["name"] + new_item.normal = item["normal"] + new_item.select = item["select"] + new_item.active = item["active"] + bpy.context.window_manager.turn_off_colorset_save = False diff --git a/extensions/blender_org/bone_widget/functions/main_functions.py b/extensions/blender_org/bone_widget/functions/main_functions.py new file mode 100644 index 0000000..6eab710 --- /dev/null +++ b/extensions/blender_org/bone_widget/functions/main_functions.py @@ -0,0 +1,614 @@ +import bpy +import numpy +from mathutils import Matrix, Vector +from .. import __package__ + + +def get_collection(context): + # check user preferences for the name of the collection + if not get_preferences(context).use_rigify_defaults: + bw_collection_name = get_preferences( + context).bonewidget_collection_name + else: + bw_collection_name = "WGTS_" + context.active_object.name + + collection = recursive_layer_collection( + context.scene.collection, bw_collection_name) + if collection: # if it already exists + return collection + + collection = bpy.data.collections.get(bw_collection_name) + + if collection: # if it exists but not linked to scene + context.scene.collection.children.link(collection) + return collection + + else: # create a new collection + collection = bpy.data.collections.new(bw_collection_name) + context.scene.collection.children.link(collection) + # hide new collection + viewlayer_collection = context.view_layer.layer_collection.children[collection.name] + viewlayer_collection.hide_viewport = True + return collection + + +def recursive_layer_collection(layer_collection, collection_name): + found = None + if (layer_collection.name == collection_name): + return layer_collection + for layer in layer_collection.children: + found = recursive_layer_collection(layer, collection_name) + if found: + return found + + +def get_view_layer_collection(context, widget=None): + widget_collection = bpy.data.collections[bpy.data.objects[widget.name].users_collection[0].name] + # save current active layer_collection + saved_layer_collection = bpy.context.view_layer.layer_collection + # actually find the view_layer we want + layer_collection = recursive_layer_collection( + saved_layer_collection, widget_collection.name) + # make sure the collection (data level) is not hidden + widget_collection.hide_viewport = False + + # change the active view layer + bpy.context.view_layer.active_layer_collection = layer_collection + # make sure it isn't excluded so it can be edited + layer_collection.exclude = False + # return the active view layer to what it was + bpy.context.view_layer.active_layer_collection = saved_layer_collection + + return layer_collection + + +def match_bone_matrix(widget, match_bone): + if widget == None: + return + widget.matrix_local = match_bone.bone.matrix_local + widget.matrix_world = match_bone.id_data.matrix_world @ match_bone.bone.matrix_local + if match_bone.custom_shape_transform: + # if it has a transform override, apply this to the widget loc and rot + org_scale = widget.matrix_world.to_scale() + org_scale_mat = Matrix.Scale(1, 4, org_scale) + target_matrix = match_bone.custom_shape_transform.id_data.matrix_world @ match_bone.custom_shape_transform.bone.matrix_local + loc = target_matrix.to_translation() + loc_mat = Matrix.Translation(loc) + rot = target_matrix.to_euler().to_matrix() + widget.matrix_world = loc_mat @ rot.to_4x4() @ org_scale_mat + + if match_bone.use_custom_shape_bone_size: + ob_scale = bpy.context.scene.objects[match_bone.id_data.name].scale + widget.scale = [match_bone.bone.length * ob_scale[0], + match_bone.bone.length * ob_scale[1], match_bone.bone.length * ob_scale[2]] + + # if the user has added any custom transforms to the bone widget display - calculate this too + loc = match_bone.custom_shape_translation + rot = match_bone.custom_shape_rotation_euler + scale = match_bone.custom_shape_scale_xyz + widget.scale *= scale + widget.matrix_world = widget.matrix_world @ Matrix.LocRotScale( + loc, rot, widget.scale) + + widget.data.update() + + +def from_widget_find_bone(widget): + match_bone = None + for ob in bpy.context.scene.objects: + if ob.type == "ARMATURE": + for bone in ob.pose.bones: + if bone.custom_shape == widget: + match_bone = bone + return match_bone + + +def create_widget(bone, widget, relative, size, slide, rotation, collection, use_face_data, wireframe_width): + if not get_preferences(bpy.context).use_rigify_defaults: + bw_widget_prefix = get_preferences(bpy.context).widget_prefix + else: + bw_widget_prefix = "WGT-" + bpy.context.active_object.name + "_" + + matrix_bone = bone + + # delete the existing shape + if bone.custom_shape: + bpy.data.objects.remove( + bpy.data.objects[bone.custom_shape.name], do_unlink=True) + + # make the data name include the prefix + new_data = bpy.data.meshes.new(bw_widget_prefix + bone.name) + + bone.use_custom_shape_bone_size = relative + + # deal with face data + faces = widget['faces'] if use_face_data else [] + + # add the verts + new_data.from_pydata(numpy.array( + widget['vertices']) * size, widget['edges'], faces) + + # Create transform matrices (slide vector and rotation) + widget_matrix = Matrix() + + # make the slide value always relative to the bone length + if not relative: # TODO: shift this to user preference? + slide = Vector(slide) # turn slide into a vector + slide *= bone.length + trans = Matrix.Translation(slide) + + rot = rotation.to_matrix().to_4x4() + + # Translate then rotate the matrix + widget_matrix = widget_matrix @ trans + widget_matrix = widget_matrix @ rot + + # transform the widget with this matrix + new_data.transform(widget_matrix) + + new_data.update(calc_edges=True) + + new_object = bpy.data.objects.new(bw_widget_prefix + bone.name, new_data) + + new_object.data = new_data + new_object.name = bw_widget_prefix + bone.name + collection.objects.link(new_object) + + new_object.matrix_world = bpy.context.active_object.matrix_world @ matrix_bone.bone.matrix_local + new_object.scale = [matrix_bone.bone.length, + matrix_bone.bone.length, matrix_bone.bone.length] + layer = bpy.context.view_layer + layer.update() + + bone.custom_shape = new_object + # show faces if use face data is enabled + bone.bone.show_wire = not use_face_data + + if bpy.app.version >= (4, 2, 0): + bone.custom_shape_wire_width = wireframe_width + + +def symmetrize_widget(bone, collection): + if not get_preferences(bpy.context).use_rigify_defaults: + bw_widget_prefix = get_preferences(bpy.context).widget_prefix + rigify_object_name = '' + else: + bw_widget_prefix = "WGT-" + rigify_object_name = bpy.context.active_object.name + "_" + + mirror_bone = find_mirror_object(bone) + if not mirror_bone: + return + + widget = bone.custom_shape + if not widget or not widget.data: + return + + # clean up existing mirrored widget if it's different + mirror_widget = mirror_bone.custom_shape + if mirror_widget and mirror_widget != widget: + existing = bpy.context.scene.objects.get(mirror_widget.name) + if existing: + bpy.data.objects.remove(existing) + + # create mirrored mesh data + new_data = widget.data.copy() + for vert in new_data.vertices: + vert.co.x *= -1 # mirror along X-axis + + new_object = widget.copy() + new_object.data = new_data + new_object.name = bw_widget_prefix + rigify_object_name + mirror_bone.name + bpy.data.collections[collection.name].objects.link(new_object) + + # use custom shape transform if available + transform_bone = mirror_bone.custom_shape_transform or mirror_bone + new_object.matrix_local = transform_bone.bone.matrix_local + new_object.scale = [transform_bone.bone.length] * 3 + new_object.data.flip_normals() + + bpy.context.view_layer.update() + + mirror_bone.custom_shape = new_object + mirror_bone.bone.show_wire = bone.bone.show_wire + mirror_bone.use_custom_shape_bone_size = bone.use_custom_shape_bone_size + + symmetrize_color = get_preferences(bpy.context).symmetrize_color + if bpy.app.version >= (4, 0, 0) and symmetrize_color: + # pose bone colors + mirror_bone.bone.color.custom.normal = bone.bone.color.custom.normal + mirror_bone.bone.color.custom.select = bone.bone.color.custom.select + mirror_bone.bone.color.custom.active = bone.bone.color.custom.active + mirror_bone.bone.color.palette = bone.bone.color.palette + + # edit bone colors + mirror_bone.color.custom.normal = bone.color.custom.normal + mirror_bone.color.custom.select = bone.color.custom.select + mirror_bone.color.custom.active = bone.color.custom.active + mirror_bone.color.palette = bone.color.palette + + if bpy.app.version >= (4, 2, 0): + mirror_bone.custom_shape_wire_width = bone.custom_shape_wire_width + + +def symmetrize_widget_helper(bone, collection, active_object, widgets_and_bones): + bw_symmetry_suffix = get_preferences(bpy.context).symmetry_suffix + bw_symmetry_suffix = bw_symmetry_suffix.split(";") + + suffix_1 = bw_symmetry_suffix[0].replace(" ", "") + suffix_2 = bw_symmetry_suffix[1].replace(" ", "") + + if active_object.name.endswith(suffix_1): + if bone.name.endswith(suffix_1) and widgets_and_bones[bone]: + symmetrize_widget(bone, collection) + elif active_object.name.endswith(suffix_2): + if bone.name.endswith(suffix_2) and widgets_and_bones[bone]: + symmetrize_widget(bone, collection) + + +def delete_unused_widgets(): + if not get_preferences(bpy.context).use_rigify_defaults: + bw_collection_name = get_preferences( + bpy.context).bonewidget_collection_name + else: + bw_collection_name = 'WGTS_' + bpy.context.active_object.name + + collection = recursive_layer_collection( + bpy.context.scene.collection, bw_collection_name) + widget_list = [] + + for ob in bpy.data.objects: + if ob.type == 'ARMATURE': + for bone in ob.pose.bones: + if bone.custom_shape: + widget_list.append(bone.custom_shape) + + unwanted_list = [ + ob for ob in collection.all_objects if ob not in widget_list] + + for ob in unwanted_list: + bpy.data.objects.remove(bpy.data.objects[ob.name], do_unlink=True) + + return + + +def edit_widget(active_bone): + widget = active_bone.custom_shape + + collection = get_view_layer_collection(bpy.context, widget) + collection.hide_viewport = False + + # hide all other objects in collection + for obj in collection.collection.all_objects: + if obj.name != widget.name: + obj.hide_set(True) + else: + obj.hide_set(False) # in case user manually hid it + + armature = active_bone.id_data + bpy.ops.object.mode_set(mode='OBJECT') + bpy.context.active_object.select_set(False) + + if bpy.context.space_data.local_view: + bpy.ops.view3d.localview() + + # select object and make it active + widget.select_set(True) + bpy.context.view_layer.objects.active = widget + bpy.ops.object.mode_set(mode='EDIT') + bpy.context.tool_settings.mesh_select_mode = ( + True, False, False) # enter vertex mode + + +def return_to_armature(widget): + bone = from_widget_find_bone(widget) + armature = bone.id_data + + if bpy.context.active_object.mode == 'EDIT': + bpy.ops.object.mode_set(mode='OBJECT') + + bpy.ops.object.select_all(action='DESELECT') + + collection = get_view_layer_collection(bpy.context, widget) + collection.hide_viewport = True + + # unhide all objects in the collection + for obj in collection.collection.all_objects: + obj.hide_set(False) + + if bpy.context.space_data.local_view: + bpy.ops.view3d.localview() + + bpy.context.view_layer.objects.active = armature + armature.select_set(True) + bpy.ops.object.mode_set(mode='POSE') + if bpy.app.version < (5, 0, 0): + armature.data.bones[bone.name].select = True + armature.data.bones.active = armature.data.bones[bone.name] + + +def find_mirror_object(object): + bw_symmetry_suffix = get_preferences(bpy.context).symmetry_suffix + bw_symmetry_suffix = bw_symmetry_suffix.split(";") + + suffix_1 = bw_symmetry_suffix[0].replace(" ", "") + suffix_2 = bw_symmetry_suffix[1].replace(" ", "") + + if object.name.endswith(suffix_1): + suffix = suffix_2 + suffix_length = len(suffix_1) + + elif object.name.endswith(suffix_2): + suffix = suffix_1 + suffix_length = len(suffix_2) + + elif object.name.endswith(suffix_1.lower()): + suffix = suffix_2.lower() + suffix_length = len(suffix_1) + elif object.name.endswith(suffix_2.lower()): + suffix = suffix_1.lower() + suffix_length = len(suffix_2) + else: # what if the widget ends in .001? + print('Object suffix unknown, using blank') + suffix = '' + + object_name = list(object.name) + object_base_name = object_name[:-suffix_length] + mirrored_object_name = "".join(object_base_name) + suffix + + if object.id_data.type == 'ARMATURE': + return object.id_data.pose.bones.get(mirrored_object_name) + else: + return bpy.context.scene.objects.get(mirrored_object_name) + + +def find_match_bones(): + bw_symmetry_suffix = get_preferences(bpy.context).symmetry_suffix + bw_symmetry_suffix = bw_symmetry_suffix.split(";") + + suffix_1 = bw_symmetry_suffix[0].replace(" ", "") + suffix_2 = bw_symmetry_suffix[1].replace(" ", "") + + widgets_and_bones = {} + + if bpy.context.object.type == 'ARMATURE': + for bone in bpy.context.selected_pose_bones: + if bone.name.endswith(suffix_1) or bone.name.endswith(suffix_2): + widgets_and_bones[bone] = bone.custom_shape + mirror_bone = find_mirror_object(bone) + if mirror_bone: + widgets_and_bones[mirror_bone] = mirror_bone.custom_shape + + armature = bpy.context.object + active_object = bpy.context.active_pose_bone + else: + for shape in bpy.context.selected_objects: + bone = from_widget_find_bone(shape) + if bone.name.endswith(("L", "R")): + widgets_and_bones[from_widget_find_bone(shape)] = shape + + mirrorShape = find_mirror_object(shape) + if mirrorShape: + widgets_and_bones[mirrorShape] = mirrorShape + + active_object = from_widget_find_bone(bpy.context.object) + armature = active_object.id_data + return (widgets_and_bones, active_object, armature) + + +def resync_widget_names(): + if not get_preferences(bpy.context).use_rigify_defaults: + bw_collection_name = get_preferences( + bpy.context).bonewidget_collection_name + bw_widget_prefix = get_preferences(bpy.context).widget_prefix + else: + bw_collection_name = 'WGTS_' + bpy.context.active_object.name + bw_widget_prefix = 'WGT-' + bpy.context.active_object.name + '_' + + widgets_and_bones = {} + + if bpy.context.object.type == 'ARMATURE': + for bone in bpy.context.active_object.pose.bones: + if bone.custom_shape: + widgets_and_bones[bone] = bone.custom_shape + + for k, v in widgets_and_bones.items(): + if k.name != (bw_widget_prefix + k.name): + bpy.data.objects[v.name].name = str(bw_widget_prefix + k.name) + + +def clear_bone_widgets(): + if bpy.context.object.type == 'ARMATURE': + for bone in bpy.context.selected_pose_bones: + if bone.custom_shape: + bone.custom_shape = None + bone.custom_shape_transform = None + + +def add_object_as_widget(context, collection): + selected_objects = bpy.context.selected_objects + + if len(selected_objects) != 2: + print('Only a widget object and the pose bone(s)') + return {'FINISHED'} + + allowed_object_types = ['MESH', 'CURVE'] + + widget_object = None + + for ob in selected_objects: + if ob.type in allowed_object_types: + widget_object = ob + + if widget_object: + active_bone = context.active_pose_bone + + # deal with any existing shape + if active_bone.custom_shape: + bpy.data.objects.remove( + bpy.data.objects[active_bone.custom_shape.name], do_unlink=True) + + # duplicate shape + widget = widget_object.copy() + widget.data = widget.data.copy() + # rename it + bw_widget_prefix = get_preferences(context).widget_prefix + widget_name = bw_widget_prefix + active_bone.name + widget.name = widget_name + widget.data.name = widget_name + # link it + collection.objects.link(widget) + + # match transforms + widget.matrix_world = bpy.context.active_object.matrix_world @ active_bone.bone.matrix_local + widget.scale = [active_bone.bone.length, + active_bone.bone.length, active_bone.bone.length] + layer = bpy.context.view_layer + layer.update() + + active_bone.custom_shape = widget + active_bone.bone.show_wire = True + + # deselect original object + widget_object.select_set(False) + + +def set_bone_color(context, color, clear_both_modes=None): + if context.object.mode == "POSE": + if color == 'DEFAULT' and clear_both_modes != None: + for bone in context.selected_pose_bones: + bone.color.palette = 'DEFAULT' + + if clear_both_modes: + bone.bone.color.palette = 'DEFAULT' + return + + for bone in context.selected_pose_bones: + bone.color.palette = color # this will get the selected bone color + + if color == "CUSTOM": + bone.color.custom.normal = context.scene.bw_settings.custom_pose_color_set.normal + bone.color.custom.select = context.scene.bw_settings.custom_pose_color_set.select + bone.color.custom.active = context.scene.bw_settings.custom_pose_color_set.active + + # set the edit bone colors if applicable (while in pose mode) + if get_preferences(context).edit_bone_colors == 'DEFAULT': + bone.bone.color.palette = 'DEFAULT' # this will reset the edit bone color + + elif get_preferences(context).edit_bone_colors == 'LINKED': + bone.bone.color.palette = color # set the edit bone colors + + # Set the custom color to edit bones (if applicable) + if color == "CUSTOM": + bone.bone.color.custom.normal = context.scene.bw_settings.custom_pose_color_set.normal + bone.bone.color.custom.select = context.scene.bw_settings.custom_pose_color_set.select + bone.bone.color.custom.active = context.scene.bw_settings.custom_pose_color_set.active + + elif context.object.mode == "EDIT": + if color == 'DEFAULT' and clear_both_modes != None: + for edit_bone in context.selected_bones: + edit_bone.color.palette = 'DEFAULT' + + if clear_both_modes: + pose_bone = context.object.pose.bones.get(edit_bone.name) + pose_bone.color.palette = 'DEFAULT' + + return + + for edit_bone in context.selected_bones: + if get_preferences(context).edit_bone_colors == 'DEFAULT': + # this will get the edit bone color back to default + edit_bone.color.palette = 'DEFAULT' + + elif get_preferences(context).edit_bone_colors == 'LINKED': + edit_bone.color.palette = color # set the edit mode color + + # get the pose bone + pose_bone = context.object.pose.bones.get(edit_bone.name) + pose_bone.color.palette = color # set the pose mode color + + if color == "CUSTOM": + # set edit bone custom colors + edit_bone.color.custom.normal = context.scene.bw_settings.custom_edit_color_set.normal + edit_bone.color.custom.select = context.scene.bw_settings.custom_edit_color_set.select + edit_bone.color.custom.active = context.scene.bw_settings.custom_edit_color_set.active + # set pose bone custom colors + pose_bone.color.custom.normal = context.scene.bw_settings.custom_edit_color_set.normal + pose_bone.color.custom.select = context.scene.bw_settings.custom_edit_color_set.select + pose_bone.color.custom.active = context.scene.bw_settings.custom_edit_color_set.active + + elif get_preferences(context).edit_bone_colors == 'SEPARATE': + edit_bone.color.palette = color # set the edit mode color + + if color == "CUSTOM": + # set edit bone custom colors + edit_bone.color.custom.normal = context.scene.bw_settings.custom_edit_color_set.normal + edit_bone.color.custom.select = context.scene.bw_settings.custom_edit_color_set.select + edit_bone.color.custom.active = context.scene.bw_settings.custom_edit_color_set.active + + +def copy_bone_color(context, bone): + live_update_current_state = context.scene.bw_settings.live_update_on + context.scene.bw_settings.live_update_on = False + + if bone.color.is_custom: + if context.object.mode == 'POSE': + context.scene.bw_settings.custom_pose_color_set.normal = bone.color.custom.normal + context.scene.bw_settings.custom_pose_color_set.select = bone.color.custom.select + context.scene.bw_settings.custom_pose_color_set.active = bone.color.custom.active + else: + context.scene.bw_settings.custom_edit_color_set.normal = bone.color.custom.normal + context.scene.bw_settings.custom_edit_color_set.select = bone.color.custom.select + context.scene.bw_settings.custom_edit_color_set.active = bone.color.custom.active + elif bone.color.palette != "DEFAULT": # bone has a theme assigned + theme = bone.color.palette + theme_id = int(theme[-2:]) - 1 + theme_color_set = bpy.context.preferences.themes[0].bone_color_sets[theme_id] + + palette = context.scene.bw_settings.custom_pose_color_set if context.object.mode == 'POSE' \ + else context.scene.bw_settings.custom_edit_color_set + + palette.normal = theme_color_set.normal + palette.select = theme_color_set.select + palette.active = theme_color_set.active + + context.scene.bw_settings.live_update_on = live_update_current_state + + +def update_bone_color(self, context): + if context.scene.bw_settings.live_update_on: + set_bone_color(context, "CUSTOM") + + +def advanced_options_toggled(self, context): + if self.advanced_options: + self.global_size_advanced = (self.global_size_simple,) * 3 + self.slide_advanced[1] = self.slide_simple + else: + self.global_size_simple = self.global_size_advanced[1] + self.slide_simple = self.slide_advanced[1] + + +def bone_color_items(self, context): + items = [("DEFAULT", "Default Colors", "", "", 0)] + for i in range(1, 16): + items.append((f"THEME{i:02}", f"Theme {i:02}", + "", f"COLORSET_{i:02}_VEC", i)) + return items + + +def bone_color_items_short(self, context): + items = [] + for i in range(1, 16): + items.append((f"THEME{i:02}", f"Theme {i:02}", + "", f"COLORSET_{i:02}_VEC", i)) + items.append(("CUSTOM", "Custom", "", "COLOR", 16)) + return items + + +def live_update_toggle(self, context): + context.scene.bw_settings.live_update_on = self.live_update_toggle + + +def get_preferences(context): + return context.preferences.addons[__package__].preferences diff --git a/extensions/blender_org/bone_widget/functions/preview_functions.py b/extensions/blender_org/bone_widget/functions/preview_functions.py new file mode 100644 index 0000000..4791ecd --- /dev/null +++ b/extensions/blender_org/bone_widget/functions/preview_functions.py @@ -0,0 +1,301 @@ +import bpy +import bpy.utils.previews +from .json_functions import read_widgets, get_widget_data, get_default_image_dir, get_custom_image_dir, JSON_USER_WIDGETS +import os +from .. import __package__ +from mathutils import Vector + +preview_collections = {} + + +def create_preview_collection(): + if preview_collections: + del bpy.types.WindowManager.widget_list + for pcoll in preview_collections.values(): + bpy.utils.previews.remove(pcoll) + preview_collections.clear() + + pcoll = bpy.utils.previews.new() + pcoll.widget_list = () + preview_collections["widgets"] = pcoll + + bpy.types.WindowManager.widget_list = bpy.props.EnumProperty( + items=generate_previews(), name="Shape", description="Shape", update=preview_update + ) + + +def generate_previews(): + enum_items = [] + + pcoll = preview_collections["widgets"] + if pcoll.widget_list: + return pcoll.widget_list + + directory = get_default_image_dir('thumbnails') + custom_directory = get_custom_image_dir("custom_thumbnails") + + if directory and os.path.exists(directory): + widget_data = {item[0]: item[1].get( + "image", "missing_image.png") for item in read_widgets().items()} + widget_names = sorted(widget_data.keys()) + + for i, name in enumerate(widget_names): + image = widget_data.get(name, "") + if image is not None: + filepath = os.path.join(directory, image) + + # try in custom_thumbnails if above failed + if not os.path.exists(filepath): + filepath = os.path.join(custom_directory, image) + + # if image still not found, let the user know + if not os.path.exists(filepath): + filepath = os.path.join(directory, "missing_image.png") + + icon = pcoll.get(name) + if not icon: + thumb = pcoll.load(name, filepath, 'IMAGE') + else: + thumb = pcoll[name] + + face_data_info = "Contains Face Data" if get_widget_data( + name).get("faces") else "" + enum_items.append((name, name, face_data_info, thumb.icon_id, i)) + + pcoll.widget_list = enum_items + return enum_items + + +def preview_update(self, context): + generate_previews() + + +def get_preview_default(): + return bpy.context.preferences.addons[__package__].preferences.preview_default + + +def copy_custom_image(filepath, filename): + if os.path.exists(filepath): + image_directory = get_custom_image_dir('custom_thumbnails') + destination_path = os.path.join(image_directory, filename) + + try: + # create custom thumbnail folder if not existing + if not os.path.exists(image_directory): + os.makedirs(image_directory) + + import shutil + shutil.copyfile(filepath, destination_path) + return True + except: + pass + return False + + +def remove_custom_image(filename): + image_directory = get_custom_image_dir('custom_thumbnails') + destination_path = os.path.join(image_directory, filename) + + if os.path.isfile(destination_path): + # make sure the image is only used once - else stop + count = 0 + for v in read_widgets(JSON_USER_WIDGETS).values(): + if v.get("image") == filename: + count += 1 + if count > 1: + return False + + try: + os.remove(destination_path) + return True + except: + pass + return False + + +#### Thumbnail Render Functions #### +def create_wireframe_copy(obj, use_color, color, thickness): + copy = obj.copy() + copy.data = obj.data.copy() + if not use_color: + copy.color = color + + # Create a new Geometry Nodes modifier + geo_mod = copy.modifiers.new(name="BoneWidget_WireFrame", type='NODES') + + # Create a new node group and assign it to the modifier + node_group = bpy.data.node_groups.new( + name="BONEWIDGET_GeometryGroup", type='GeometryNodeTree') + geo_mod.node_group = node_group + + # Add input and output sockets + node_group.interface.new_socket( + name="Geometry", in_out="INPUT", socket_type="NodeSocketGeometry") + node_group.interface.new_socket( + name="Geometry", in_out="OUTPUT", socket_type="NodeSocketGeometry") + + # Add Thickness input + thickness_socket = node_group.interface.new_socket( + name="Thickness", in_out="INPUT", socket_type="NodeSocketFloat") + thickness_socket.default_value = 0.5 + thickness_socket.min_value = 0.01 + thickness_socket.max_value = 2 + + # Create nodes + node_input = node_group.nodes.new('NodeGroupInput') + node_output = node_group.nodes.new('NodeGroupOutput') + node_uv_sphere = node_group.nodes.new('GeometryNodeMeshUVSphere') + node_mesh_to_curve = node_group.nodes.new('GeometryNodeMeshToCurve') + node_curve_circle = node_group.nodes.new( + 'GeometryNodeCurvePrimitiveCircle') + node_instance_on_points = node_group.nodes.new( + 'GeometryNodeInstanceOnPoints') + node_curve_to_mesh = node_group.nodes.new('GeometryNodeCurveToMesh') + node_join_geometry = node_group.nodes.new('GeometryNodeJoinGeometry') + + # Set initial values (internal) + node_uv_sphere.inputs["Segments"].default_value = 8 + node_uv_sphere.inputs["Rings"].default_value = 8 + node_curve_circle.inputs["Resolution"].default_value = 8 + + # Position nodes for better visualization (optional) + node_input.location = (-400, 0) + node_uv_sphere.location = (-150, 100) + node_mesh_to_curve.location = (-150, -50) + node_curve_circle.location = (-150, -150) + node_instance_on_points.location = (100, 250) + node_curve_to_mesh.location = (100, -100) + node_join_geometry.location = (350, 0) + node_output.location = (550, 0) + + # Connect nodes + node_group.links.new( + node_input.outputs["Geometry"], node_instance_on_points.inputs["Points"]) + node_group.links.new( + node_input.outputs["Geometry"], node_mesh_to_curve.inputs["Mesh"]) + node_group.links.new( + node_input.outputs["Thickness"], node_uv_sphere.inputs["Radius"]) + node_group.links.new( + node_input.outputs["Thickness"], node_curve_circle.inputs["Radius"]) + node_group.links.new( + node_uv_sphere.outputs["Mesh"], node_instance_on_points.inputs["Instance"]) + node_group.links.new( + node_mesh_to_curve.outputs["Curve"], node_curve_to_mesh.inputs["Curve"]) + node_group.links.new( + node_curve_circle.outputs["Curve"], node_curve_to_mesh.inputs["Profile Curve"]) + node_group.links.new( + node_instance_on_points.outputs["Instances"], node_join_geometry.inputs["Geometry"]) + node_group.links.new( + node_curve_to_mesh.outputs["Mesh"], node_join_geometry.inputs["Geometry"]) + node_group.links.new( + node_join_geometry.outputs["Geometry"], node_output.inputs["Geometry"]) + + # scale this so it isn't so sensitive + geo_mod["Socket_2"] = (thickness / 10) + + return copy + + +def setup_viewport(context): + area = context.area + space = context.space_data + region_3d = space.region_3d + original_view_matrix = region_3d.view_matrix.copy() + + bpy.ops.view3d.view_selected() + + return original_view_matrix + + +def restore_viewport_position(context, view_matrix, view_perspective): + if context.space_data.type == 'VIEW_3D': + region_3d = context.space_data.region_3d + + # Restore viewport matrix position + region_3d.view_matrix = view_matrix + + # Restore viewport perspective + region_3d.view_perspective = view_perspective + + +def render_widget_thumbnail(image_name, widget_object, image_directory): + if image_directory: # If True save to the current directory but... + if bpy.data.filepath: # Check the file has been saved + image_directory = os.path.dirname(bpy.data.filepath) + else: + # Fall back if it hasn't been saved + image_directory = os.path.expanduser("~") + # add '.png' to the name + image_name = image_name + '.png' + + else: # if False use the add-on location + image_directory = get_custom_image_dir('custom_thumbnails') + + destination_path = os.path.join(image_directory, image_name) + + scene = bpy.context.scene + scene.render.engine = 'BLENDER_WORKBENCH' + scene.render.resolution_x, scene.render.resolution_y = (512, 512) + scene.render.resolution_percentage = 100 + scene.render.image_settings.file_format = 'PNG' + scene.render.image_settings.color_mode = 'RGBA' + scene.view_settings.view_transform = 'Standard' + scene.render.film_transparent = True + scene.display.shading.light = 'FLAT' + scene.display.shading.color_type = 'OBJECT' + scene.render.filepath = image_directory + + # Reframe Camera + camera = scene.camera + obj = widget_object + frame_object_with_padding(camera, obj, padding=0.1) + + bpy.ops.render.render(write_still=False) + bpy.data.images['Render Result'].save_render( + filepath=bpy.path.abspath(destination_path)) + + return bpy.path.abspath(destination_path) + + +def add_camera_from_view(context): + name = "BoneWidget_Thumbnail_Camera" + + region_3d = context.region_data + space = context.space_data + + if region_3d is None or space.type != 'VIEW_3D': + print("This must be run from a 3D Viewport.") + return None + + # Create camera data and object + cam_data = bpy.data.cameras.new(name) + cam_obj = bpy.data.objects.new(name, cam_data) + context.scene.collection.objects.link(cam_obj) + + # Align camera to current viewport + cam_obj.matrix_world = region_3d.view_matrix.inverted() + + # Make it the active camera + context.scene.camera = cam_obj + + return cam_obj + + +def frame_object_with_padding(camera, obj, padding=0.1): + depsgraph = bpy.context.evaluated_depsgraph_get() + + # Get bounding box corners in world space + coords = [obj.matrix_world @ Vector(corner) for corner in obj.bound_box] + + # Find center of bounding box + center = sum(coords, Vector()) / len(coords) + + # Scale each point away from the center to apply padding + scaled_coords = [(center + (co - center) * (1 + padding)) for co in coords] + + # Flatten the list of Vectors into a list of floats + flat_coords = [v for co in scaled_coords for v in co] + + # Use the camera fitting function + cam_location, _ = camera.camera_fit_coords(depsgraph, flat_coords) + camera.location = cam_location diff --git a/extensions/blender_org/bone_widget/menus.py b/extensions/blender_org/bone_widget/menus.py new file mode 100644 index 0000000..3652b22 --- /dev/null +++ b/extensions/blender_org/bone_widget/menus.py @@ -0,0 +1,59 @@ +from bpy.types import Menu + + +class BONEWIDGET_MT_bw_specials(Menu): + bl_label = "Bone Widget Specials" + + def draw(self, context): + layout = self.layout + layout.operator("bonewidget.add_widgets", icon="ADD", + text="Add Widget to Library") + layout.operator("bonewidget.remove_widgets", icon="REMOVE", + text="Remove Widget from Library") + layout.separator() + layout.operator("bonewidget.add_custom_image", icon="FILE_IMAGE", + text="Add Custom Image to Widget") + layout.operator("bonewidget.render_widget_thumbnail", icon="RESTRICT_RENDER_OFF", + text="Render Object as Thumbnail") + layout.separator() + layout.operator("bonewidget.import_widget_library", + icon="IMPORT", text="Import Widget Library") + layout.operator("bonewidget.export_widget_library", + icon="EXPORT", text="Export Widget Library") + + +class BONEWIDGET_MT_bw_color_presets_specials(Menu): + bl_label = "Color Presets Specials" + + def draw(self, context): + layout = self.layout + btn_text = "Add Preset from Theme" if "THEME" in context.scene.bw_settings.bone_widget_colors else "Add Preset from Palette" + layout.operator("bonewidget.add_color_set_from", + text=btn_text, icon="ADD") + layout.operator("bonewidget.add_preset_from_bone", + icon="ADD", text="Add Preset from Bone") + layout.operator("bonewidget.add_presets_from_armature", + icon="ADD", text="Add Preset from Armature") + layout.separator() + layout.operator("bonewidget.import_color_presets", + icon="IMPORT", text="Import Color Presets") + layout.operator("bonewidget.export_color_presets", + icon="EXPORT", text="Export Color Presets") + + +classes = ( + BONEWIDGET_MT_bw_specials, + BONEWIDGET_MT_bw_color_presets_specials, +) + + +def register(): + from bpy.utils import register_class + for cls in classes: + register_class(cls) + + +def unregister(): + from bpy.utils import unregister_class + for cls in classes: + unregister_class(cls) diff --git a/extensions/blender_org/bone_widget/operators.py b/extensions/blender_org/bone_widget/operators.py new file mode 100644 index 0000000..03cc6f7 --- /dev/null +++ b/extensions/blender_org/bone_widget/operators.py @@ -0,0 +1,1620 @@ +import bpy +import os + +from .functions.main_functions import ( + find_match_bones, + from_widget_find_bone, + symmetrize_widget_helper, + match_bone_matrix, + create_widget, + edit_widget, + return_to_armature, + get_collection, + get_view_layer_collection, + recursive_layer_collection, + delete_unused_widgets, + clear_bone_widgets, + resync_widget_names, + add_object_as_widget, + advanced_options_toggled, + set_bone_color, + copy_bone_color, + get_preferences, +) +from .functions.json_functions import ( + add_remove_widgets, + get_widget_data, + import_widget_library, + export_widget_library, + update_custom_image, + reset_default_images, + update_widget_library, + save_color_sets, + add_color_set, + scan_armature_color_presets, + import_color_presets, + export_color_presets, + update_color_presets, +) + +from .functions.preview_functions import ( + remove_custom_image, + copy_custom_image, + create_wireframe_copy, + setup_viewport, + restore_viewport_position, + render_widget_thumbnail, + add_camera_from_view +) + +from .props import ImportColorSet, ImportItemData, get_import_options +from .classes import ColorSet + +from bpy.props import FloatProperty, BoolProperty, FloatVectorProperty, IntVectorProperty, StringProperty, EnumProperty + + +class BONEWIDGET_OT_shared_property_group(bpy.types.PropertyGroup): + """Storage class for Shared Attribute Properties""" + + custom_image_data = ("", "") + import_library_filepath = "" + color_sets: bpy.props.CollectionProperty(type=ImportColorSet) + import_item_data: bpy.props.CollectionProperty(type=ImportItemData) + image_collection = bpy.utils.previews.new() + + +class BONEWIDGET_OT_create_widget(bpy.types.Operator): + """Creates a widget for selected bone""" + bl_idname = "bonewidget.create_widget" + bl_label = "Create Widget" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + return (context.object and context.object.mode == 'POSE' and context.selected_pose_bones) + + relative_size: BoolProperty( + name="Scale to Bone length", + default=True, + description="Scale Widget to bone length" + ) + + use_face_data: BoolProperty( + name="Use Face Data", + default=False, + description="When enabled this option will include the widget's face data (if available)" + ) + + advanced_options: BoolProperty( + name="Advanced options", + default=False, + description="Show advanced options", + update=advanced_options_toggled + ) + + global_size_simple: FloatProperty( + name="Global Size", + default=1.0, + description="Global Size" + ) + + global_size_advanced: FloatVectorProperty( + name="Global Size", + default=(1.0, 1.0, 1.0), + subtype='XYZ', + description="Global Size" + ) + + slide_simple: FloatProperty( + name="Slide", + default=0.0, + subtype='NONE', + unit='NONE', + description="Slide widget along bone y axis" + ) + + slide_advanced: FloatVectorProperty( + name="Slide", + default=(0.0, 0.0, 0.0), + subtype='XYZ', + unit='NONE', + description="Slide widget along bone xyz axes" + ) + + rotation: FloatVectorProperty( + name="Rotation", + description="Rotate the widget", + default=(0.0, 0.0, 0.0), + subtype='EULER', + unit='ROTATION', + precision=1, + ) + + wireframe_width: FloatProperty( + name="Wire Width", + default=2.0, + min=1.0, + max=16, + soft_max=10, + description="Set the thickness of a wireframe widget" + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + col = layout.column() + row = col.row(align=True) + row.prop(self, "relative_size") + row = col.row(align=True) + if self.advanced_options: + row.prop(self, "use_face_data") + row = col.row(align=True) + row.prop( + self, "global_size_advanced" if self.advanced_options else "global_size_simple", expand=False) + row = col.row(align=True) + row.prop( + self, "slide_advanced" if self.advanced_options else "slide_simple", text="Slide") + row = col.row(align=True) + row.prop(self, "rotation", text="Rotation") + row = col.row(align=True) + if bpy.app.version >= (4, 2, 0): + row.prop(self, "wireframe_width", text="Wire Width") + row = col.row(align=True) + row.prop(self, "advanced_options") + + def execute(self, context): + widget_data = get_widget_data(context.window_manager.widget_list) + slide = self.slide_advanced if self.advanced_options else ( + 0.0, self.slide_simple, 0.0) + global_size = self.global_size_advanced if self.advanced_options else ( + self.global_size_simple,) * 3 + use_face_data = self.use_face_data if self.advanced_options else False + for bone in bpy.context.selected_pose_bones: + create_widget(bone, widget_data, self.relative_size, global_size, slide, self.rotation, + get_collection(context), use_face_data, self.wireframe_width) + return {'FINISHED'} + + +class BONEWIDGET_OT_edit_widget(bpy.types.Operator): + """Edit the widget for selected bone""" + bl_idname = "bonewidget.edit_widget" + bl_label = "Edit Widget" + bl_options = {'REGISTER'} + + @classmethod + def poll(cls, context): + return (context.object and context.object.type == 'ARMATURE' and context.object.mode == 'POSE' + and context.active_pose_bone is not None and context.active_pose_bone.custom_shape is not None) + + def execute(self, context): + active_bone = context.active_pose_bone + try: + edit_widget(active_bone) + except KeyError: + self.report({'INFO'}, 'This widget is the Widget Collection') + return {'FINISHED'} + + +class BONEWIDGET_OT_return_to_armature(bpy.types.Operator): + """Switch back to the armature""" + bl_idname = "bonewidget.return_to_armature" + bl_label = "Return to armature" + bl_options = {'REGISTER'} + + @classmethod + def poll(cls, context): + return (context.object and context.object.type == 'MESH' + and context.object.mode in ['EDIT', 'OBJECT']) + + def execute(self, context): + b = bpy.context.object + if from_widget_find_bone(bpy.context.object): + return_to_armature(bpy.context.object) + else: + self.report({'INFO'}, 'Object is not a bone widget') + return {'FINISHED'} + + +class BONEWIDGET_OT_match_bone_transforms(bpy.types.Operator): + """Match the widget to the bone transforms""" + bl_idname = "bonewidget.match_bone_transforms" + bl_label = "Match bone transforms" + bl_options = {'REGISTER', 'UNDO'} + + def execute(self, context): + if bpy.context.mode == "POSE": + for bone in bpy.context.selected_pose_bones: + match_bone_matrix(bone.custom_shape, bone) + + else: + for ob in bpy.context.selected_objects: + if ob.type == 'MESH': + match_bone = from_widget_find_bone(ob) + if match_bone: + match_bone_matrix(ob, match_bone) + return {'FINISHED'} + + +class BONEWIDGET_OT_match_symmetrize_shape(bpy.types.Operator): + """Symmetrize to the opposite side ONLY if it is named with a .L or .R (default settings)""" + bl_idname = "bonewidget.symmetrize_shape" + bl_label = "Symmetrize" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + return (context.object and context.object.type == 'ARMATURE' + and context.object.mode in ['POSE']) + + def execute(self, context): + widget = bpy.context.active_pose_bone.custom_shape + if widget is None: + self.report({"INFO"}, "There is no widget on this bone.") + return {'FINISHED'} + collection = get_view_layer_collection(context, widget) + widgets_and_bones = find_match_bones()[0] + active_object = find_match_bones()[1] + widgets_and_bones = find_match_bones()[0] + + if not active_object: + self.report({"INFO"}, "No active bone or object") + return {'FINISHED'} + + for bone in widgets_and_bones: + symmetrize_widget_helper( + bone, collection, active_object, widgets_and_bones) + + return {'FINISHED'} + + +class BONEWIDGET_OT_image_select(bpy.types.Operator): + """Open a Fileselect browser and get the image location""" + bl_idname = "bonewidget.image_select" + bl_label = "Select Image" + bl_options = {'INTERNAL'} + + filter_glob: StringProperty( + default='*.jpg;*.jpeg;*.png;*.tif;', + options={'HIDDEN'} + ) + + filename: StringProperty( + name='Filename', + subtype='FILE_NAME', + description='Name of custom image', + ) + + filepath: StringProperty( + subtype="FILE_PATH" + ) + + def invoke(self, context, event): + self.filename = "" + context.window_manager.fileselect_add(self) + if context.area: + context.area.tag_redraw() + return {'RUNNING_MODAL'} + + def execute(self, context): + bpy.context.window_manager.prop_grp.custom_image_name = self.filename + setattr(BONEWIDGET_OT_shared_property_group, + "custom_image_data", (self.filepath, self.filename)) + context.area.tag_redraw() + return {'FINISHED'} + + +class BONEWIDGET_OT_add_custom_image(bpy.types.Operator): + """Add a custom image to selected preview panel widget""" + bl_idname = "bonewidget.add_custom_image" + bl_label = "Select Image" + bl_options = {'REGISTER', 'UNDO'} + + filter_glob: StringProperty( + default='*.jpg;*.jpeg;*.png;*.tif;', + options={'HIDDEN'} + ) + + filename: StringProperty( + name='Filename', + subtype='FILE_NAME', + description='Name of custom image', + ) + + filepath: StringProperty( + subtype="FILE_PATH" + ) + + def invoke(self, context, event): + self.filename = "" + context.window_manager.fileselect_add(self) + return {'RUNNING_MODAL'} + + def execute(self, context): + if self.filepath: + # first remove previous custom image if present + current_widget = context.window_manager.widget_list + remove_custom_image(get_widget_data(current_widget).get("image")) + # copy over the image to custom folder + copy_custom_image(self.filepath, self.filename) + # update the json files with new image data + update_custom_image(self.filename) + + self.report({'INFO'}, "Custom image has been added!") + return {'FINISHED'} + + +class BONEWIDGET_OT_add_widgets(bpy.types.Operator): + """Add selected mesh object to Bone Widget Library and optionally Render Thumbnail""" + bl_idname = "bonewidget.add_widgets" + bl_label = "Add New Widget to Library" + bl_options = {'UNDO'} + + widget_name: StringProperty( + name="Widget Name", + default="", + description="The name of the new widget", + options={"TEXTEDIT_UPDATE"}, + ) + + image_mode: EnumProperty( + name="Thumbnail", + description="Choose how the widget image is handled", + items=[ + ('AUTO_RENDER', "Auto Render", "Render the widget automatically"), + ('CUSTOM_IMAGE', "Custom Image", "Use a custom image"), + ('PLACEHOLDER_IMAGE', "Placeholder Image", "Use the placeholder image"), + ], + default='AUTO_RENDER' + ) + + @classmethod + def poll(cls, context): + return (context.object and context.object.type == 'MESH' and context.object.mode == 'OBJECT' + and context.active_object is not None) + + def draw(self, context): + layout = self.layout + row = layout.row() + row.label(text="Widget Name:") + row.prop(self, "widget_name", text="") + row = layout.row() + + # adding custom image this way doesn't work in blender 3.6 + if bpy.app.version > (3, 7, 0): + row.prop(self, "image_mode") + + if self.image_mode == 'CUSTOM_IMAGE': + row = layout.row() + if bpy.app.version >= (4, 1, 0): + row.prop(bpy.context.window_manager.prop_grp, "custom_image_name", + text="", placeholder="Choose an image...", icon="FILE_IMAGE") + else: + row.prop(bpy.context.window_manager.prop_grp, + "custom_image_name", text="", icon="FILE_IMAGE") + row.operator('bonewidget.image_select', + icon='FILEBROWSER', text="") + + def invoke(self, context, event): + if bpy.context.selected_objects: + self.widget_name = context.active_object.name + setattr(BONEWIDGET_OT_shared_property_group, + "custom_image_name", StringProperty(name="Image Name")) + return context.window_manager.invoke_props_dialog(self) + + self.report({'WARNING'}, 'Please select an object first!') + return {'CANCELLED'} + + def execute(self, context): + objects = [] + if bpy.context.mode == "POSE": + for bone in bpy.context.selected_pose_bones: + objects.append(bone.custom_shape) + else: + for ob in bpy.context.selected_objects: + if ob.type == 'MESH': + objects.append(ob) + + if not objects: + self.report({'WARNING'}, 'Select Meshes or Pose bones') + return {'CANCELLED'} + + # make sure widget name isn't empty + if not self.widget_name: + self.report({'WARNING'}, "Widget name can't be empty!") + return {'CANCELLED'} + + # get filepath to custom image if specified and transfer to custom image folder + custom_image_name = "" + custom_image_path = "" + message_extra = "" + + if self.image_mode == 'CUSTOM_IMAGE': + # context.window_manager.custom_image + custom_image_path, custom_image_name = bpy.context.window_manager.prop_grp.custom_image_data + + # no image path found + if not custom_image_path: + # check if user pasted an image path into text field + text_field = bpy.context.window_manager.prop_grp.custom_image_name + + if os.path.isfile(text_field) and text_field.endswith((".jpg", ".jpeg" ".png", ".tif")): + custom_image_name = os.path.basename(text_field) + custom_image_path = text_field + else: + message_extra = " - WARNING - No custom image specified!" + + if custom_image_name and custom_image_path: + copy_custom_image(custom_image_path, custom_image_name) + + # make sure the field is empty for next time + bpy.context.window_manager.prop_grp.custom_image_name = "" + + elif self.image_mode == 'PLACEHOLDER_IMAGE': + # Use the user_defined image + directory = os.path.abspath(os.path.join( + os.path.dirname(__file__), '..', 'thumbnails')) + custom_image_path = os.path.join(directory, "user_defined.png") + + elif self.image_mode == 'AUTO_RENDER': + # Render the widget + custom_image_name = self.widget_name + '.png' + bpy.ops.bonewidget.render_widget_thumbnail( + image_name=custom_image_name, use_blend_path=False) + custom_image_path = os.path.abspath(os.path.join( + os.path.dirname(__file__), '..', 'custom_thumbnails')) + + message_type, return_message = add_remove_widgets(context, "add", bpy.types.WindowManager.widget_list.keywords['items'], + objects, self.widget_name, custom_image_name) + + if return_message: + self.report({message_type}, return_message + message_extra) + + return {'FINISHED'} + + +class BONEWIDGET_OT_remove_widgets(bpy.types.Operator): + """Remove selected widget object from the Bone Widget Library""" + bl_idname = "bonewidget.remove_widgets" + bl_label = "Remove Widgets" + bl_options = {'INTERNAL'} + + def execute(self, context): + objects = bpy.context.window_manager.widget_list + + # try and remove the image - will abort if no custom image assigned or if missing + remove_custom_image(get_widget_data(objects).get("image")) + + message_type, return_message = add_remove_widgets( + context, "remove", bpy.types.WindowManager.widget_list.keywords['items'], objects) + + if return_message: + self.report({message_type}, return_message) + + return {'FINISHED'} + + +class BONEWIDGET_OT_import_items_summary_popup(bpy.types.Operator): + """Display summary of imported Items""" + bl_idname = "bonewidget.import_summary_popup" + bl_label = "Imported Item Summary" + bl_options = {'INTERNAL'} + + def draw(self, context): + layout = self.layout + layout.scale_x = 1.2 + + layout.separator() + row = layout.row() + + if context.window_manager.custom_data.json_import_error: + row.alert = True + row.label(text=f"Error: Unsupported or damaged import file!") + row.alert = False + layout.separator() + else: + row.label( + text=f"Imported Items: {context.window_manager.custom_data.imported()}") + + row = layout.row() + row.label( + text=f"Skipped Items: {context.window_manager.custom_data.skipped()}") + + row = layout.row() + row.label( + text=f"Failed Items: {context.window_manager.custom_data.failed()}") + + def invoke(self, context, event): + return context.window_manager.invoke_props_dialog(self) + + def execute(self, context): + return {'FINISHED'} + + +def update_selected_options(self, context): + wm = context.window_manager + + selected_values = [] + + items = wm.prop_grp.import_item_data + for i, item in enumerate(items): + if self.select_all_items: + selected_values.append(item.import_option) + if item.import_option != "RENAME": + item.import_option = "OVERWRITE" + else: + if i < len(BONEWIDGET_OT_import_items_ask_popup.selected_options_values): + value = BONEWIDGET_OT_import_items_ask_popup.selected_options_values[i] + if value != "RENAME": + item.import_option = value + + if self.select_all_items: + # reset and store only once + BONEWIDGET_OT_import_items_ask_popup.selected_options_values = selected_values + + +class BONEWIDGET_OT_import_items_ask_popup(bpy.types.Operator): + """Ask user how to handle name collisions from the imported items""" + bl_idname = "bonewidget.import_items_ask_popup" + bl_label = "Imported Items" + bl_options = {'INTERNAL'} + + import_options = get_import_options() + + select_all_items: BoolProperty(name="Select All", description="Will select all items to be added", + default=False, update=update_selected_options) + + selected_options_values = [] + + def draw(self, context): + layout = self.layout + layout.scale_x = 1.2 + + # layout.separator() + row = layout.row() + row.label(text="Choose an action:") + + imported_items = context.window_manager.prop_grp.import_item_data + + for i, _ in enumerate(self.custom_import_data.skipped_imports): + + imported_item = imported_items[i] + + if self.custom_import_data.import_type == "widget": + row = layout.row(align=True) + row.scale_x = 2.0 + + # Rename + if imported_item.import_option == self.import_options[2][0]: + row.prop(imported_item, "name", text="") + else: + row.label(text=str(imported_item.name)) + + widget_name = self.custom_import_data.skipped_imports[i].name + icon_id = context.window_manager.prop_grp.image_collection[widget_name].icon_id + icon_row = row.row(align=True) + icon_row.scale_x = 6 + icon_row.template_icon(icon_id, scale=1.4) + + row.separator(factor=0.4) + row.prop(imported_item, "import_option", text="") + + elif self.custom_import_data.import_type == "colorset": + row = layout.row(align=True) + row.scale_x = 3.0 + + # Rename + if imported_item.import_option == self.import_options[2][0]: + row.prop(imported_item, "name", text="") + else: + row.label(text=str(imported_item.name)) + + row.separator(factor=0.4) + + # color sets + color_set = context.window_manager.prop_grp.color_sets[i] + split = row.split(factor=0.9) + color_row = split.row(align=True) + color_row.prop(color_set, "normal", text="") + color_row.prop(color_set, "select", text="") + color_row.prop(color_set, "active", text="") + + # options dropdown + row.separator(factor=0.4) + row.prop(imported_item, "import_option", text="") + + row = layout.row() + row = layout.row() + row = layout.row() + + row.prop(self, "select_all_items") + + layout.separator() + + def invoke(self, context, event): + self.custom_import_data = bpy.context.window_manager.custom_data + import_type = self.custom_import_data.import_type + + # make sure class values are empty + BONEWIDGET_OT_import_items_ask_popup.selected_options_values = [] + + # make sure the shared property group has a clean slate + context.window_manager.prop_grp.color_sets.clear() + context.window_manager.prop_grp.import_item_data.clear() + context.window_manager.prop_grp.image_collection.clear() + + # generate the x number of drop down lists and widget names needed + for n, widget in enumerate(self.custom_import_data.skipped_imports): + + # add new imported item + import_item = context.window_manager.prop_grp.import_item_data.add() + import_item.name = widget.name + + # add the color fields if the import is a color set + if import_type == "colorset": + color_instance = context.window_manager.prop_grp.color_sets.add() + color_instance.name = widget.name + color_instance.normal = widget.normal + color_instance.select = widget.select + color_instance.active = widget.active + + # widget preview images + if import_type == "widget": + image_path = os.path.join( + bpy.app.tempdir, "custom_thumbnails", widget.image) + context.window_manager.prop_grp.image_collection.load( + widget.name, image_path, 'IMAGE') + + return context.window_manager.invoke_props_dialog(self, width=350) + + def execute(self, context): + widget_results = {} + widget_images = set() + import_type = self.custom_import_data.import_type + total_imports = len(self.custom_import_data.skipped_imports) + + for i, widget in enumerate(self.custom_import_data.skipped_imports[:]): + imported_item = context.window_manager.prop_grp.import_item_data[i] + + action = imported_item.import_option + + if action == self.import_options[1][0]: # skip + continue + + new_widget_name = imported_item.name + + # error check before proceeding - widget renamed to empty string + if widget.name != new_widget_name and new_widget_name.strip() == "": + self.custom_import_data.failed_imports.update(widget) + continue + + if import_type == "widget": + widget_data = widget + widget_image = widget.image + # only append custom images + widget_image = widget_image if widget_image != "user_defined.png" else "" + + elif import_type == "colorset": + widget_data = context.window_manager.prop_grp.color_sets[i] + widget_data = ColorSet.from_pg( + widget_data) # convert to ColorSet class + + if action == self.import_options[0][0]: # overwrite + if import_type == "widget": + widget_results.update(widget_data.to_dict()) + if widget_image: + widget_images.add(widget_image) + + elif import_type == "colorset": + # check if the import item name exists already and if it does, overwrite + color_set_list = context.window_manager.custom_color_presets + for index, item in enumerate(color_set_list): + if item.name == new_widget_name: + # Update the existing entry + item.normal = widget_data.normal + item.select = widget_data.select + item.active = widget_data.active + break + else: + widget_data.name = new_widget_name + add_color_set(context, widget_data) + + elif action == self.import_options[2][0]: # Rename + widget_data.name = new_widget_name + if import_type == "widget": + # we need the dict version + widget_results.update(widget_data.to_dict()) + if widget_image: + widget_images.add(widget_image) + elif import_type == "colorset": + add_color_set(context, widget_data) + + # update the stats + self.custom_import_data.new_imported_items += 1 + self.custom_import_data.skipped_imports.remove(widget) + + if import_type == "widget": + update_widget_library(widget_results, widget_images, + bpy.context.window_manager.prop_grp.import_library_filepath) + + # clear image collection if widgets were imported + context.window_manager.prop_grp.image_collection.clear() + + # clear out all import item data + context.window_manager.prop_grp.import_item_data.clear() + + # clear out all color sets + context.window_manager.prop_grp.color_sets.clear() + + # del bpy.types.WindowManager.custom_data + self.custom_import_data = None + + # reset previous selected options + BONEWIDGET_OT_import_items_ask_popup.selected_options_values = [] + + # display summary of imported widgets + bpy.ops.bonewidget.import_summary_popup('INVOKE_DEFAULT') + + return {'FINISHED'} + + +class BONEWIDGET_OT_import_widget_library(bpy.types.Operator): + """Import User Defined Widgets""" + bl_idname = "bonewidget.import_widget_library" + bl_label = "Import Library" + bl_options = {'REGISTER'} + + filter_glob: StringProperty( + default='*.zip', + options={'HIDDEN'} + ) + + filename: StringProperty( + name='Filename', + subtype='FILE_NAME', + description='Name of file to be imported', + ) + + filepath: StringProperty( + subtype="FILE_PATH" + ) + + import_option: EnumProperty( + name="Import Option", + items=[ + ("OVERWRITE", "Overwrite", "Overwrite existing widget"), + ("SKIP", "Skip", "Skip widget"), + ("ASK", "Ask", "Ask user what to do")], + default="ASK", + ) + + def draw(self, context): + layout = self.layout + row = layout.row(align=True) + row.label(text="If duplicates are found:") + row = layout.row(align=True) + row.prop(self, "import_option", expand=True) + + def execute(self, context): + if self.filepath and self.import_option: + import_library_data = import_widget_library( + self.filepath, self.import_option) + setattr(BONEWIDGET_OT_shared_property_group, + "import_library_filepath", self.filepath) + + bpy.types.WindowManager.custom_data = import_library_data + + # if the number of failed widgets are equal to total imported widgets - call summary popup + if import_library_data.failed() == import_library_data.total() or import_library_data.failed() == -1: + import_library_data.reset_imports() + bpy.ops.bonewidget.import_summary_popup('INVOKE_DEFAULT') + + elif self.import_option == "ASK": + bpy.ops.bonewidget.import_items_ask_popup('INVOKE_DEFAULT') + + elif self.import_option in ["OVERWRITE", "SKIP"]: + widget_images = set() + widgets = {} + + # convert Widget objects to dict items and extract image names if any + for widget in import_library_data.imported_items: + widgets.update(widget.to_dict()) + widget_images.add(widget.image) + + update_widget_library(widgets, widget_images, self.filepath) + + bpy.ops.bonewidget.import_summary_popup('INVOKE_DEFAULT') + + else: + bpy.ops.bonewidget.import_summary_popup('INVOKE_DEFAULT') + + return {'FINISHED'} + + def invoke(self, context, event): + self.filename = "" + context.window_manager.fileselect_add(self) + return {'RUNNING_MODAL'} + + +class BONEWIDGET_OT_export_widget_library(bpy.types.Operator): + """Export User Defined Widgets""" + bl_idname = "bonewidget.export_widget_library" + bl_label = "Export Library" + bl_options = {'REGISTER'} + + filter_glob: StringProperty( + default='*.zip', + options={'HIDDEN'} + ) + + filename: StringProperty( + name='Filename', + subtype='FILE_NAME', + description='Name of file to be exported', + ) + + filepath: StringProperty( + subtype="FILE_PATH" + ) + + def execute(self, context): + if self.filepath and self.filename: + num_widgets = export_widget_library(self.filepath) + if num_widgets: + self.report( + {'INFO'}, f"{num_widgets} user defined widgets exported successfully!") + else: + self.report({'INFO'}, "0 user defined widgets exported!") + return {'FINISHED'} + + def invoke(self, context, event): + self.filename = "widget_library.zip" + context.window_manager.fileselect_add(self) + return {'RUNNING_MODAL'} + + +class BONEWIDGET_OT_toggle_collection_visibility(bpy.types.Operator): + """Show/hide the bone widget collection""" + bl_idname = "bonewidget.toggle_collection_visibilty" + bl_label = "Collection Visibilty" + bl_options = {'INTERNAL'} + + @classmethod + def poll(cls, context): + return (context.object and context.object.type == 'ARMATURE' and context.object.mode == 'POSE') + + def execute(self, context): + if not get_preferences(context).use_rigify_defaults: + bw_collection_name = get_preferences( + context).bonewidget_collection_name + else: + bw_collection_name = 'WGTS_' + context.active_object.name + + bw_collection = recursive_layer_collection( + bpy.context.view_layer.layer_collection, bw_collection_name) + bw_collection.hide_viewport = not bw_collection.hide_viewport + # need to recursively search for the view_layer + bw_collection.exclude = False + return {'FINISHED'} + + +class BONEWIDGET_OT_delete_unused_widgets(bpy.types.Operator): + """Delete unused objects in the WGT collection""" + bl_idname = "bonewidget.delete_unused_widgets" + bl_label = "Delete Unused Widgets" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + return (context.object and context.object.type == 'ARMATURE' and context.object.mode == 'POSE') + + def execute(self, context): + try: + delete_unused_widgets() + except: + self.report( + {'INFO'}, "Can't find the Widget Collection. Does it exist?") + return {'FINISHED'} + + +class BONEWIDGET_OT_clear_bone_widgets(bpy.types.Operator): + """Clears widgets from selected pose bones but doesn't remove them from the scene""" + bl_idname = "bonewidget.clear_widgets" + bl_label = "Clear Widgets" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + return (context.object and context.object.type == 'ARMATURE' and context.object.mode == 'POSE') + + def execute(self, context): + clear_bone_widgets() + return {'FINISHED'} + + +class BONEWIDGET_OT_resync_widget_names(bpy.types.Operator): + """Clear widgets from selected pose bones""" + bl_idname = "bonewidget.resync_widget_names" + bl_label = "Resync Widget Names" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + return (context.object and context.object.type == 'ARMATURE' and context.object.mode == 'POSE') + + def execute(self, context): + resync_widget_names() + return {'FINISHED'} + + +class BONEWIDGET_OT_add_object_as_widget(bpy.types.Operator): + """Add selected object as widget for active bone""" + bl_idname = "bonewidget.add_as_widget" + bl_label = "Confirm selected Object as widget shape" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + return (len(context.selected_objects) == 2 and context.object.mode == 'POSE') + + def execute(self, context): + add_object_as_widget(context, get_collection(context)) + return {'FINISHED'} + + +class BONEWIDGET_OT_reset_default_images(bpy.types.Operator): + """Resets the thumbnails for all default widgets""" + bl_idname = "bonewidget.reset_default_images" + bl_label = "Reset" + bl_options = {'INTERNAL'} + + def execute(self, context): + reset_default_images() + return {'FINISHED'} + + +class BONEWIDGET_OT_user_data_filebrowser(bpy.types.Operator): + """Select Location for Custom User Data""" + bl_idname = "bonewidget.user_data_filebrowser" + bl_label = "Select Location" + bl_options = {'INTERNAL'} + + directory: StringProperty( + name="User Data Directory", + description="Choose a directory to store user data", + subtype='DIR_PATH' + ) + + def execute(self, context): + get_preferences(context).user_data_location = self.directory + # self.report({'INFO'}, f"User data path set to: {self.directory}") + return {'FINISHED'} + + def invoke(self, context, event): + context.window_manager.fileselect_add(self) + return {'RUNNING_MODAL'} + + +class BONEWIDGET_OT_set_bone_color(bpy.types.Operator): + """Add bone color to selected widgets""" + bl_idname = "bonewidget.set_bone_color" + bl_label = "Set Bone Color to Widget" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + return (context.object and context.object.type == 'ARMATURE' and context.object.mode in ['POSE', 'EDIT'] and + (context.selected_bones or context.selected_pose_bones)) + + def execute(self, context): + set_bone_color(context, context.scene.bw_settings.bone_widget_colors) + return {'FINISHED'} + + +class BONEWIDGET_OT_clear_bone_color(bpy.types.Operator): + """Add bone color to selected widgets""" + bl_idname = "bonewidget.clear_bone_color" + bl_label = "Clear Bone Color" + bl_description = ( + "Clear Bone Color from selected bones.\n" + "(Note: Blender will show Edit Bone color in Pose Mode if Pose Bone color is default)" + ) + + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + return (context.object and context.object.type == 'ARMATURE' and context.object.mode in ['POSE', 'EDIT'] and + (context.selected_bones or context.selected_pose_bones)) + + def execute(self, context): + set_bone_color(context, "DEFAULT", get_preferences( + context).clear_both_modes) + return {'FINISHED'} + + +class BONEWIDGET_OT_copy_bone_color(bpy.types.Operator): + """Copy the colors of the active bone to the custom colors above (ignores default colors)""" + bl_idname = "bonewidget.copy_bone_color" + bl_label = "Copy Bone Color" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + if not context.object: + return False + bones = context.selected_pose_bones if context.object.mode == 'POSE' else context.selected_bones + return (context.object and context.object.type == 'ARMATURE' + and context.object.mode in ['POSE', 'EDIT'] and len(bones) == 1) + + def execute(self, context): + if context.object.mode == 'POSE': + selected_bone = context.selected_pose_bones[0] + if not selected_bone.color.is_custom and not 'THEME' in selected_bone.color.palette: + selected_bone = context.active_bone + copy_bone_color(context, selected_bone) + elif context.object.mode == 'EDIT': + copy_bone_color(context, context.selected_bones[0]) + return {'FINISHED'} + + +class BONEWIDGET_OT_add_color_set_from(bpy.types.Operator): + """Adds a color set to presets from selected Theme or from custom palette""" + bl_idname = "bonewidget.add_color_set_from" + bl_label = "Add color set to presets" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + return ( + context.object and + context.object.type == 'ARMATURE' and + ( + (context.object.mode == 'POSE' and context.selected_pose_bones) or + (context.object.mode == 'EDIT' and context.selected_editable_bones and get_preferences( + context).edit_bone_colors != 'DEFAULT') + ) + ) + + def execute(self, context): + + base_name = "Color Set" + new_name = base_name + count = 1 + + while any(item.name == new_name for item in context.window_manager.custom_color_presets): + new_name = f"{base_name}.{count:03d}" + count += 1 + + new_item = context.window_manager.custom_color_presets.add() + + if context.scene.bw_settings.bone_widget_colors == "CUSTOM": + # add item from custom color palette + + new_item.name = new_name + if context.object.mode == 'POSE': + new_item.normal = context.scene.bw_settings.custom_pose_color_set.normal + new_item.select = context.scene.bw_settings.custom_pose_color_set.select + new_item.active = context.scene.bw_settings.custom_pose_color_set.active + + elif context.object.mode == "EDIT" and \ + get_preferences(context).edit_bone_colors != 'DEFAULT': # edit mode colors if turned on in preferences + + new_item.normal = context.scene.bw_settings.custom_edit_color_set.normal + new_item.select = context.scene.bw_settings.custom_edit_color_set.select + new_item.active = context.scene.bw_settings.custom_edit_color_set.active + + elif "THEME" in context.scene.bw_settings.bone_widget_colors: + # add item from selected theme + + theme = context.scene.bw_settings.bone_widget_colors + theme_id = int(theme[-2:]) - 1 + theme_color_set = bpy.context.preferences.themes[0].bone_color_sets[theme_id] + + new_item.name = theme + new_item.normal = theme_color_set.normal + new_item.select = theme_color_set.select + new_item.active = theme_color_set.active + + # save_color_sets(context) + return {'FINISHED'} + + +class BONEWIDGET_OT_add_default_colorset(bpy.types.Operator): + """Adds a default color set to presets""" + bl_idname = "bonewidget.add_default_custom_colorset" + bl_label = "Add a default color set" + bl_options = {'INTERNAL'} + + def execute(self, context): + add_color_set(context) + return {'FINISHED'} + + +class BONEWIDGET_OT_add_colorset_to_bone(bpy.types.Operator): + """Adds a bone color set to selected bones""" + bl_idname = "bonewidget.add_colorset_to_bone" + bl_label = "Apply selected color set to selected bones - mode sensitive" + bl_options = {'REGISTER', 'UNDO'} + + @classmethod + def poll(cls, context): + if context.object: + bones = context.selected_pose_bones if context.object.mode == 'POSE' else context.selected_bones + return (context.object.type == 'ARMATURE' + and context.object.mode in ['POSE', 'EDIT'] and len(bones) >= 1) \ + and not (context.object.mode == "EDIT" + and get_preferences(context).edit_bone_colors == 'DEFAULT') + + def execute(self, context): + if context.object.mode == "EDIT" and \ + get_preferences(context).edit_bone_colors != 'DEFAULT': + selected_bones = context.selected_bones + elif context.object.mode == "POSE": + selected_bones = context.selected_pose_bones + else: + return {'CANCELLED'} + + if selected_bones: + for bone in selected_bones: + + bone.color.palette = "CUSTOM" + + index = context.window_manager.colorset_list_index + item = context.window_manager.custom_color_presets[index] + + bone.color.custom.normal = item.normal + bone.color.custom.select = item.select + bone.color.custom.active = item.active + + return {'FINISHED'} + + +class BONEWIDGET_OT_remove_item(bpy.types.Operator): + """Removes selected color set from the preset list""" + bl_idname = "bonewidget.remove_custom_item" + bl_label = "Remove Selected Color Set" + bl_options = {'INTERNAL'} + + @classmethod + def poll(cls, context): + return context.window_manager.colorset_list_index >= 0 and not context.scene.bw_settings.lock_colorset_color_changes + + def execute(self, context): + my_list = context.window_manager.custom_color_presets + index = context.window_manager.colorset_list_index + my_list.remove(index) + context.window_manager.colorset_list_index = min( + max(0, index - 1), len(my_list) - 1) + save_color_sets(context) + return {'FINISHED'} + + +class BONEWIDGET_OT_lock_custom_colorset_changes(bpy.types.Operator): + """Locks/Unlocks the ability to save changes to color set items""" + bl_idname = "bonewidget.lock_custom_colorset_changes" + bl_label = "Lock/Unlock changes to color set presets" + bl_options = {'INTERNAL'} + + def execute(self, context): + context.scene.bw_settings.lock_colorset_color_changes = not context.scene.bw_settings.lock_colorset_color_changes + return {'FINISHED'} + + +class BONEWIDGET_OT_move_custom_item_up(bpy.types.Operator): + """Moves the selected color set up in the list""" + bl_idname = "bonewidget.move_custom_item_up" + bl_label = "Move Custom Item Up" + bl_options = {'INTERNAL'} + + def execute(self, context): + wm = context.window_manager + idx = wm.colorset_list_index + + if idx > 0: + wm.custom_color_presets.move(idx, idx - 1) + wm.colorset_list_index -= 1 + + save_color_sets(context) + + return {'FINISHED'} + + +class BONEWIDGET_OT_move_custom_item_down(bpy.types.Operator): + """Moves the selected color set down in the list""" + bl_idname = "bonewidget.move_custom_item_down" + bl_label = "Move Custom Item Down" + bl_options = {'INTERNAL'} + + def execute(self, context): + wm = context.window_manager + idx = wm.colorset_list_index + + if idx < len(wm.custom_color_presets) - 1: + wm.custom_color_presets.move(idx, idx + 1) + wm.colorset_list_index += 1 + + save_color_sets(context) + + return {'FINISHED'} + + +class BONEWIDGET_OT_add_preset_from_bone(bpy.types.Operator): + """Adds new preset from the active bone's color palette""" + bl_idname = "bonewidget.add_preset_from_bone" + bl_label = "Add Preset from active Bone" + bl_options = {'REGISTER'} + + @classmethod + def poll(cls, context): + return ( + context.object and + context.object.type == 'ARMATURE' and + ( + (context.object.mode == 'POSE' and context.selected_pose_bones) or + (context.object.mode == 'EDIT' and context.selected_editable_bones and get_preferences( + context).edit_bone_colors != 'DEFAULT') + ) + ) + + def execute(self, context): + base_name = "Color Set" + new_name = base_name + count = 1 + + bone = context.active_pose_bone if context.object.mode == 'POSE' else context.active_bone + + # do some validation checking + if bone.color.palette == 'DEFAULT': + mode = "pose mode" if context.object.mode == 'POSE' else "edit mode" + self.report( + {'WARNING'}, f"No available color set found in {mode}!") + return {'CANCELLED'} + + existing_names = { + item.name for item in context.window_manager.custom_color_presets} + while new_name in existing_names: + new_name = f"{base_name}.{count:03d}" + count += 1 + + new_item = context.window_manager.custom_color_presets.add() + + if bone.color.is_custom: + # add item from custom color palette of active bone + new_item.name = new_name + new_item.normal = bone.color.custom.normal + new_item.select = bone.color.custom.select + new_item.active = bone.color.custom.active + + elif "THEME" in bone.color.palette: + # add item from selected theme of active bone + theme = bone.color.palette + theme_id = int(theme[-2:]) - 1 + theme_color_set = bpy.context.preferences.themes[0].bone_color_sets[theme_id] + + new_item.name = theme + new_item.normal = theme_color_set.normal + new_item.select = theme_color_set.select + new_item.active = theme_color_set.active + + # save_color_sets(context) + return {'FINISHED'} + + +class BONEWIDGET_OT_add_presets_from_armature(bpy.types.Operator): + """Adds new presets from the active bone's color palette""" + bl_idname = "bonewidget.add_presets_from_armature" + bl_label = "Add Preset from selected Armature" + bl_options = {'REGISTER'} + + @classmethod + def poll(cls, context): + return ( + context.object and + context.object.type == 'ARMATURE' and + ( + (context.object.mode == 'POSE' and context.selected_pose_bones) or + (context.object.mode == 'EDIT' and context.selected_editable_bones and get_preferences( + context).edit_bone_colors != 'DEFAULT') + ) + ) + + def execute(self, context): + armature = context.object.data + + colorset_imports = scan_armature_color_presets(context, armature) + + if colorset_imports.skipped_imports: + bpy.types.WindowManager.custom_data = colorset_imports + + bpy.ops.bonewidget.import_items_ask_popup('INVOKE_DEFAULT') + else: + self.report({'INFO'}, f"No new custom color sets found!") + + return {'FINISHED'} + + +class BONEWIDGET_OT_import_color_presets(bpy.types.Operator): + """Import User Defined Color Presets""" + bl_idname = "bonewidget.import_color_presets" + bl_label = "Import Color Presets" + bl_options = {'REGISTER'} + + filter_glob: StringProperty( + default='*.zip', + options={'HIDDEN'} + ) + + filename: StringProperty( + name='Filename', + subtype='FILE_NAME', + description='Name of file to be imported', + ) + + filepath: StringProperty( + subtype="FILE_PATH" + ) + + import_option: EnumProperty( + name="Import Option", + items=[ + ("OVERWRITE", "Overwrite", "Overwrite existing preset"), + ("SKIP", "Skip", "Skip preset"), + ("ASK", "Ask", "Ask user what to do")], + default="ASK", + ) + + def draw(self, context): + layout = self.layout + row = layout.row(align=True) + row.label(text="If duplicates are found:") + row = layout.row(align=True) + row.prop(self, "import_option", expand=True) + + def execute(self, context): + if self.filepath and self.import_option: + import_preset_data = import_color_presets( + self.filepath, self.import_option) + bpy.context.window_manager.prop_grp.import_library_filepath = self.filepath + + bpy.types.WindowManager.custom_data = import_preset_data + + # if the number of failed presets are equal to total imported presets - call summary popup + if import_preset_data.failed() == import_preset_data.total(): + import_preset_data.reset_imports() + bpy.ops.bonewidget.import_summary_popup('INVOKE_DEFAULT') + + elif self.import_option == "ASK": + bpy.ops.bonewidget.import_items_ask_popup('INVOKE_DEFAULT') + + elif self.import_option in ["OVERWRITE", "SKIP"]: + update_color_presets( + import_preset_data.imported_items, self.filepath) + + bpy.ops.bonewidget.import_summary_popup('INVOKE_DEFAULT') + else: + bpy.ops.bonewidget.import_summary_popup('INVOKE_DEFAULT') + + return {'FINISHED'} + + def invoke(self, context, event): + self.filename = "" + context.window_manager.fileselect_add(self) + return {'RUNNING_MODAL'} + + +class BONEWIDGET_OT_export_color_presets(bpy.types.Operator): + """Export User Defined Color Presets""" + bl_idname = "bonewidget.export_color_presets" + bl_label = "Export Color Presets" + bl_options = {'REGISTER'} + + filter_glob: StringProperty( + default='*.zip', + options={'HIDDEN'} + ) + + filename: StringProperty( + name='Filename', + subtype='FILE_NAME', + description='Name of file to be exported', + ) + + filepath: StringProperty( + subtype="FILE_PATH" + ) + + def execute(self, context): + if self.filepath and self.filename: + num_presets = export_color_presets(self.filepath, context) + if num_presets: + self.report( + {'INFO'}, f"{num_presets} color presets exported successfully!") + else: + self.report({'INFO'}, "0 color presets exported!") + return {'FINISHED'} + + def invoke(self, context, event): + self.filename = "color_presets.zip" + context.window_manager.fileselect_add(self) + return {'RUNNING_MODAL'} + + +class BONEWIDGET_OT_render_widget_thumbnail(bpy.types.Operator): + """Render a wireframe thumbnail of the active object""" + bl_idname = "bonewidget.render_widget_thumbnail" + bl_label = "Render Widget Thumbnail" + bl_options = {'REGISTER', 'UNDO'} + + image_name: StringProperty( + name="Image Name", + default="" + ) + wire_frame_color: FloatVectorProperty( + name="Wireframe Color", + subtype='COLOR', + size=4, + default=(1, 1, 1, 1), + min=0.0, + max=1.0 + ) + wire_frame_thickness: FloatProperty( + name="Wireframe Thickness", + default=0.5, + min=0.01, + max=2.0 + ) + use_object_color: BoolProperty( + name="Use Object Color", + default=False + ) + use_blend_path: BoolProperty( + name="Save to Current Directory", + default=True + ) + + @classmethod + def poll(cls, context): + obj = context.active_object + return obj is not None and obj.type == 'MESH' + + def invoke(self, context, event): + # Set the image name to the active object + if context.active_object: + self.image_name = context.active_object.name + "_thumbnail" + else: + self.image_name = "widget_thumbnail" + return context.window_manager.invoke_props_dialog(self) + + def draw(self, context): + layout = self.layout + row = layout.row() + row.prop(self, "use_object_color", text="Use Object Color") + + if not self.use_object_color: + row = layout.row() + split = row.split(factor=0.6) + split.label(text="Wireframe Color:") + split.prop(self, "wire_frame_color", text="") + row = layout.row() + split = row.split(factor=0.6) + split.label(text="Wireframe Thickness:") + split.prop(self, "wire_frame_thickness", text="") + + def execute(self, context): + active_obj = context.view_layer.objects.active + if not active_obj: + self.report({'WARNING'}, "No active object found.") + return {'CANCELLED'} + + widget_obj = create_wireframe_copy( + active_obj, + self.use_object_color, + self.wire_frame_color, + self.wire_frame_thickness + ) + + # store the current view perspective + original_view_perspective = context.space_data.region_3d.view_perspective + + original_scene = context.scene + new_scene = bpy.data.scenes.new("BoneWidget_Thumbnail") + new_scene.collection.objects.link(widget_obj) + context.window.scene = new_scene + + viewport_area = next( + (a for a in context.window.screen.areas if a.type == 'VIEW_3D'), None) + if not viewport_area: + self.report({'WARNING'}, "No 3D Viewport found.") + return {'CANCELLED'} + + original_view_matrix = setup_viewport(context) + new_camera = add_camera_from_view(context) + + destination_path = render_widget_thumbnail( + self.image_name, widget_obj, image_directory=self.use_blend_path) + + restore_viewport_position( + context, original_view_matrix, original_view_perspective) + + context.window.scene = original_scene + + # Clean up (widget and camera objs and data) + widget_data = widget_obj.data + camera_data = new_camera.data + + bpy.data.objects.remove(widget_obj, do_unlink=True) + bpy.data.meshes.remove(widget_data) + + bpy.data.objects.remove(new_camera, do_unlink=True) + bpy.data.cameras.remove(camera_data) + + # Remove Scene + bpy.data.scenes.remove(new_scene) + + if self.use_blend_path: + self.report({'INFO'}, "Thumbnail saved at: " + destination_path) + + return {'FINISHED'} + + +classes = ( + BONEWIDGET_OT_remove_widgets, + BONEWIDGET_OT_add_widgets, + BONEWIDGET_OT_import_widget_library, + BONEWIDGET_OT_export_widget_library, + BONEWIDGET_OT_match_symmetrize_shape, + BONEWIDGET_OT_match_bone_transforms, + BONEWIDGET_OT_return_to_armature, + BONEWIDGET_OT_edit_widget, + BONEWIDGET_OT_create_widget, + BONEWIDGET_OT_toggle_collection_visibility, + BONEWIDGET_OT_delete_unused_widgets, + BONEWIDGET_OT_clear_bone_widgets, + BONEWIDGET_OT_resync_widget_names, + BONEWIDGET_OT_add_object_as_widget, + BONEWIDGET_OT_import_items_summary_popup, + BONEWIDGET_OT_import_items_ask_popup, + BONEWIDGET_OT_shared_property_group, + BONEWIDGET_OT_image_select, + BONEWIDGET_OT_add_custom_image, + BONEWIDGET_OT_reset_default_images, + BONEWIDGET_OT_user_data_filebrowser, + BONEWIDGET_OT_set_bone_color, + BONEWIDGET_OT_clear_bone_color, + BONEWIDGET_OT_copy_bone_color, + BONEWIDGET_OT_add_color_set_from, + BONEWIDGET_OT_add_default_colorset, + BONEWIDGET_OT_add_colorset_to_bone, + BONEWIDGET_OT_remove_item, + BONEWIDGET_OT_lock_custom_colorset_changes, + BONEWIDGET_OT_move_custom_item_up, + BONEWIDGET_OT_move_custom_item_down, + BONEWIDGET_OT_add_preset_from_bone, + BONEWIDGET_OT_add_presets_from_armature, + BONEWIDGET_OT_import_color_presets, + BONEWIDGET_OT_export_color_presets, + BONEWIDGET_OT_render_widget_thumbnail, +) + + +def register(): + bpy.utils.register_class(ImportColorSet) + bpy.utils.register_class(ImportItemData) + + from bpy.utils import register_class + for cls in classes: + register_class(cls) + + bpy.types.WindowManager.prop_grp = bpy.props.PointerProperty( + type=BONEWIDGET_OT_shared_property_group) + + +def unregister(): + del bpy.types.WindowManager.prop_grp + + from bpy.utils import unregister_class + for cls in classes: + unregister_class(cls) + + unregister_class(ImportColorSet) + unregister_class(ImportItemData) diff --git a/extensions/blender_org/bone_widget/panels.py b/extensions/blender_org/bone_widget/panels.py new file mode 100644 index 0000000..76b31e3 --- /dev/null +++ b/extensions/blender_org/bone_widget/panels.py @@ -0,0 +1,280 @@ +import bpy +import bpy.utils.previews +from .props import PresetColorSetItem +from .functions.main_functions import ( + recursive_layer_collection, + get_preferences, +) +from .functions.preview_functions import ( + create_preview_collection, + preview_collections, + get_preview_default, +) +from .functions.json_functions import load_color_presets + +from .menus import BONEWIDGET_MT_bw_specials + + +class BONEWIDGET_PT_bw_panel: + """BoneWidget Addon UI""" + bl_space_type = 'VIEW_3D' + bl_region_type = 'UI' + bl_category = "Rigging" + bl_label = "Bone Widget" + + +class BONEWIDGET_PT_bw_panel_main(BONEWIDGET_PT_bw_panel, bpy.types.Panel): + bl_idname = 'BONEWIDGET_PT_bw_panel_main' + bl_label = "Bone Widget" + + def draw(self, context): + if context.window_manager.load_presets_on_startup: + load_color_presets() + context.window_manager.load_presets_on_startup = False + + # cache call to get preferences + preferences = get_preferences(context) + + layout = self.layout + + # preview toggle checkbox + row = layout.row(align=True) + row.prop(context.window_manager, "toggle_preview") + + # preview view + if context.window_manager.toggle_preview: + row = layout.row(align=True) + preview_panel_size = preferences.preview_panel_size + preview_popup_size = preferences.preview_popup_size + row.template_icon_view(context.window_manager, "widget_list", show_labels=True, + scale=preview_panel_size, scale_popup=preview_popup_size) + + # dropdown list + row = layout.row(align=True) + row.prop(context.window_manager, "widget_list", expand=False, text="") + + row = layout.row(align=True) + row.menu("BONEWIDGET_MT_bw_specials", icon='DOWNARROW_HLT', text="") + row.operator("bonewidget.create_widget", + icon="OBJECT_DATAMODE", text="Create") + + if context.mode == "POSE": + row.operator("bonewidget.edit_widget", icon="OUTLINER_DATA_MESH") + else: + row.operator("bonewidget.return_to_armature", + icon="LOOP_BACK", text='To bone') + + layout.separator() + + # Symmetry buttons etc + row = layout.row(align=True) + row.operator("bonewidget.symmetrize_shape", + icon='MOD_MIRROR', text="Symmetrize Shape") + icon = 'RESTRICT_COLOR_OFF' + if preferences.symmetrize_color: + icon = 'RESTRICT_COLOR_ON' + row.prop(preferences, "symmetrize_color", + icon=icon, text='', toggle=True) + row = layout.row() + row.operator("bonewidget.match_bone_transforms", + icon='GROUP_BONE', text="Match Bone Transforms") + row = layout.row() + row.operator("bonewidget.resync_widget_names", + icon='FILE_REFRESH', text="Resync Widget Names") + + # Clear Bone Widget buttons etc + layout.separator() + layout.operator("bonewidget.clear_widgets", + icon='X', text="Clear Bone Widget") + layout.operator("bonewidget.delete_unused_widgets", + icon='TRASH', text="Delete Unused Widgets") + + if context.mode == 'POSE': + layout.operator("bonewidget.add_as_widget", + text="Use Selected Object", + icon='RESTRICT_SELECT_OFF') + + # if the bw collection exists, show the visibility toggle + if not preferences.use_rigify_defaults: # rigify + bw_collection_name = preferences.bonewidget_collection_name + + elif context.active_object: # active object + bw_collection_name = 'WGTS_' + context.active_object.name + + else: # this is needed because sometimes there is no active object + bw_collection_name = None + + bw_collection = recursive_layer_collection( + context.view_layer.layer_collection, bw_collection_name) + + if bw_collection is not None: + if bw_collection.hide_viewport: + icon = "HIDE_ON" + text = "Show Collection" + else: + icon = "HIDE_OFF" + text = "Hide Collection" + row = layout.row() + row.separator() + row = layout.row() + row.operator("bonewidget.toggle_collection_visibilty", + icon=icon, text=text) + + # BONE COLORS + if bpy.app.version >= (4, 0, 0): + layout.separator() + row = layout.row(align=True) + row.operator("bonewidget.set_bone_color", + text="Set Bone Color", icon="BRUSHES_ALL") + row.scale_x = 3.0 + icon_row = row.row() + icon_row.enabled = (context.object is not None and context.object.type == 'ARMATURE' and + context.object.mode in {'POSE', 'EDIT'}) + icon_row.template_icon_view( + context.scene.bw_settings, "bone_widget_colors", show_labels=False, scale=1, scale_popup=1.8) + if context.scene.bw_settings.bone_widget_colors == "CUSTOM": + + custom_pose_color = context.scene.bw_settings.custom_pose_color_set + custom_edit_color = context.scene.bw_settings.custom_edit_color_set + + if context.object.mode == 'POSE': # display pose bone colors + row = layout.row(align=True) + row.prop(custom_pose_color, "normal", text="") + row.prop(custom_pose_color, "select", text="") + row.prop(custom_pose_color, "active", text="") + # edit bone colors + elif context.object.mode == "EDIT" and preferences.edit_bone_colors != 'DEFAULT': + row = layout.row(align=True) + row.prop(custom_edit_color, "normal", text="") + row.prop(custom_edit_color, "select", text="") + row.prop(custom_edit_color, "active", text="") + + if context.object.mode == 'POSE' or (context.object.mode == 'EDIT' and + preferences.edit_bone_colors != 'DEFAULT'): + row.separator(factor=0.5) + row.prop(context.scene.bw_settings, "live_update_toggle", + text="", icon="UV_SYNC_SELECT") + + row = layout.row() + row.operator("bonewidget.copy_bone_color", + text="Copy Bone Color", icon="COPYDOWN") + + row = layout.row(align=True) + row.operator("bonewidget.clear_bone_color", + text="Clear Bone Color", icon="PANEL_CLOSE") + + icon = 'BONE_DATA' + if preferences.clear_both_modes: + icon = 'GROUP_BONE' + row.prop(preferences, "clear_both_modes", + icon=icon, text='', toggle=True) + + +class BONEWIDGET_PT_bw_custom_color_presets(BONEWIDGET_PT_bw_panel, bpy.types.Panel): + bl_idname = "BONEWIDGET_PT_bw_custom_color_presets" + bl_parent_id = "BONEWIDGET_PT_bw_panel_main" + bl_label = "Custom Color Presets" + bl_options = {'DEFAULT_CLOSED'} + + @classmethod + def poll(self, context): + return bpy.app.version >= (4, 0, 0) + + def draw(self, context): + layout = self.layout + + row = layout.row() + row.template_list("BONEWIDGET_UL_colorset_items", "", context.window_manager, "custom_color_presets", + context.window_manager, "colorset_list_index") + + col = row.column(align=True) + col.operator("bonewidget.add_default_custom_colorset", + icon='ADD', text="") + col.operator("bonewidget.remove_custom_item", icon='REMOVE', text="") + col.separator() + col.menu("BONEWIDGET_MT_bw_color_presets_specials", + icon="DOWNARROW_HLT", text="") + col.separator() + col.operator("bonewidget.move_custom_item_up", icon="TRIA_UP", text="") + col.operator("bonewidget.move_custom_item_down", + icon="TRIA_DOWN", text="") + row = layout.row() + row.operator("bonewidget.add_colorset_to_bone", + text="Apply To Selected Bones") + + +class BONEWIDGET_UL_colorset_items(bpy.types.UIList): + def draw_item(self, context, layout, data, item, icon, active_data, active_property, index): + # set the size of each color set field + split = layout.split(factor=0.58) + split.prop(item, "name", text="", emboss=False) + + row = split.row(align=True) + row.prop(item, "normal", text="") + row.prop(item, "select", text="") + row.prop(item, "active", text="") + + +classes = ( + BONEWIDGET_PT_bw_panel_main, + BONEWIDGET_PT_bw_custom_color_presets, + BONEWIDGET_UL_colorset_items, +) + + +def register(): + if not hasattr(bpy.types.WindowManager, "widget_list"): + create_preview_collection() + + bpy.types.WindowManager.toggle_preview = bpy.props.BoolProperty( + name="Preview Panel", + default=get_preview_default(), + description="Show thumbnail previews" + ) + + bpy.utils.register_class(PresetColorSetItem) + bpy.types.WindowManager.custom_color_presets = bpy.props.CollectionProperty( + type=PresetColorSetItem) + bpy.types.WindowManager.colorset_list_index = bpy.props.IntProperty( + name="Index", default=0) + bpy.types.WindowManager.turn_off_colorset_save = bpy.props.BoolProperty( + name="Turn Off ColorSet Save", + description="Disable automatic saving of color sets", + default=False + ) + bpy.types.WindowManager.load_presets_on_startup = bpy.props.BoolProperty( + name="Load Presets on Startup", + description="Load color presets when Blender starts", + default=True + ) + + from bpy.utils import register_class + for cls in classes: + try: + register_class(cls) + except: + pass + + +def unregister(): + if hasattr(bpy.types.WindowManager, "widget_list"): + del bpy.types.WindowManager.widget_list + + del bpy.types.WindowManager.toggle_preview + del bpy.types.WindowManager.custom_color_presets + del bpy.types.WindowManager.colorset_list_index + del bpy.types.WindowManager.turn_off_colorset_save + del bpy.types.WindowManager.load_presets_on_startup + + bpy.utils.unregister_class(PresetColorSetItem) + + for pcoll in preview_collections.values(): + bpy.utils.previews.remove(pcoll) + preview_collections.clear() + + from bpy.utils import unregister_class + for cls in classes: + try: + unregister_class(cls) + except: + pass diff --git a/extensions/blender_org/bone_widget/prefs.py b/extensions/blender_org/bone_widget/prefs.py new file mode 100644 index 0000000..0dbb531 --- /dev/null +++ b/extensions/blender_org/bone_widget/prefs.py @@ -0,0 +1,203 @@ +import bpy +from bpy.types import AddonPreferences +from bpy.props import StringProperty, BoolProperty, FloatProperty, EnumProperty + +from .panels import BONEWIDGET_PT_bw_panel_main +from .operators import BONEWIDGET_OT_reset_default_images, BONEWIDGET_OT_user_data_filebrowser + + +class BoneWidget_preferences(AddonPreferences): + bl_idname = __package__ + + # Use Rigify Defaults + use_rigify_defaults: BoolProperty( + name="Use Rigify Defaults", + description="Use the same naming convention for widget creation (disable if you prefer your naming convention)", + default=True, + ) + + # widget prefix + widget_prefix: StringProperty( + name="Bone Widget prefix", + description="Choose a prefix for the widget objects", + default="WGT-", + ) + + # symmetry suffix + symmetry_suffix: StringProperty( + name="Bone Widget symmetry suffix", + description="Choose a naming convention for the symmetrical widgets, separate by semicolon.", + default="L; R", + ) + + # collection name + bonewidget_collection_name: StringProperty( + name="Bone Widget collection name", + description="Choose a name for the collection the widgets will appear", + default="WGTS", + ) + + def panel_category_update_fn(self, context): + has_panel = hasattr(bpy.types, BONEWIDGET_PT_bw_panel_main.bl_idname) + if has_panel: + try: + bpy.utils.unregister_class(BONEWIDGET_PT_bw_panel_main) + except: + pass + BONEWIDGET_PT_bw_panel_main.bl_category = self.panel_category + bpy.utils.register_class(BONEWIDGET_PT_bw_panel_main) + + panel_category: StringProperty( + name="Panel Category", + description="Category to show Bone-Widgets panel", + default="Rigging", + update=panel_category_update_fn, + ) + + preview_panel_size: FloatProperty( + name="Preview Panel Size", + description="Size of the Preview Panel", + default=6.0, + min=1.0, + max=10.0, + precision=1, + ) + + preview_popup_size: FloatProperty( + name="Preview Popup Size", + description="Size of the Preview Popup Thumbnails", + default=3.5, + min=1.0, + max=10.0, + precision=1, + ) + + preview_default: BoolProperty( + name="Default Preview State", + description="Default state of preview panel", + default=True, + ) + + edit_bone_colors: EnumProperty( + name="Edit Bone Colors", + description="Behavior of Edit Bone colors", + items=[ + ('DEFAULT', "Default", "Set the Edit Bone color to the default colors"), + ('LINKED', "Linked", + "Use the same colors for both the Edit bones and Pose bones"), + ('SEPARATE', "Separate", + "Edit bones and Pose bones will have their own colors"), + ], + default='DEFAULT' + ) + + clear_both_modes: bpy.props.BoolProperty( + name="Clear All Bone Color", + description='When enabled, bone colors from Edit mode and Pose mode will be cleared. When disabled, only the color from the current mode will be cleared', + default=True + ) + + symmetrize_color: bpy.props.BoolProperty( + name="Symmetrize Bone Colors", + description='When enabled, bone colors will be copied when you symmetrize a widget. When disabled, only the shape will be symmetrized', + default=True + ) + + use_default_location: bpy.props.BoolProperty( + name="Use default location", + description='When enabled, user widgets and color sets will be saved to extensions/.user/{repository_name}/bone_widget/bone_widget_custom_data', + default=True + ) + + user_data_location: StringProperty( + name="User Data Location", + description="Choose a location where you want to save custom data", + default="", + ) + + def draw(self, context): + layout = self.layout + + box = layout.box() + box.label(text="Widget Naming Convention:") + box.prop(self, "use_rigify_defaults", text="Use Rigify Defaults") + + box_row = box.row() + box_col = box_row.column() + box_col.prop(self, "widget_prefix", text="Widget Prefix") + box_col.prop(self, "bonewidget_collection_name", + text="Collection name") + box_row.enabled = not self.use_rigify_defaults + + box_row = box.row() + box_row = box.row() + box_row.prop(self, "symmetry_suffix", text="Symmetry suffix") + + row = layout.row() + + box = layout.box() + box_col = box.column() + box_col.label(text="Set the category to show Bone-Widgets panel:") + box_col.prop(self, "panel_category") + + # edit bone colors + row = layout.row() + box = layout.box() + box.label(text="Bone Color Behavior:") + row = box.row() + row.prop(self, "edit_bone_colors") + row = box.row() + row.label(text="Clearing Colors:") + row.prop(self, "clear_both_modes") + row = box.row() + row.label(text="Symmetrize Colors:") + row.prop(self, "symmetrize_color") + + # preview area + row = layout.row() + box = layout.box() + + box.label(text="Thumbnail Previews:") + box_row = box.row() + box_row.prop(self, "preview_default", + text="Display Previews by Default") + + box_row = box.row() + box_col = box_row.column() + box_col.label(text="Preview Panel Size:") + box_row.prop(self, "preview_panel_size", text="") + + box_row = box.row() + box_col = box_row.column() + box_col.label(text="Preview Popup Size:") + box_row.prop(self, "preview_popup_size", text="") + + # custom data + row = layout.row() + box = layout.box() + + box.label(text="Custom Data:") + box_row = box.row() + box_row.prop(self, "use_default_location", text="Use Default Location") + + box_row = box.row() + box_col = box_row.column() + box_col.prop(self, "user_data_location", text="Custom Path") + box_row.operator("bonewidget.user_data_filebrowser", + icon="FILEBROWSER", text="") + box_row.enabled = not self.use_default_location + + # reset button + layout.separator() + row = layout.row() + row = row.split(factor=.75) + row.label(text="Reset Default Widget Thumbnails") + row.operator("bonewidget.reset_default_images", icon="ERROR") + + +def register(): + bpy.utils.register_class(BoneWidget_preferences) + + +def unregister(): + bpy.utils.unregister_class(BoneWidget_preferences) diff --git a/extensions/blender_org/bone_widget/props.py b/extensions/blender_org/bone_widget/props.py new file mode 100644 index 0000000..fde7527 --- /dev/null +++ b/extensions/blender_org/bone_widget/props.py @@ -0,0 +1,197 @@ +import bpy +from .functions.main_functions import ( + update_bone_color, + bone_color_items_short, + live_update_toggle +) +from bpy.types import PropertyGroup +from bpy.props import BoolProperty, EnumProperty, PointerProperty + + +class CustomColorSet(bpy.types.PropertyGroup): + + name: bpy.props.StringProperty(name="Name", default="Untitled") + + normal: bpy.props.FloatVectorProperty( + name="Normal", + subtype='COLOR_GAMMA', + default=(0.0, 0.0, 0.0), + size=3, + min=0.0, max=1.0, + description="Color used for the surface of bones", + update=update_bone_color, + ) + + select: bpy.props.FloatVectorProperty( + name="Select", + subtype='COLOR_GAMMA', + default=(0.0, 0.0, 0.0), + size=3, + min=0.0, max=1.0, + description="Color used for selected bones", + update=update_bone_color, + ) + + active: bpy.props.FloatVectorProperty( + name="Active", + subtype='COLOR_GAMMA', + default=(0.0, 0.0, 0.0), + size=3, + min=0.0, max=1.0, + description="Color used for active bones", + update=update_bone_color, + ) + + +class BW_Settings(PropertyGroup): + live_update_on: BoolProperty( + name="Live Update On", + description="Enable live widget updates", + default=False + ) + live_update_toggle: BoolProperty( + name="Live Update Toggle", + description="Toggle live updates in the UI", + default=False, + update=live_update_toggle, + ) + lock_colorset_color_changes: BoolProperty( + name="Lock ColorSet Color Changes", + description="Prevent modifying the current color set", + default=False + ) + # Blender's bone color themes + bone_widget_colors: EnumProperty( + name="Colors", + description="Select a Bone Color", + items=bone_color_items_short, # get the themes minus the blank ones + default=1, # THEME01 + ) + + # Nested Property Groups + custom_edit_color_set: PointerProperty(type=CustomColorSet) + custom_pose_color_set: PointerProperty(type=CustomColorSet) + + +save_timer = None + + +def debounce_save(context): + """Schedule saving the color sets 1 second after the last change.""" + from .functions.json_functions import save_color_sets + global save_timer + + if save_timer is not None: + try: + bpy.app.timers.unregister(save_timer) + except ValueError: + pass + + def delayed_save(): + save_color_sets(context) + return None # stop the timer + + save_timer = delayed_save + bpy.app.timers.register(save_timer, first_interval=1.0) + + +class PresetColorSetItem(bpy.types.PropertyGroup): + + def update_colorset_list(self, context): + if not context.window_manager.turn_off_colorset_save and not context.scene.bw_settings.lock_colorset_color_changes: + debounce_save(context) + + name: bpy.props.StringProperty( + name="Name", default="Untitled", update=update_colorset_list) + normal: bpy.props.FloatVectorProperty( + name="Normal", + subtype='COLOR_GAMMA', + default=(0.0, 0.0, 0.0), + size=3, + min=0.0, max=1.0, + description="Color used for the surface of bones", + update=update_colorset_list, + ) + select: bpy.props.FloatVectorProperty( + name="Select", + subtype='COLOR_GAMMA', + default=(0.0, 0.0, 0.0), + size=3, + min=0.0, max=1.0, + description="Color used for selected bones", + update=update_colorset_list, + ) + active: bpy.props.FloatVectorProperty( + name="Active", + subtype='COLOR_GAMMA', + default=(0.0, 0.0, 0.0), + size=3, + min=0.0, max=1.0, + description="Color used for active bones", + update=update_colorset_list, + ) + + +class ImportColorSet(bpy.types.PropertyGroup): + + normal: bpy.props.FloatVectorProperty( + name="Normal", + subtype='COLOR_GAMMA', + default=(0.0, 0.0, 0.0), + size=3, + min=0.0, max=1.0, + description="Color used for the surface of bones", + ) + + select: bpy.props.FloatVectorProperty( + name="Select", + subtype='COLOR_GAMMA', + default=(0.0, 0.0, 0.0), + size=3, + min=0.0, max=1.0, + description="Color used for selected bones", + ) + + active: bpy.props.FloatVectorProperty( + name="Active", + subtype='COLOR_GAMMA', + default=(0.0, 0.0, 0.0), + size=3, + min=0.0, max=1.0, + description="Color used for active bones", + ) + + +def get_import_options(): + return [ + ("OVERWRITE", "Add/Overwrite", "Add or Overwrite existing item"), + ("SKIP", "Skip", "Skip item"), + ("RENAME", "Rename", "Rename item"), + ] + + +class ImportItemData(bpy.types.PropertyGroup): + + name: bpy.props.StringProperty( + name="Unnamed", + description="The name of the imported item" + ) + + import_option: bpy.props.EnumProperty( + name="Options", + description="Choose an option", + items=get_import_options(), + default="SKIP" + ) + + +def register(): + bpy.utils.register_class(CustomColorSet) + bpy.utils.register_class(BW_Settings) + bpy.types.Scene.bw_settings = bpy.props.PointerProperty(type=BW_Settings) + + +def unregister(): + del bpy.types.Scene.bw_settings + bpy.utils.unregister_class(BW_Settings) + bpy.utils.unregister_class(CustomColorSet) diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/3 Axes.png b/extensions/blender_org/bone_widget/thumbnails/3 Axes.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/3 Axes.png rename to extensions/blender_org/bone_widget/thumbnails/3 Axes.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/6 Axes.png b/extensions/blender_org/bone_widget/thumbnails/6 Axes.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/6 Axes.png rename to extensions/blender_org/bone_widget/thumbnails/6 Axes.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Arrow Double (curved).png b/extensions/blender_org/bone_widget/thumbnails/Arrow Double (curved).png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Arrow Double (curved).png rename to extensions/blender_org/bone_widget/thumbnails/Arrow Double (curved).png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Arrow Double (straight).png b/extensions/blender_org/bone_widget/thumbnails/Arrow Double (straight).png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Arrow Double (straight).png rename to extensions/blender_org/bone_widget/thumbnails/Arrow Double (straight).png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Arrow Single (straight).png b/extensions/blender_org/bone_widget/thumbnails/Arrow Single (straight).png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Arrow Single (straight).png rename to extensions/blender_org/bone_widget/thumbnails/Arrow Single (straight).png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Chest.png b/extensions/blender_org/bone_widget/thumbnails/Chest.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Chest.png rename to extensions/blender_org/bone_widget/thumbnails/Chest.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Circle.png b/extensions/blender_org/bone_widget/thumbnails/Circle.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Circle.png rename to extensions/blender_org/bone_widget/thumbnails/Circle.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Clavicle.png b/extensions/blender_org/bone_widget/thumbnails/Clavicle.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Clavicle.png rename to extensions/blender_org/bone_widget/thumbnails/Clavicle.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Cube.png b/extensions/blender_org/bone_widget/thumbnails/Cube.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Cube.png rename to extensions/blender_org/bone_widget/thumbnails/Cube.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Eye Target 1.png b/extensions/blender_org/bone_widget/thumbnails/Eye Target 1.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Eye Target 1.png rename to extensions/blender_org/bone_widget/thumbnails/Eye Target 1.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Eye Target 2.png b/extensions/blender_org/bone_widget/thumbnails/Eye Target 2.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Eye Target 2.png rename to extensions/blender_org/bone_widget/thumbnails/Eye Target 2.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/FK Limb 1.png b/extensions/blender_org/bone_widget/thumbnails/FK Limb 1.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/FK Limb 1.png rename to extensions/blender_org/bone_widget/thumbnails/FK Limb 1.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/FK Limb 2.png b/extensions/blender_org/bone_widget/thumbnails/FK Limb 2.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/FK Limb 2.png rename to extensions/blender_org/bone_widget/thumbnails/FK Limb 2.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Gear Complex.png b/extensions/blender_org/bone_widget/thumbnails/Gear Complex.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Gear Complex.png rename to extensions/blender_org/bone_widget/thumbnails/Gear Complex.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Gear Simple.png b/extensions/blender_org/bone_widget/thumbnails/Gear Simple.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Gear Simple.png rename to extensions/blender_org/bone_widget/thumbnails/Gear Simple.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Line.png b/extensions/blender_org/bone_widget/thumbnails/Line.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Line.png rename to extensions/blender_org/bone_widget/thumbnails/Line.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Paddle (rounded).png b/extensions/blender_org/bone_widget/thumbnails/Paddle (rounded).png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Paddle (rounded).png rename to extensions/blender_org/bone_widget/thumbnails/Paddle (rounded).png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Paddle (square).png b/extensions/blender_org/bone_widget/thumbnails/Paddle (square).png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Paddle (square).png rename to extensions/blender_org/bone_widget/thumbnails/Paddle (square).png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Plane (rounded).png b/extensions/blender_org/bone_widget/thumbnails/Plane (rounded).png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Plane (rounded).png rename to extensions/blender_org/bone_widget/thumbnails/Plane (rounded).png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Plane.png b/extensions/blender_org/bone_widget/thumbnails/Plane.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Plane.png rename to extensions/blender_org/bone_widget/thumbnails/Plane.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Pyramid.png b/extensions/blender_org/bone_widget/thumbnails/Pyramid.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Pyramid.png rename to extensions/blender_org/bone_widget/thumbnails/Pyramid.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Rhomboid.png b/extensions/blender_org/bone_widget/thumbnails/Rhomboid.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Rhomboid.png rename to extensions/blender_org/bone_widget/thumbnails/Rhomboid.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Roll 1.png b/extensions/blender_org/bone_widget/thumbnails/Roll 1.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Roll 1.png rename to extensions/blender_org/bone_widget/thumbnails/Roll 1.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Roll 2.png b/extensions/blender_org/bone_widget/thumbnails/Roll 2.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Roll 2.png rename to extensions/blender_org/bone_widget/thumbnails/Roll 2.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Roll 3.png b/extensions/blender_org/bone_widget/thumbnails/Roll 3.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Roll 3.png rename to extensions/blender_org/bone_widget/thumbnails/Roll 3.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Roll_IK.png b/extensions/blender_org/bone_widget/thumbnails/Roll IK.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Roll_IK.png rename to extensions/blender_org/bone_widget/thumbnails/Roll IK.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Root 1.png b/extensions/blender_org/bone_widget/thumbnails/Root 1.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Root 1.png rename to extensions/blender_org/bone_widget/thumbnails/Root 1.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Root 2.png b/extensions/blender_org/bone_widget/thumbnails/Root 2.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Root 2.png rename to extensions/blender_org/bone_widget/thumbnails/Root 2.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Saddle.png b/extensions/blender_org/bone_widget/thumbnails/Saddle.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Saddle.png rename to extensions/blender_org/bone_widget/thumbnails/Saddle.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Sphere (half).png b/extensions/blender_org/bone_widget/thumbnails/Sphere (half).png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Sphere (half).png rename to extensions/blender_org/bone_widget/thumbnails/Sphere (half).png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Sphere.png b/extensions/blender_org/bone_widget/thumbnails/Sphere.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Sphere.png rename to extensions/blender_org/bone_widget/thumbnails/Sphere.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Tile.png b/extensions/blender_org/bone_widget/thumbnails/Tile.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Tile.png rename to extensions/blender_org/bone_widget/thumbnails/Tile.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Torso.png b/extensions/blender_org/bone_widget/thumbnails/Torso.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Torso.png rename to extensions/blender_org/bone_widget/thumbnails/Torso.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Triangle.png b/extensions/blender_org/bone_widget/thumbnails/Triangle.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/Triangle.png rename to extensions/blender_org/bone_widget/thumbnails/Triangle.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/missing_image.png b/extensions/blender_org/bone_widget/thumbnails/missing_image.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/missing_image.png rename to extensions/blender_org/bone_widget/thumbnails/missing_image.png diff --git a/scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/user_defined.png b/extensions/blender_org/bone_widget/thumbnails/user_defined.png similarity index 100% rename from scripts/addons/boneWidget-boneWidget_0_2_1/thumbnails/user_defined.png rename to extensions/blender_org/bone_widget/thumbnails/user_defined.png diff --git a/extensions/blender_org/bone_widget/widgets.json b/extensions/blender_org/bone_widget/widgets.json new file mode 100644 index 0000000..d9808bc --- /dev/null +++ b/extensions/blender_org/bone_widget/widgets.json @@ -0,0 +1 @@ +{"Sphere": {"edges": [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [0, 23], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [31, 32], [32, 33], [33, 34], [34, 35], [35, 36], [36, 37], [37, 38], [38, 39], [39, 40], [40, 41], [41, 42], [42, 43], [43, 44], [44, 45], [45, 46], [46, 47], [24, 47], [48, 49], [49, 50], [50, 51], [51, 52], [52, 53], [53, 54], [54, 55], [55, 56], [56, 57], [57, 58], [58, 59], [59, 60], [60, 61], [61, 62], [62, 63], [63, 64], [64, 65], [65, 66], [66, 67], [67, 68], [68, 69], [69, 70], [70, 71], [48, 71]], "vertices": [[0.0, 0.10000002384185791, 0.0], [-0.025881901383399963, 0.09659260511398315, 0.0], [-0.050000011920928955, 0.08660250902175903, 0.0], [-0.07071065902709961, 0.07071065902709961, 0.0], [-0.08660256862640381, 0.04999998211860657, 0.0], [-0.09659260511398315, 0.025881901383399963, 0.0], [-0.10000002384185791, 7.549793679118011e-09, 0.0], [-0.09659260511398315, -0.02588188648223877, 0.0], [-0.08660256862640381, -0.04999998211860657, 0.0], [-0.07071071863174438, -0.07071065902709961, 0.0], [-0.050000011920928955, -0.08660250902175903, 0.0], [-0.02588193118572235, -0.09659260511398315, 0.0], [-3.894143674187944e-08, -0.10000002384185791, 0.0], [0.025881856679916382, -0.09659260511398315, 0.0], [0.04999995231628418, -0.08660256862640381, 0.0], [0.07071065902709961, -0.07071071863174438, 0.0], [0.08660250902175903, -0.05000004172325134, 0.0], [0.09659254550933838, -0.025881946086883545, 0.0], [0.10000002384185791, -4.649123752642481e-08, 0.0], [0.09659260511398315, 0.025881856679916382, 0.0], [0.08660256862640381, 0.04999995231628418, 0.0], [0.07071071863174438, 0.07071065902709961, 0.0], [0.05000007152557373, 0.08660250902175903, 0.0], [0.025881975889205933, 0.09659254550933838, 0.0], [0.0, 7.450580596923828e-09, 0.10000002384185791], [-0.025881901383399963, 7.450580596923828e-09, 0.09659260511398315], [-0.050000011920928955, 7.450580596923828e-09, 0.08660250902175903], [-0.07071065902709961, 7.450580596923828e-09, 0.07071065902709961], [-0.08660256862640381, 3.725290298461914e-09, 0.04999998211860657], [-0.09659260511398315, 1.862645149230957e-09, 0.025881901383399963], [-0.10000002384185791, 8.881784197001252e-16, 7.549793679118011e-09], [-0.09659260511398315, -1.862645149230957e-09, -0.02588188648223877], [-0.08660256862640381, -3.725290298461914e-09, -0.04999998211860657], [-0.07071071863174438, -7.450580596923828e-09, -0.07071065902709961], [-0.050000011920928955, -7.450580596923828e-09, -0.08660250902175903], [-0.02588193118572235, -7.450580596923828e-09, -0.09659260511398315], [-3.894143674187944e-08, -7.450580596923828e-09, -0.10000002384185791], [0.025881856679916382, -7.450580596923828e-09, -0.09659260511398315], [0.04999995231628418, -7.450580596923828e-09, -0.08660256862640381], [0.07071065902709961, -7.450580596923828e-09, -0.07071071863174438], [0.08660250902175903, -3.725290298461914e-09, -0.05000004172325134], [0.09659254550933838, -1.862645149230957e-09, -0.025881946086883545], [0.10000002384185791, -3.552713678800501e-15, -4.649123752642481e-08], [0.09659260511398315, 1.862645149230957e-09, 0.025881856679916382], [0.08660256862640381, 3.725290298461914e-09, 0.04999995231628418], [0.07071071863174438, 7.450580596923828e-09, 0.07071065902709961], [0.05000007152557373, 7.450580596923828e-09, 0.08660250902175903], [0.025881975889205933, 7.450580596923828e-09, 0.09659254550933838], [-7.450580596923828e-09, 4.440892098500626e-16, 0.10000002384185791], [-9.313225746154785e-09, -0.025881901383399963, 0.09659260511398315], [-1.1175870895385742e-08, -0.050000011920928955, 0.08660250902175903], [-1.4901161193847656e-08, -0.07071065902709961, 0.07071065902709961], [-7.450580596923828e-09, -0.08660256862640381, 0.04999998211860657], [-7.450580596923828e-09, -0.09659260511398315, 0.025881901383399963], [-7.450580596923828e-09, -0.10000002384185791, 7.549793679118011e-09], [-7.450580596923828e-09, -0.09659260511398315, -0.02588188648223877], [0.0, -0.08660256862640381, -0.04999998211860657], [0.0, -0.07071071863174438, -0.07071065902709961], [3.725290298461914e-09, -0.050000011920928955, -0.08660250902175903], [5.587935447692871e-09, -0.02588193118572235, -0.09659260511398315], [7.450577044210149e-09, -3.894143674187944e-08, -0.10000002384185791], [9.313225746154785e-09, 0.025881856679916382, -0.09659260511398315], [1.1175870895385742e-08, 0.04999995231628418, -0.08660256862640381], [1.4901161193847656e-08, 0.07071065902709961, -0.07071071863174438], [7.450580596923828e-09, 0.08660250902175903, -0.05000004172325134], [7.450580596923828e-09, 0.09659254550933838, -0.025881946086883545], [7.450580596923828e-09, 0.10000002384185791, -4.649123752642481e-08], [7.450580596923828e-09, 0.09659260511398315, 0.025881856679916382], [0.0, 0.08660256862640381, 0.04999995231628418], [0.0, 0.07071071863174438, 0.07071065902709961], [-3.725290298461914e-09, 0.05000007152557373, 0.08660250902175903], [-5.587935447692871e-09, 0.025881975889205933, 0.09659254550933838]], "faces": [], "image": "Sphere.png"}, "Circle": {"vertices": [[0.0, 4.172325134277344e-07, 0.9999995231628418], [-0.19509030878543854, 4.172325134277344e-07, 0.9807847738265991], [-0.3826834261417389, 4.172325134277344e-07, 0.9238790273666382], [-0.5555701851844788, 4.172325134277344e-07, 0.8314691185951233], [-0.7071067094802856, 4.172325134277344e-07, 0.7071062922477722], [-0.8314695954322815, 4.76837158203125e-07, 0.5555697083473206], [-0.9238794445991516, 4.470348358154297e-07, 0.3826829493045807], [-0.9807851910591125, 4.6193599700927734e-07, 0.19508987665176392], [-0.9999999403953552, 4.76837158203125e-07, -4.0133926404450904e-07], [-0.9807852506637573, 4.917383193969727e-07, -0.19509068131446838], [-0.9238795042037964, 5.066394805908203e-07, -0.38268375396728516], [-0.8314695954322815, 4.76837158203125e-07, -0.555570662021637], [-0.7071067094802856, 5.364418029785156e-07, -0.7071072459220886], [-0.555570125579834, 5.364418029785156e-07, -0.8314701318740845], [-0.38268324732780457, 5.364418029785156e-07, -0.9238801002502441], [-0.19509007036685944, 5.364418029785156e-07, -0.9807857871055603], [3.2584134146418364e-07, 4.76837158203125e-07, -1.0000004768371582], [0.19509071111679077, 5.364418029785156e-07, -0.9807856678962708], [0.3826838433742523, 5.364418029785156e-07, -0.9238798022270203], [0.555570662021637, 5.364418029785156e-07, -0.8314697742462158], [0.7071071863174438, 5.364418029785156e-07, -0.7071068286895752], [0.8314699530601501, 4.76837158203125e-07, -0.555570125579834], [0.9238798022270203, 5.066394805908203e-07, -0.3826831579208374], [0.9807853698730469, 4.917383193969727e-07, -0.1950899362564087], [0.9999999403953552, 4.76837158203125e-07, 4.887619979854207e-07], [0.9807850122451782, 4.6193599700927734e-07, 0.1950908750295639], [0.9238790273666382, 4.470348358154297e-07, 0.38268399238586426], [0.8314688801765442, 4.76837158203125e-07, 0.5555707812309265], [0.707105815410614, 4.172325134277344e-07, 0.7071071863174438], [0.555569052696228, 4.172325134277344e-07, 0.8314698934555054], [0.38268205523490906, 4.172325134277344e-07, 0.9238796234130859], [0.19508880376815796, 4.172325134277344e-07, 0.980785071849823]], "edges": [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [23, 24], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [0, 31]], "faces": [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 0]], "image": "Circle.png"}, "Cube": {"vertices": [[-1.0, -1.0, -1.0], [-1.0, -1.0, 1.0], [-1.0, 1.0, -1.0], [-1.0, 1.0, 1.0], [1.0, -1.0, -1.0], [1.0, -1.0, 1.0], [1.0, 1.0, -1.0], [1.0, 1.0, 1.0]], "edges": [[0, 2], [0, 1], [1, 3], [2, 3], [2, 6], [3, 7], [6, 7], [4, 6], [5, 7], [4, 5], [0, 4], [1, 5]], "faces": [[2, 6, 4, 0], [2, 0, 1, 3], [1, 0, 4, 5], [5, 4, 6, 7], [7, 6, 2, 3], [7, 3, 1, 5]], "image": "Cube.png"}, "Line": {"vertices": [[0.0, 0.0, 0.0], [0.0, 1.0, 0.0]], "edges": [[0, 1]], "faces": [], "image": "Line.png"}, "Tile": {"vertices": [[-1.0, -1.0, 0.0], [-1.0, -1.0, 0.25], [-1.0, 1.0, 0.0], [-1.0, 1.0, 0.25], [1.0, -1.0, 0.0], [1.0, -1.0, 0.25], [1.0, 1.0, 0.0], [1.0, 1.0, 0.25]], "edges": [[0, 2], [0, 1], [1, 3], [2, 3], [2, 6], [3, 7], [6, 7], [4, 6], [5, 7], [4, 5], [0, 4], [1, 5]], "faces": [[2, 6, 4, 0], [2, 0, 1, 3], [1, 0, 4, 5], [5, 4, 6, 7], [7, 6, 2, 3], [7, 3, 1, 5]], "image": "Tile.png"}, "Root 1": {"vertices": [[0.47180606503768274, 0.47180624594146536, 0.0], [0.47180606503768274, -0.47180624594146536, 0.0], [-0.47180606503768274, 0.47180624594146536, 0.0], [-0.47180606503768274, -0.47180624594146536, 0.0], [0.5547853185733231, 0.3706957751148394, 0.0], [0.5547853185733231, -0.3706957751148394, 0.0], [-0.5547853185733231, 0.3706957751148394, 0.0], [-0.5547853185733231, -0.3706957751148394, 0.0], [0.6164443377119966, 0.25533969673116275, 0.0], [0.6164443377119966, -0.25533969673116275, 0.0], [-0.6164443377119966, 0.25533969673116275, 0.0], [-0.6164443377119966, -0.25533969673116275, 0.0], [0.6544138256127212, 0.1301710805965257, 0.0], [0.6544138256127212, -0.1301710805965257, 0.0], [-0.6544138256127212, 0.1301710805965257, 0.0], [-0.6544138256127212, -0.1301710805965257, 0.0], [0.13017210948678937, 0.6544138708386669, 0.0], [0.13017210948678937, -0.6544138708386669, 0.0], [-0.13017210948678937, 0.6544138708386669, 0.0], [-0.13017210948678937, -0.6544138708386669, 0.0], [0.25534071431494, 0.616444156808214, 0.0], [0.25534071431494, -0.616444156808214, 0.0], [-0.25534071431494, 0.616444156808214, 0.0], [-0.25534071431494, -0.616444156808214, 0.0], [0.3706967248596982, 0.5547848210879209, 0.0], [0.3706967248596982, -0.5547848210879209, 0.0], [-0.3706967248596982, 0.5547848210879209, 0.0], [-0.3706967248596982, -0.5547848210879209, 0.0], [0.13017210948678937, 0.8545842228899687, 0.0], [0.13017210948678937, -0.8545842228899687, 0.0], [-0.13017210948678937, 0.8545842228899687, 0.0], [-0.13017210948678937, -0.8545842228899687, 0.0], [0.8545842228899687, 0.1301710805965257, 0.0], [0.8545842228899687, -0.1301710805965257, 0.0], [-0.8545842228899687, 0.1301710805965257, 0.0], [-0.8545842228899687, -0.1301710805965257, 0.0], [0.26361902969846795, 0.8545842228899687, 0.0], [0.26361902969846795, -0.8545842228899687, 0.0], [-0.26361902969846795, 0.8545842228899687, 0.0], [-0.26361902969846795, -0.8545842228899687, 0.0], [0.8545842228899687, 0.26361803472766354, 0.0], [0.8545842228899687, -0.26361803472766354, 0.0], [-0.8545842228899687, 0.26361803472766354, 0.0], [-0.8545842228899687, -0.26361803472766354, 0.0], [0.0, 1.0547548010709988, 0.0], [0.0, -1.0547548010709988, 0.0], [1.054754529715325, 0.0, 0.0], [-1.054754529715325, 0.0, 0.0]], "edges": [[0, 4], [1, 5], [2, 6], [3, 7], [4, 8], [5, 9], [6, 10], [7, 11], [8, 12], [9, 13], [10, 14], [11, 15], [16, 20], [17, 21], [18, 22], [19, 23], [20, 24], [21, 25], [22, 26], [23, 27], [0, 24], [1, 25], [2, 26], [3, 27], [16, 28], [17, 29], [18, 30], [19, 31], [12, 32], [13, 33], [14, 34], [15, 35], [28, 36], [29, 37], [30, 38], [31, 39], [32, 40], [33, 41], [34, 42], [35, 43], [36, 44], [37, 45], [38, 44], [39, 45], [40, 46], [41, 46], [42, 47], [43, 47]], "faces": [], "image": "Root 1.png"}, "Root 2": {"vertices": [[-0.757242, 0.757242, 4.89346e-08], [0.757242, 0.757242, 4.89346e-08], [-0.757242, -0.757242, -9.78691e-08], [0.757242, -0.757242, -9.78691e-08], [-0.727654, -0.727655, -9.78691e-08], [-0.727654, 0.727655, 4.89346e-08], [0.727655, 0.727655, 4.89346e-08], [0.727655, -0.727655, -9.78691e-08], [0.788908, 0.436372, 4.89346e-08], [0.788908, -0.436372, -4.89346e-08], [0.820986, -0.410797, -4.89346e-08], [0.820986, 0.410797, 4.89346e-08], [-0.436372, 0.788908, 4.89346e-08], [0.436372, 0.788908, 4.89346e-08], [0.410797, 0.820986, 9.78691e-08], [-0.410796, 0.820986, 9.78691e-08], [-0.788907, -0.436372, -4.89346e-08], [-0.788907, 0.436372, 4.89346e-08], [-0.820985, 0.410797, 4.89346e-08], [-0.820985, -0.410797, -4.89346e-08], [0.436372, -0.788908, -4.89346e-08], [-0.436372, -0.788908, -4.89346e-08], [-0.410796, -0.820986, -9.78691e-08], [0.410797, -0.820986, -9.78691e-08]], "edges": [[8, 11], [9, 10], [12, 15], [13, 14], [16, 19], [17, 18], [20, 23], [21, 22], [7, 9], [3, 10], [6, 8], [1, 11], [6, 13], [1, 14], [5, 12], [0, 15], [5, 17], [0, 18], [4, 16], [2, 19], [4, 21], [2, 22], [7, 20], [3, 23]], "faces": [[8, 11, 1, 14, 13, 6], [12, 15, 0, 18, 17, 5], [16, 19, 2, 22, 21, 4], [9, 7, 20, 23, 3, 10]], "image": "Root 2.png"}, "6 Axes": {"vertices": [[0.0, -0.9728478893745773, 0.0], [0.0, 0.9728478893745773, 0.0], [0.0, 0.0, -0.9728478893745773], [0.0, 0.0, 0.9728478893745773], [-0.9728478893745773, 0.0, 0.0], [0.9728478893745773, 0.0, 0.0], [-1.0017104148864746, -0.028862600145139083, -0.028862600145139083], [-1.0017104148864746, -0.028862600145139083, 0.028862600145139083], [-1.0017104148864746, 0.028862600145139083, -0.028862600145139083], [-1.0017104148864746, 0.028862600145139083, 0.028862600145139083], [-0.9439853041560866, -0.028862600145139083, -0.028862600145139083], [-0.9439853041560866, -0.028862600145139083, 0.028862600145139083], [-0.9439853041560866, 0.028862600145139083, -0.028862600145139083], [-0.9439853041560866, 0.028862600145139083, 0.028862600145139083], [0.9439853638626801, -0.028862600145139083, -0.028862600145139083], [0.9439853638626801, -0.028862600145139083, 0.028862600145139083], [0.9439853638626801, 0.028862600145139083, -0.028862600145139083], [0.9439853638626801, 0.028862600145139083, 0.028862600145139083], [1.0017104148864746, -0.028862600145139083, -0.028862600145139083], [1.0017104148864746, -0.028862600145139083, 0.028862600145139083], [1.0017104148864746, 0.028862600145139083, -0.028862600145139083], [1.0017104148864746, 0.028862600145139083, 0.028862600145139083], [-0.02886254230437668, 0.9439853041560866, -0.028862600145139083], [-0.02886254230437668, 0.9439853041560866, 0.028862600145139083], [-0.02886254230437668, 1.0017104148864746, -0.028862600145139083], [-0.02886254230437668, 1.0017104148864746, 0.028862600145139083], [0.02886254230437668, 0.9439853041560866, -0.028862600145139083], [0.02886254230437668, 0.9439853041560866, 0.028862600145139083], [0.02886254230437668, 1.0017104148864746, -0.028862600145139083], [0.02886254230437668, 1.0017104148864746, 0.028862600145139083], [-0.02886254230437668, -1.0017104148864746, -0.028862600145139083], [-0.02886254230437668, -1.0017104148864746, 0.028862600145139083], [-0.02886254230437668, -0.9439853638626801, -0.028862600145139083], [-0.02886254230437668, -0.9439853638626801, 0.028862600145139083], [0.02886254230437668, -1.0017104148864746, -0.028862600145139083], [0.02886254230437668, -1.0017104148864746, 0.028862600145139083], [0.02886254230437668, -0.9439853638626801, -0.028862600145139083], [0.02886254230437668, -0.9439853638626801, 0.028862600145139083], [-0.02886254230437668, -0.02886254230437668, -1.0017104148864746], [-0.02886254230437668, -0.02886254230437668, -0.9439853041560866], [-0.02886254230437668, 0.02886254230437668, -1.0017104148864746], [-0.02886254230437668, 0.02886254230437668, -0.9439853041560866], [0.02886254230437668, -0.02886254230437668, -1.0017104148864746], [0.02886254230437668, -0.02886254230437668, -0.9439853041560866], [0.02886254230437668, 0.02886254230437668, -1.0017104148864746], [0.02886254230437668, 0.02886254230437668, -0.9439853041560866], [-0.02886254230437668, -0.02886254230437668, 0.9439853041560866], [-0.02886254230437668, -0.02886254230437668, 1.0017104148864746], [-0.02886254230437668, 0.02886254230437668, 0.9439853041560866], [-0.02886254230437668, 0.02886254230437668, 1.0017104148864746], [0.02886254230437668, -0.02886254230437668, 0.9439853041560866], [0.02886254230437668, -0.02886254230437668, 1.0017104148864746], [0.02886254230437668, 0.02886254230437668, 0.9439853041560866], [0.02886254230437668, 0.02886254230437668, 1.0017104148864746]], "edges": [[2, 3], [0, 1], [4, 5], [6, 8], [6, 7], [7, 9], [8, 9], [8, 12], [9, 13], [12, 13], [10, 12], [11, 13], [10, 11], [6, 10], [7, 11], [14, 16], [14, 15], [15, 17], [16, 17], [16, 20], [17, 21], [20, 21], [18, 20], [19, 21], [18, 19], [14, 18], [15, 19], [22, 24], [22, 23], [23, 25], [24, 25], [24, 28], [25, 29], [28, 29], [26, 28], [27, 29], [26, 27], [22, 26], [23, 27], [30, 32], [30, 31], [31, 33], [32, 33], [32, 36], [33, 37], [36, 37], [34, 36], [35, 37], [34, 35], [30, 34], [31, 35], [38, 40], [38, 39], [39, 41], [40, 41], [40, 44], [41, 45], [44, 45], [42, 44], [43, 45], [42, 43], [38, 42], [39, 43], [46, 48], [46, 47], [47, 49], [48, 49], [48, 52], [49, 53], [52, 53], [50, 52], [51, 53], [50, 51], [46, 50], [47, 51]], "faces": [[53, 51, 50, 52], [47, 46, 50, 51], [48, 46, 47, 49], [49, 53, 52, 48], [49, 47, 51, 53], [48, 52, 50, 46], [16, 20, 18, 14], [16, 14, 15, 17], [15, 14, 18, 19], [19, 18, 20, 21], [21, 20, 16, 17], [21, 17, 15, 19], [40, 44, 42, 38], [40, 38, 39, 41], [39, 38, 42, 43], [43, 42, 44, 45], [45, 44, 40, 41], [45, 41, 39, 43], [24, 28, 26, 22], [24, 22, 23, 25], [23, 22, 26, 27], [27, 26, 28, 29], [29, 28, 24, 25], [29, 25, 23, 27], [32, 36, 34, 30], [32, 30, 31, 33], [31, 30, 34, 35], [35, 34, 36, 37], [37, 36, 32, 33], [37, 33, 31, 35], [8, 12, 10, 6], [8, 6, 7, 9], [7, 6, 10, 11], [11, 10, 12, 13], [13, 12, 8, 9], [13, 9, 7, 11]], "image": "6 Axes.png"}, "FK Limb 1": {"vertices": [[-7.116662395662021e-07, 4.721167059881619e-06, 0.8841475347867913], [-0.17248937629443617, 4.721167059881619e-06, 0.8671589064735485], [-0.33834924788993703, 4.721167059881619e-06, 0.8168456437491045], [-0.49120658007126394, 4.721167059881619e-06, 0.7351418184012459], [-0.6251875156591495, 4.721167059881619e-06, 0.6251864866923142], [-0.7351423328846636, 4.721167059881619e-06, 0.4912060334326327], [-0.8168466727159398, 4.748549724614953e-06, 0.33834847616481056], [-0.867159999750811, 4.748549724614953e-06, 0.1724885884917029], [-1.0789505713879635, 4.71641511829617e-06, -3.2268878720861276e-07], [-0.867159999750811, 4.762240811656809e-06, -0.1724887171125573], [-0.8168466727159398, 4.775932389348286e-06, -0.3383487334065194], [-0.7351423328846636, 4.775932389348286e-06, -0.4912060334326327], [-0.6251875156591495, 4.775932389348286e-06, -0.6251870011757319], [-0.49120658007126394, 4.775932389348286e-06, -0.7351423328846636], [-0.33834924788993703, 4.775932389348286e-06, -0.8168461582325222], [-0.17248911905272735, 4.775932389348286e-06, -0.8671589064735485], [-4.235743531369018e-07, 4.775932389348286e-06, -0.8841475347867913], [0.17248833124999408, 4.775932389348286e-06, -0.8671589064735485], [0.33834821892310174, 4.775932389348286e-06, -0.8168456437491045], [0.49120551894921505, 4.775932389348286e-06, -0.7351418184012459], [0.6251864866923142, 4.775932389348286e-06, -0.6251864866923142], [0.7351412396074011, 4.775932389348286e-06, -0.49120551894921505], [0.8168456437491045, 4.775932389348286e-06, -0.33834821892310174], [0.8671589064735485, 4.762240811656809e-06, -0.17248807400828525], [1.0789492851794193, 4.71641511829617e-06, 6.376853536429789e-07], [0.8671578775067132, 4.748549724614953e-06, 0.17248937629443617], [0.8168446147822692, 4.748549724614953e-06, 0.33834950513164586], [0.7351402106405658, 4.721167059881619e-06, 0.4912070945546816], [0.625185457725479, 4.721167059881619e-06, 0.6251875156591495], [0.49120448998237976, 4.721167059881619e-06, 0.7351423328846636], [0.3383466433176352, 4.721167059881619e-06, 0.8168461582325222], [0.17248664310127992, 4.721167059881619e-06, 0.8671589064735485]], "edges": [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [23, 24], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [0, 31]], "faces": [], "image": "FK Limb 1.png"}, "3 Axes": {"vertices": [[1.5894570992713852e-07, -1.4626983155704965e-16, 0.9728479385375977], [-0.05772492289543152, -0.05772508308291435, 0.9151227474212646], [-0.05772492289543152, -0.05772508308291435, 1.0305730104446411], [-0.05772492289543152, 0.05772508308291435, 0.9151227474212646], [-0.05772492289543152, 0.05772508308291435, 1.0305730104446411], [0.057725243270397186, -0.05772508308291435, 0.9151227474212646], [0.057725243270397186, -0.05772508308291435, 1.0305730104446411], [0.057725243270397186, 0.05772508308291435, 0.9151227474212646], [0.057725243270397186, 0.05772508308291435, 1.0305730104446411], [1.589456957162838e-07, 0.9728479385375977, -5.960464477539063e-08], [-0.05772491917014122, 0.9151227474212646, 0.05772507190704346], [-0.05772491917014122, 1.0305730104446411, 0.05772501230239868], [-0.05772491917014122, 0.9151227474212646, -0.05772513151168823], [-0.05772491917014122, 1.0305730104446411, -0.05772507190704346], [0.05772523954510689, 0.9151227474212646, 0.05772507190704346], [0.05772523954510689, 1.0305730104446411, 0.05772501230239868], [0.05772523954510689, 0.9151227474212646, -0.05772513151168823], [0.05772523954510689, 1.0305730104446411, -0.05772507190704346], [0.0, 0.0, 0.0], [0.9728479385375977, -1.7881393432617188e-07, -5.9604641222676946e-08], [0.9151227474212646, 0.05772489309310913, 0.05772506818175316], [1.0305730104446411, 0.05772489309310913, 0.05772500857710838], [0.9151227474212646, 0.05772489309310913, -0.057725127786397934], [1.0305730104446411, 0.05772489309310913, -0.05772506818175316], [0.9151227474212646, -0.05772531032562256, 0.05772506818175316], [1.0305730104446411, -0.05772531032562256, 0.05772500857710838], [0.9151227474212646, -0.05772531032562256, -0.057725127786397934], [1.0305730104446411, -0.05772531032562256, -0.05772506818175316]], "edges": [[2, 6], [1, 2], [1, 3], [2, 4], [1, 5], [5, 6], [3, 7], [4, 8], [5, 7], [6, 8], [7, 8], [3, 4], [11, 15], [10, 11], [10, 12], [11, 13], [10, 14], [14, 15], [12, 16], [13, 17], [14, 16], [15, 17], [16, 17], [9, 18], [12, 13], [21, 25], [20, 21], [20, 22], [21, 23], [20, 24], [24, 25], [22, 26], [23, 27], [24, 26], [25, 27], [26, 27], [22, 23], [0, 18], [18, 19]], "faces": [[8, 7, 3, 4], [7, 8, 6, 5], [2, 4, 3, 1], [6, 2, 1, 5], [3, 7, 5, 1], [6, 8, 4, 2], [21, 23, 22, 20], [25, 21, 20, 24], [25, 27, 23, 21], [22, 26, 24, 20], [26, 22, 23, 27], [25, 24, 26, 27], [15, 17, 13, 11], [16, 12, 13, 17], [15, 11, 10, 14], [15, 14, 16, 17], [11, 13, 12, 10], [12, 16, 14, 10]], "image": "3 Axes.png"}, "FK Limb 2": {"vertices": [[0.25, 0.5, 0.0], [0.24519631266593933, 0.5, 0.04877258092164993], [0.2309698760509491, 0.5, 0.09567085653543472], [0.20786739885807037, 0.5, 0.13889256119728088], [0.1767766922712326, 0.5, 0.1767766922712326], [0.13889256119728088, 0.5, 0.20786739885807037], [0.09567085653543472, 0.5, 0.2309698760509491], [0.04877258092164993, 0.5, 0.24519631266593933], [1.5308085657314598e-17, 0.5, 0.25], [-0.04877258092164993, 0.5, 0.24519631266593933], [-0.09567085653543472, 0.5, 0.2309698760509491], [-0.13889256119728088, 0.5, 0.20786739885807037], [-0.1767766922712326, 0.5, 0.1767766922712326], [-0.20786739885807037, 0.5, 0.13889256119728088], [-0.2309698760509491, 0.5, 0.09567085653543472], [-0.24519631266593933, 0.5, 0.04877258092164993], [-0.25, 0.5, 3.0616171314629196e-17], [-0.24519631266593933, 0.5, -0.04877258092164993], [-0.2309698760509491, 0.5, -0.09567085653543472], [-0.20786739885807037, 0.5, -0.13889256119728088], [-0.1767766922712326, 0.5, -0.1767766922712326], [-0.13889256119728088, 0.5, -0.20786739885807037], [-0.09567085653543472, 0.5, -0.2309698760509491], [-0.04877258092164993, 0.5, -0.24519631266593933], [-4.5924253663221344e-17, 0.5, -0.25], [0.04877258092164993, 0.5, -0.24519631266593933], [0.09567085653543472, 0.5, -0.2309698760509491], [0.13889256119728088, 0.5, -0.20786739885807037], [0.1767766922712326, 0.5, -0.1767766922712326], [0.20786739885807037, 0.5, -0.13889256119728088], [0.2309698760509491, 0.5, -0.09567085653543472], [0.24519631266593933, 0.5, -0.04877258092164993], [0.0, 0.0, 0.0], [0.0, 1.0, 0.0]], "edges": [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [23, 24], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [32, 33], [0, 31]], "faces": [], "image": "FK Limb 2.png"}, "Paddle (rounded)": {"vertices": [[0.0, 0.0, 0.0], [0.0, 0.8644214272499084, 0.0], [0.0, 1.0, -4.0748236784793335e-08], [-0.01754508540034294, 0.9976901412010193, -4.0748236784793335e-08], [-0.03389450162649155, 0.990917980670929, -4.0748236784793335e-08], [-0.04793406277894974, 0.9801450371742249, -4.0748236784793335e-08], [-0.05870700255036354, 0.9661054611206055, -4.0748236784793335e-08], [-0.06547914445400238, 0.9497560858726501, -4.0748236784793335e-08], [-0.0677890032529831, 0.9322109818458557, -4.0748236784793335e-08], [-0.06547914445400238, 0.9146658778190613, -4.0748236784793335e-08], [-0.05870699882507324, 0.898316502571106, -4.0748236784793335e-08], [-0.04793406277894974, 0.8842769265174866, -4.0748236784793335e-08], [-0.033894505351781845, 0.8735039830207825, -4.0748236784793335e-08], [-0.01754509098827839, 0.8667318224906921, -4.0748236784793335e-08], [5.926303003889188e-09, 0.8644219636917114, -4.0748236784793335e-08], [0.01754508726298809, 0.8667318224906921, -4.0748236784793335e-08], [0.03389449790120125, 0.8735039830207825, -4.0748236784793335e-08], [0.04793405905365944, 0.8842769265174866, -4.0748236784793335e-08], [0.05870700255036354, 0.898316502571106, -4.0748236784793335e-08], [0.06547915190458298, 0.9146658778190613, -4.0748236784793335e-08], [0.0677890032529831, 0.9322109818458557, -4.0748236784793335e-08], [0.06547914445400238, 0.9497560858726501, -4.0748236784793335e-08], [0.05870700255036354, 0.9661054611206055, -4.0748236784793335e-08], [0.047934070229530334, 0.9801450371742249, -4.0748236784793335e-08], [0.03389451280236244, 0.990917980670929, -4.0748236784793335e-08], [0.017545070499181747, 0.9976901412010193, -4.0748236784793335e-08]], "edges": [[0, 1], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [23, 24], [24, 25], [2, 25]], "faces": [[3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 2]], "image": "Paddle (rounded).png"}, "Chest": {"vertices": [[-3.970466940254533e-23, -5.960464477539063e-08, 0.7071089744567871], [-0.13795004785060883, 0.014480829238891602, 0.6935220956802368], [-0.270598828792572, 0.09145551919937134, 0.653283417224884], [-0.3928486406803131, 0.22849810123443604, 0.5879395008087158], [-0.5000014901161194, 0.41000932455062866, 0.5000013709068298], [-0.5879395008087158, 0.6116490364074707, 0.3928484618663788], [-0.6532832384109497, 0.8018511533737183, 0.27059900760650635], [-0.6935217976570129, 0.9441285133361816, 0.13795047998428345], [-0.707108736038208, 1.0, 6.556510925292969e-07], [-0.693522036075592, 0.9441285729408264, -0.1379491686820984], [-0.6532837748527527, 0.8018513321876526, -0.27059775590896606], [-0.5879399180412292, 0.6116480827331543, -0.3928478956222534], [-0.5000017285346985, 0.41000786423683167, -0.5000011920928955], [-0.3928486704826355, 0.22849667072296143, -0.5879395008087158], [-0.27059853076934814, 0.09145444631576538, -0.6532835960388184], [-0.1379494071006775, 0.01448047161102295, -0.6935222148895264], [1.0733444923971547e-06, 5.960464477539063e-08, -0.7071089744567871], [0.13795149326324463, 0.014480113983154297, -0.6935217380523682], [0.2706005275249481, 0.0914536714553833, -0.653282880783081], [0.39285042881965637, 0.22849559783935547, -0.5879383087158203], [0.5000032186508179, 0.410006582736969, -0.49999967217445374], [0.58794105052948, 0.6116464734077454, -0.3928462862968445], [0.6532845497131348, 0.8018496632575989, -0.27059584856033325], [0.693522572517395, 0.9441278576850891, -0.13794654607772827], [0.707108736038208, 0.9999999403953552, 4.0531158447265625e-06], [0.6935209631919861, 0.9441277384757996, 0.1379544734954834], [0.6532815098762512, 0.8018497228622437, 0.2706032991409302], [0.5879364609718323, 0.6116463541984558, 0.3928530514240265], [0.49999740719795227, 0.41000688076019287, 0.5000054836273193], [0.3928435742855072, 0.2284950613975525, 0.5879429578781128], [0.2705928683280945, 0.0914536714553833, 0.6532859802246094], [0.13794340193271637, 0.014479637145996094, 0.6935233473777771]], "edges": [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [23, 24], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [0, 31]], "faces": [], "image": "Chest.png"}, "Eye Target 2": {"vertices": [[0.5485777258872986, -1.7078733094422205e-07, 0.4162258505821228], [0.4013177752494812, -1.6314186268573394e-07, 0.3790184259414673], [0.3042590022087097, -1.6393391888414044e-07, 0.31877756118774414], [0.3042590320110321, -1.6393391888414044e-07, -0.31877756118774414], [0.4013177752494812, -1.6314186268573394e-07, -0.3790183961391449], [0.5485777258872986, -1.7078733094422205e-07, -0.4162258505821228], [0.7116383910179138, -1.799209456976314e-07, -0.3971414268016815], [0.8589767813682556, -1.9001852535893704e-07, -0.3129371106624603], [0.9625697731971741, -2.0058695326952147e-07, -0.1728435456752777], [1.0, -2.071663942615487e-07, 5.4389275305766205e-09], [0.9625697731971741, -2.0058693905866676e-07, 0.1728435456752777], [0.8589768409729004, -1.9001853956979176e-07, 0.3129371106624603], [0.7116383910179138, -1.799209456976314e-07, 0.39714139699935913], [0.17897531390190125, -1.9509718640620122e-07, 0.25447016954421997], [0.17897529900074005, -1.812128544997904e-07, -0.2544703483581543], [0.08211088925600052, -1.8045287220047612e-07, -0.25472691655158997], [0.08211088180541992, -1.8739341101081664e-07, 0.2547267973423004], [0.24065589904785156, -1.8340789154080994e-07, 0.26431962847709656], [0.24065589904785156, -1.7993681922234828e-07, -0.26431968808174133], [-0.5485777258872986, -1.7078733094422205e-07, 0.4162258505821228], [-0.4013177752494812, -1.6314186268573394e-07, 0.3790184259414673], [-0.3042590022087097, -1.6393391888414044e-07, 0.31877756118774414], [-1.8129758805329743e-09, -1.804543501293665e-07, -0.25469112396240234], [0.0, -1.9433217346431775e-07, 0.25469091534614563], [-0.3042590320110321, -1.6393391888414044e-07, -0.31877756118774414], [-0.4013178050518036, -1.6314186268573394e-07, -0.3790184259414673], [-0.5485777258872986, -1.7078733094422205e-07, -0.4162258505821228], [-0.7116383910179138, -1.799209456976314e-07, -0.3971414268016815], [-0.8589767813682556, -1.9001852535893704e-07, -0.3129371106624603], [-0.9625697731971741, -2.0058695326952147e-07, -0.1728435456752777], [-1.0, -2.0716640847240342e-07, 0.0], [-0.9625697731971741, -2.0058693905866676e-07, 0.1728435456752777], [-0.8589768409729004, -1.9001853956979176e-07, 0.3129371106624603], [-0.7116383910179138, -1.799209456976314e-07, 0.39714139699935913], [-0.17897531390190125, -1.9509718640620122e-07, 0.25447016954421997], [-0.17897529900074005, -1.812128544997904e-07, -0.2544703483581543], [-0.08211088925600052, -1.8045287220047612e-07, -0.25472691655158997], [-0.08211088180541992, -1.8739341101081664e-07, 0.2547267973423004], [-0.24065589904785156, -1.8340789154080994e-07, 0.26431962847709656], [-0.24065589904785156, -1.7993681922234828e-07, -0.26431968808174133], [0.4701964855194092, -1.6659802781759936e-07, 0.4026806056499481], [0.34679850935935974, -1.613910285414022e-07, 0.350257009267807], [0.03865299001336098, -1.8045393801457976e-07, -0.25470155477523804], [0.1322178989648819, -1.909599376404003e-07, 0.2547185719013214], [0.34679853916168213, -1.613910285414022e-07, -0.3502570390701294], [0.4701964855194092, -1.6659802781759936e-07, -0.4026806354522705], [0.6303523182868958, -1.7524519080325263e-07, -0.4148377776145935], [0.7890523672103882, -1.848525812420121e-07, -0.36289361119270325], [0.9178506731987, -1.9534232365003845e-07, -0.2486971616744995], [0.9904462099075317, -2.0515484777661186e-07, -0.088579922914505], [0.9904462099075317, -2.0515486198746657e-07, 0.0885799303650856], [0.9178507328033447, -1.9534233786089317e-07, 0.24869713187217712], [0.7890523076057434, -1.848525812420121e-07, 0.362893670797348], [0.6303523182868958, -1.752451765923979e-07, 0.4148377776145935], [0.26979708671569824, -1.7245521632958116e-07, 0.28752294182777405], [0.1322178989648819, -1.8054690542612661e-07, -0.25471875071525574], [0.03865299001336098, -1.9086249380961817e-07, 0.2547014057636261], [0.21318024396896362, -1.821963593329201e-07, -0.2552419602870941], [0.21318025887012482, -1.9217571889385e-07, 0.2552418112754822], [0.26979705691337585, -1.7202133051341661e-07, -0.28752294182777405], [-0.4701964855194092, -1.6659802781759936e-07, 0.4026806056499481], [-0.34679850935935974, -1.613910285414022e-07, 0.350257009267807], [-0.03865299001336098, -1.8045393801457976e-07, -0.25470155477523804], [-0.1322178989648819, -1.909599376404003e-07, 0.2547185719013214], [-0.34679853916168213, -1.613910285414022e-07, -0.3502570390701294], [-0.4701964855194092, -1.6659802781759936e-07, -0.4026806354522705], [-0.6303523182868958, -1.7524519080325263e-07, -0.4148377776145935], [-0.7890523672103882, -1.848525812420121e-07, -0.36289361119270325], [-0.9178506731987, -1.9534232365003845e-07, -0.2486971616744995], [-0.9904462099075317, -2.0515484777661186e-07, -0.088579922914505], [-0.9904462099075317, -2.0515486198746657e-07, 0.0885799303650856], [-0.9178507328033447, -1.9534233786089317e-07, 0.24869713187217712], [-0.7890523076057434, -1.848525812420121e-07, 0.362893670797348], [-0.6303523182868958, -1.752451765923979e-07, 0.4148377776145935], [-0.26979708671569824, -1.7245521632958116e-07, 0.28752294182777405], [-0.1322178989648819, -1.8054690542612661e-07, -0.25471875071525574], [-0.03865299001336098, -1.9086249380961817e-07, 0.2547014057636261], [-0.21318024396896362, -1.821963593329201e-07, -0.2552419602870941], [-0.21318025887012482, -1.9217571889385e-07, 0.2552418112754822], [-0.26979705691337585, -1.7202133051341661e-07, -0.28752294182777405]], "edges": [[1, 40], [0, 40], [2, 41], [1, 41], [15, 42], [22, 42], [16, 43], [13, 43], [4, 44], [3, 44], [5, 45], [4, 45], [6, 46], [5, 46], [7, 47], [6, 47], [8, 48], [7, 48], [9, 49], [8, 49], [10, 50], [9, 50], [11, 51], [10, 51], [12, 52], [11, 52], [0, 53], [12, 53], [17, 54], [2, 54], [14, 55], [15, 55], [23, 56], [16, 56], [18, 57], [14, 57], [13, 58], [17, 58], [3, 59], [18, 59], [20, 60], [19, 60], [21, 61], [20, 61], [36, 62], [22, 62], [37, 63], [34, 63], [25, 64], [24, 64], [26, 65], [25, 65], [27, 66], [26, 66], [28, 67], [27, 67], [29, 68], [28, 68], [30, 69], [29, 69], [31, 70], [30, 70], [32, 71], [31, 71], [33, 72], [32, 72], [19, 73], [33, 73], [38, 74], [21, 74], [35, 75], [36, 75], [23, 76], [37, 76], [39, 77], [35, 77], [34, 78], [38, 78], [24, 79], [39, 79]], "faces": [], "image": "Eye Target 2.png"}, "Eye Target 1": {"vertices": [[-0.3667808473110199, -2.1684853379611013e-07, 0.3707340657711029], [-0.508610725402832, -1.8587016370474885e-07, 0.3424372673034668], [-0.6288585662841797, -1.5489180782424228e-07, 0.26209011673927307], [-0.7092055082321167, -1.486961593855085e-07, 0.14184215664863586], [-0.737419605255127, -1.486961593855085e-07, -1.6263639324165524e-08], [-0.7092055082321167, -1.3630477724291268e-07, -0.14184223115444183], [-0.6288583278656006, -8.673939788650387e-08, -0.2620902955532074], [-0.5086106061935425, -8.054373523691538e-08, -0.3424375057220459], [-0.3667804002761841, -1.0532642846783347e-07, -0.37073418498039246], [-0.22486768662929535, -1.1152209111742195e-07, -0.34505659341812134], [-0.1017032191157341, -1.1355906792687165e-07, -0.2871972322463989], [1.103603679553089e-07, -1.1812110045639201e-07, -0.2547122836112976], [-5.111427370252386e-08, -1.786964531902413e-07, 0.25471237301826477], [-0.10170362889766693, -2.073105491717797e-07, 0.2871973514556885], [-0.22486811876296997, -2.214953127577246e-07, 0.34505659341812134], [0.3667806386947632, -2.1375068115503382e-07, 0.37073397636413574], [0.2248680144548416, -2.060061206066166e-07, 0.34505635499954224], [0.10170351713895798, -1.9182131438810757e-07, 0.28719714283943176], [0.1017034575343132, -1.0426558105791628e-07, -0.2871973514556885], [0.22486796975135803, -9.758185370856154e-08, -0.34505659341812134], [0.36678072810173035, -1.0222860424846658e-07, -0.37073418498039246], [0.5086108446121216, -8.054373523691538e-08, -0.34243738651275635], [0.6288585662841797, -8.67394263082133e-08, -0.26209011673927307], [0.7092057466506958, -1.3630477724291268e-07, -0.1418420523405075], [0.7374197840690613, -1.6108747047383076e-07, 1.6495978627517616e-07], [0.7092055082321167, -1.9826153163648996e-07, 0.14184238016605377], [0.6288583278656006, -1.6728313312341925e-07, 0.2620903551578522], [0.5086103677749634, -1.8587016370474885e-07, 0.34243738651275635], [-0.43907633423805237, -2.0368271691495465e-07, 0.3635164797306061], [-0.5726780295372009, -1.6805762470539776e-07, 0.308165580034256], [-0.6749338507652283, -1.494706367566323e-07, 0.2059095948934555], [-0.7302742004394531, -1.486961593855085e-07, 0.07230585068464279], [-0.7302742004394531, -1.4714723306497035e-07, -0.07230589538812637], [-0.674933671951294, -1.1152209111742195e-07, -0.20590977370738983], [-0.5726778507232666, -7.667144785727942e-08, -0.30816569924354553], [-0.43907612562179565, -9.293508185237442e-08, -0.36351659893989563], [-0.2944827377796173, -1.107476563788623e-07, -0.3640296161174774], [-0.1602705717086792, -1.117767283176363e-07, -0.31696751713752747], [-0.04917387291789055, -1.1718483250433565e-07, -0.26401078701019287], [-0.04917418584227562, -1.905884374764355e-07, 0.2640109062194824], [-0.1602710634469986, -2.1739883493410161e-07, 0.316967636346817], [0.2944830656051636, -2.1278262352097954e-07, 0.3640294075012207], [0.16027089953422546, -1.9958631014560524e-07, 0.31696730852127075], [0.04917408525943756, -1.1253806064814853e-07, -0.2640109062194824], [0.1602708399295807, -9.841729564641355e-08, -0.316967636346817], [0.2944830060005188, -1.0164776398369213e-07, -0.36402973532676697], [0.43907633423805237, -9.254787158852196e-08, -0.36351659893989563], [0.5726780295372009, -7.667144785727942e-08, -0.308165580034256], [0.6749340891838074, -1.1152209111742195e-07, -0.2059095948934555], [0.7302744388580322, -1.486961593855085e-07, -0.07230572402477264], [0.7302744388580322, -1.843212515950654e-07, 0.07230604439973831], [0.674933671951294, -1.8509574317704391e-07, 0.2059098780155182], [0.5726778507232666, -1.696065368150812e-07, 0.30816569924354553], [-0.2944831848144531, -2.2207615302249906e-07, 0.3640296161174774], [0.04917406290769577, -1.8168216797675996e-07, 0.26401078701019287], [0.43907612562179565, -2.0329552796738426e-07, 0.3635164797306061]], "edges": [[9, 37], [20, 46], [0, 28], [10, 38], [19, 45], [21, 47], [17, 54], [1, 28], [1, 29], [2, 30], [3, 31], [4, 32], [5, 33], [2, 29], [7, 35], [8, 36], [10, 37], [11, 38], [12, 39], [13, 40], [15, 41], [16, 42], [11, 43], [18, 44], [20, 45], [21, 46], [22, 47], [22, 48], [23, 49], [24, 50], [26, 51], [26, 52], [0, 53], [12, 54], [24, 49], [14, 40], [4, 31], [25, 50], [15, 55], [25, 51], [5, 32], [6, 34], [16, 41], [6, 33], [23, 48], [17, 42], [27, 52], [7, 34], [13, 39], [18, 43], [3, 30], [27, 55], [8, 35], [19, 44], [14, 53], [9, 36]], "faces": [], "image": "Eye Target 1.png"}, "Clavicle": {"vertices": [[-0.45752134919166565, 0.15000003576278687, 0.6852744817733765], [-0.3703995943069458, 0.15000003576278687, 0.7989577651023865], [-0.25513574481010437, 0.15000005066394806, 0.9051336050033569], [-0.1300671398639679, 0.15000005066394806, 0.9705164432525635], [-1.210719347000122e-07, 0.15000005066394806, 0.99259352684021], [0.13006682693958282, 0.15000005066394806, 0.9705164432525635], [0.2551354467868805, 0.15000005066394806, 0.9051336646080017], [0.3703993260860443, 0.15000003576278687, 0.7989577054977417], [0.45752134919166565, 0.15000003576278687, 0.6852744817733765], [0.45752134919166565, -0.1499999761581421, 0.6852744817733765], [0.3703995943069458, -0.1499999761581421, 0.7989578247070312], [0.2551354467868805, -0.1499999761581421, 0.9051336646080017], [0.13006682693958282, -0.1499999761581421, 0.9705164432525635], [-1.2479722499847412e-07, -0.1499999761581421, 0.9925935864448547], [-0.1300671398639679, -0.1499999761581421, 0.9705164432525635], [-0.25513577461242676, -0.1499999761581421, 0.9051337242126465], [-0.3703995943069458, -0.1499999761581421, 0.7989578247070312], [-0.45752134919166565, -0.1499999761581421, 0.6852744817733765], [-0.421210914850235, 0.15000003576278687, 0.7354373931884766], [-0.31427982449531555, 0.15000003576278687, 0.8569210767745972], [-0.19353261590003967, 0.15000005066394806, 0.9431151151657104], [-0.06534803658723831, 0.15000005066394806, 0.9870564937591553], [0.06534776091575623, 0.15000005066394806, 0.9870564341545105], [0.1935322880744934, 0.15000005066394806, 0.9431151151657104], [0.3142794966697693, 0.15000003576278687, 0.8569210171699524], [0.421210914850235, 0.15000003576278687, 0.7354373931884766], [0.421210914850235, -0.1499999761581421, 0.7354373931884766], [0.3142794966697693, -0.1499999612569809, 0.8569210171699524], [0.1935322880744934, -0.1499999612569809, 0.9431151151657104], [0.06534776091575623, -0.1499999612569809, 0.9870564341545105], [-0.06534803658723831, -0.1499999612569809, 0.9870564937591553], [-0.19353261590003967, -0.1499999612569809, 0.9431151151657104], [-0.31427982449531555, -0.1499999612569809, 0.8569210767745972], [-0.421210914850235, -0.1499999761581421, 0.7354373931884766]], "edges": [[8, 9], [0, 17], [1, 18], [0, 18], [2, 19], [1, 19], [3, 20], [2, 20], [4, 21], [3, 21], [5, 22], [4, 22], [6, 23], [5, 23], [7, 24], [6, 24], [8, 25], [7, 25], [9, 26], [10, 26], [10, 27], [11, 27], [11, 28], [12, 28], [12, 29], [13, 29], [13, 30], [14, 30], [14, 31], [15, 31], [15, 32], [16, 32], [16, 33], [17, 33]], "faces": [], "image": "Clavicle.png"}, "Gear Complex": {"vertices": [[0.24786119163036346, 0.0, 0.03263154625892639], [0.24148143827915192, 0.0, 0.0647047609090805], [0.2309698611497879, -7.450580596923828e-09, 0.09567085653543472], [0.396577924489975, -3.725290298461914e-09, 0.052210476249456406], [0.48296287655830383, 0.0, 0.129409521818161], [0.4957224130630493, 0.0, 0.06526309251785278], [0.2499999850988388, -5.551115123125783e-17, -5.5511147922535377e-17], [0.3999999761581421, -8.88178432935015e-17, -8.88178366760566e-17], [0.36955177783966064, 0.0, 0.15307337045669556], [0.4619397222995758, -1.4901161193847656e-08, 0.19134171307086945], [0.21650633215904236, -7.450580596923828e-09, 0.1249999925494194], [0.1983383148908615, 0.0, 0.15219035744667053], [0.1767766773700714, -1.4901161193847656e-08, 0.1767766922712326], [0.15219034254550934, -1.4901161193847656e-08, 0.1983383297920227], [0.3464101254940033, -1.4901161193847656e-08, 0.20000000298023224], [0.31734129786491394, -1.4901161193847656e-08, 0.2435045689344406], [0.24350455403327942, 0.0, 0.31734132766723633], [0.396676629781723, 0.0, 0.30438071489334106], [0.3535533547401428, -2.9802322387695312e-08, 0.3535533845424652], [0.3043806850910187, -2.9802322387695312e-08, 0.3966766595840454], [0.1249999925494194, -1.4901161193847656e-08, 0.21650634706020355], [0.09567084908485413, -1.4901161193847656e-08, 0.2309698760509491], [0.06470475345849991, -1.4901161193847656e-08, 0.2414814531803131], [0.03263154253363609, -1.4901161193847656e-08, 0.24786120653152466], [0.15307335555553436, -2.9802322387695312e-08, 0.36955180764198303], [0.05221047252416611, -2.9802322387695312e-08, 0.39657795429229736], [0.06526308506727219, -2.9802322387695312e-08, 0.4957224428653717], [0.19999998807907104, -2.9802322387695312e-08, 0.3464101552963257], [0.19134169816970825, -2.9802322387695312e-08, 0.4619397521018982], [0.12940950691699982, -2.9802322387695312e-08, 0.4829629063606262], [-0.06470475345849991, -1.4901161193847656e-08, 0.2414814531803131], [-0.09567084908485413, -1.4901161193847656e-08, 0.2309698760509491], [-0.06526308506727219, -2.9802322387695312e-08, 0.4957224428653717], [-0.12940950691699982, -2.9802322387695312e-08, 0.4829629063606262], [-0.19134169816970825, -2.9802322387695312e-08, 0.4619397521018982], [7.081923357984997e-17, 0.0, 0.25], [-0.03263154253363609, -1.4901161193847656e-08, 0.24786120653152466], [1.1331077372775996e-16, -2.9802322387695312e-08, 0.4000000059604645], [-0.05221047252416611, -2.9802322387695312e-08, 0.39657795429229736], [-0.15307335555553436, -2.9802322387695312e-08, 0.36955180764198303], [-0.1767766773700714, -1.4901161193847656e-08, 0.1767766922712326], [-0.24350455403327942, 0.0, 0.31734132766723633], [-0.31734129786491394, -1.4901161193847656e-08, 0.2435045689344406], [-0.396676629781723, 0.0, 0.30438071489334106], [-0.1249999850988388, -1.4901161193847656e-08, 0.21650634706020355], [-0.15219034254550934, -1.4901161193847656e-08, 0.1983383297920227], [-0.1983383148908615, 0.0, 0.15219035744667053], [-0.19999998807907104, -2.9802322387695312e-08, 0.3464101552963257], [-0.3535533547401428, -2.9802322387695312e-08, 0.3535533845424652], [-0.3043806850910187, -2.9802322387695312e-08, 0.3966766595840454], [-0.21650633215904236, 0.0, 0.125], [-0.2309698611497879, -7.450580596923828e-09, 0.09567085653543472], [-0.24786119163036346, 0.0, 0.03263154625892639], [-0.36955177783966064, 0.0, 0.15307337045669556], [-0.396577924489975, -3.725290298461914e-09, 0.052210476249456406], [-0.4619397222995758, -1.4901161193847656e-08, 0.19134171307086945], [-0.4957224130630493, 0.0, 0.06526309251785278], [-0.24148143827915192, 0.0, 0.0647047609090805], [-0.3464101254940033, -1.4901161193847656e-08, 0.20000000298023224], [-0.48296287655830383, 0.0, 0.129409521818161], [-0.2499999850988388, 5.551115123125783e-17, 8.612731592844212e-17], [-0.24148143827915192, 0.0, -0.0647047609090805], [-0.2309698611497879, 7.450580596923828e-09, -0.09567085653543472], [-0.3999999761581421, 8.88178432935015e-17, 1.3780371077946332e-16], [-0.396577924489975, 3.725290298461914e-09, -0.052210476249456406], [-0.4619397222995758, 1.4901161193847656e-08, -0.19134171307086945], [-0.4957224130630493, 0.0, -0.06526309251785278], [-0.48296287655830383, 0.0, -0.129409521818161], [-0.24786119163036346, 0.0, -0.03263154625892639], [-0.36955177783966064, 0.0, -0.15307337045669556], [-0.1767766773700714, 1.4901161193847656e-08, -0.1767766922712326], [-0.15219034254550934, 1.4901161193847656e-08, -0.1983383297920227], [-0.3464101254940033, 1.4901161193847656e-08, -0.20000000298023224], [-0.31734129786491394, 1.4901161193847656e-08, -0.2435045689344406], [-0.24350455403327942, 0.0, -0.31734132766723633], [-0.3535533547401428, 2.9802322387695312e-08, -0.3535533845424652], [-0.21650633215904236, 7.450580596923828e-09, -0.1249999925494194], [-0.1983383148908615, 0.0, -0.15219035744667053], [-0.3043806850910187, 2.9802322387695312e-08, -0.3966766595840454], [-0.396676629781723, 0.0, -0.30438071489334106], [-0.09567084908485413, 1.4901161193847656e-08, -0.2309698760509491], [-0.03263154253363609, 1.4901161193847656e-08, -0.24786120653152466], [-0.15307335555553436, 2.9802322387695312e-08, -0.36955180764198303], [-0.1249999925494194, 1.4901161193847656e-08, -0.21650634706020355], [-0.06470475345849991, 1.4901161193847656e-08, -0.2414814531803131], [-0.19999998807907104, 2.9802322387695312e-08, -0.3464101552963257], [-0.05221047252416611, 2.9802322387695312e-08, -0.39657795429229736], [-0.12940950691699982, 2.9802322387695312e-08, -0.4829629063606262], [-0.06526308506727219, 2.9802322387695312e-08, -0.4957224428653717], [-0.19134169816970825, 2.9802322387695312e-08, -0.4619397521018982], [-1.0143539827703427e-16, 0.0, -0.25], [0.03263154253363609, 1.4901161193847656e-08, -0.24786120653152466], [-1.6229663459627687e-16, 2.9802322387695312e-08, -0.4000000059604645], [0.05221047252416611, 2.9802322387695312e-08, -0.39657795429229736], [0.12940950691699982, 2.9802322387695312e-08, -0.4829629063606262], [0.06470475345849991, 1.4901161193847656e-08, -0.2414814531803131], [0.09567084908485413, 1.4901161193847656e-08, -0.2309698760509491], [0.15307335555553436, 2.9802322387695312e-08, -0.36955180764198303], [0.19134169816970825, 2.9802322387695312e-08, -0.4619397521018982], [0.06526308506727219, 2.9802322387695312e-08, -0.4957224428653717], [0.15219034254550934, 1.4901161193847656e-08, -0.1983383297920227], [0.1767766773700714, 1.4901161193847656e-08, -0.1767766922712326], [0.1983383148908615, 0.0, -0.15219035744667053], [0.19999998807907104, 2.9802322387695312e-08, -0.3464101552963257], [0.1249999850988388, 1.4901161193847656e-08, -0.21650634706020355], [0.24350455403327942, 0.0, -0.31734132766723633], [0.31734129786491394, 1.4901161193847656e-08, -0.2435045689344406], [0.3535533547401428, 2.9802322387695312e-08, -0.3535533845424652], [0.396676629781723, 0.0, -0.30438071489334106], [0.3043806850910187, 2.9802322387695312e-08, -0.3966766595840454], [0.2309698611497879, 7.450580596923828e-09, -0.09567085653543472], [0.24148143827915192, 0.0, -0.0647047609090805], [0.24786119163036346, 0.0, -0.03263154625892639], [0.3464101254940033, 1.4901161193847656e-08, -0.20000000298023224], [0.36955177783966064, 0.0, -0.15307337045669556], [0.4957224130630493, 0.0, -0.06526309251785278], [0.21650633215904236, 0.0, -0.125], [0.396577924489975, 3.725290298461914e-09, -0.052210476249456406], [0.4619397222995758, 1.4901161193847656e-08, -0.19134171307086945], [0.48296287655830383, 0.0, -0.129409521818161]], "edges": [[81, 84], [0, 1], [1, 2], [4, 5], [0, 6], [3, 7], [16, 27], [4, 9], [2, 10], [10, 11], [11, 12], [12, 13], [8, 14], [14, 15], [15, 17], [17, 18], [18, 19], [13, 20], [20, 21], [21, 22], [22, 23], [25, 26], [24, 27], [24, 28], [28, 29], [30, 31], [32, 33], [33, 34], [23, 35], [35, 36], [25, 37], [37, 38], [34, 39], [46, 50], [42, 43], [31, 44], [44, 45], [40, 46], [39, 47], [43, 48], [48, 49], [3, 5], [50, 51], [41, 47], [53, 55], [54, 56], [51, 57], [53, 58], [55, 59], [52, 60], [61, 62], [54, 63], [63, 64], [64, 66], [66, 67], [60, 68], [65, 69], [41, 49], [70, 71], [69, 72], [72, 73], [61, 68], [62, 76], [76, 77], [75, 78], [75, 79], [82, 89], [80, 83], [80, 84], [82, 85], [87, 88], [87, 89], [81, 90], [90, 91], [86, 92], [92, 93], [91, 95], [95, 96], [97, 98], [94, 99], [6, 112], [100, 101], [101, 102], [97, 103], [96, 104], [103, 105], [86, 88], [107, 108], [107, 109], [8, 9], [110, 111], [106, 108], [106, 113], [113, 114], [42, 58], [7, 117], [114, 118], [118, 119], [102, 116], [30, 36], [111, 112], [70, 77], [110, 116], [40, 45], [52, 57], [32, 38], [65, 67], [73, 79], [74, 78], [71, 83], [93, 99], [94, 98], [16, 19], [105, 109], [115, 117], [56, 59], [115, 119], [26, 29], [100, 104], [74, 85]], "faces": [], "image": "Gear Complex.png"}, "Arrow Single (straight)": {"vertices": [[0.144421, 0.351625, 7.45058e-08], [0.0728515, 0.351551, 6.70552e-08], [-0.14442, 0.351328, 2.98023e-08], [-0.0728513, 0.351401, 3.72529e-08], [0.0728514, 7.46599e-05, 2.23517e-08], [-0.0728514, -7.46152e-05, -1.49012e-08], [2.75786e-07, 0.499925, 8.43866e-08]], "edges": [[0, 1], [2, 3], [1, 4], [0, 6], [2, 6], [3, 5], [4, 5]], "faces": [[1, 0, 6, 2, 3, 5, 4]], "image": "Arrow Single (straight).png"}, "Saddle": {"vertices": [[-1.0, -0.8460370302200317, -0.37929821014404297], [-1.0, -0.8460370302200317, 0.37929821014404297], [-0.7972283363342285, 0.7493371367454529, -0.5], [-0.7972283363342285, 0.7493371367454529, 0.5], [1.0, -0.8460370302200317, -0.37929821014404297], [1.0, -0.8460370302200317, 0.37929821014404297], [0.7972283363342285, 0.7493371367454529, -0.5], [0.7972283363342285, 0.7493371367454529, 0.5], [1.0, -0.199102520942688, -0.5], [0.9713393449783325, 0.40446674823760986, -0.5], [0.9713393449783325, 0.40446674823760986, 0.5], [1.0, -0.199102520942688, 0.5], [-0.9713393449783325, 0.40446674823760986, -0.5], [-1.0, -0.199102520942688, -0.5], [-1.0, -0.199102520942688, 0.5], [-0.9713393449783325, 0.40446674823760986, 0.5], [0.495426744222641, 0.9552834630012512, -0.5], [0.0, 1.0127034187316895, -0.5], [-0.495426744222641, 0.9552834630012512, -0.5], [-0.495426744222641, 0.9552834630012512, 0.5], [0.0, 1.0127034187316895, 0.5], [0.495426744222641, 0.9552834630012512, 0.5], [1.0, -0.5877359509468079, 0.4820786416530609], [1.0, -0.5877359509468079, -0.4820786416530609], [-1.0, -0.5877359509468079, -0.4820786416530609], [-1.0, -0.5877359509468079, 0.4820786416530609], [-1.0, -0.9432592391967773, 0.24689027667045593], [-1.0, -0.9432592391967773, -0.24689027667045593], [-1.0, -1.0127036571502686, 0.0], [1.0, -0.9432592391967773, -0.24689027667045593], [1.0, -0.9432592391967773, 0.24689027667045593], [1.0, -1.0127036571502686, 0.0]], "edges": [[0, 24], [3, 15], [2, 18], [7, 21], [6, 9], [5, 22], [8, 23], [8, 9], [7, 10], [10, 11], [2, 12], [12, 13], [14, 25], [14, 15], [6, 16], [16, 17], [17, 18], [3, 19], [19, 20], [20, 21], [11, 22], [4, 23], [13, 24], [1, 25], [30, 31], [29, 31], [26, 28], [27, 28], [1, 26], [0, 27], [4, 29], [5, 30]], "faces": [], "image": "Saddle.png"}, "Arrow Double (curved)": {"vertices": [[0.0, 1.0, 0.0], [-0.0980171412229538, 0.9951847195625305, 0.0], [-0.19509030878543854, 0.9807853102684021, 0.0], [-0.290284663438797, 0.9569403529167175, 0.0], [-0.3826834559440613, 0.9238795042037964, 0.0], [-0.471396803855896, 0.8819212317466736, 0.0], [-0.5555703043937683, 0.8314695358276367, 0.0], [-0.6343933939933777, 0.7730103731155396, 0.0], [-0.7071069478988647, 0.7071066498756409, 0.0], [-0.7730106115341187, 0.6343930959701538, 0.0], [-0.8314697742462158, 0.5555700063705444, 0.0], [-0.8819212913513184, 0.47139665484428406, 0.0], [-0.9238795042037964, 0.38268354535102844, 0.0], [-0.956940233707428, 0.29028499126434326, 0.0], [-0.9807851910591125, 0.19509083032608032, 0.0], [-0.9951846599578857, 0.0980178490281105, 0.0], [-1.0, 9.099629210140847e-07, 0.0], [-1.100000023841858, 0.10000091046094894, 0.0], [-0.8999999761581421, 0.10000091046094894, 0.0], [1.100000023841858, 0.10000573843717575, 0.0], [0.8999999761581421, 0.10000573843717575, 0.0], [1.0, 5.733970738219796e-06, 0.0], [0.9951841235160828, 0.09802312403917313, 0.0], [0.9807840585708618, 0.19509649276733398, 0.0], [0.9569384455680847, 0.2902909517288208, 0.0], [0.923876941204071, 0.3826897442340851, 0.0], [0.8819178938865662, 0.471403032541275, 0.0], [0.831465482711792, 0.5555763840675354, 0.0], [0.7730056047439575, 0.6343992352485657, 0.0], [0.7071011662483215, 0.7071124315261841, 0.0], [0.6343868970870972, 0.7730156779289246, 0.0], [0.5555631518363953, 0.8314743638038635, 0.0], [0.47138896584510803, 0.8819254040718079, 0.0], [0.38267505168914795, 0.9238830208778381, 0.0], [0.2902757227420807, 0.9569430351257324, 0.0], [0.19508087635040283, 0.9807871580123901, 0.0], [0.09800727665424347, 0.9951856732368469, 0.0]], "edges": [[16, 17], [16, 18], [20, 21], [0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [19, 21], [21, 22], [22, 23], [23, 24], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [31, 32], [32, 33], [33, 34], [34, 35], [35, 36], [0, 36]], "faces": [], "image": "Arrow Double (curved).png"}, "Rhomboid": {"vertices": [[0.0, 0.0, 0.5], [0.0, 0.375, 0.0], [0.375, -1.6391769719348304e-08, 0.0], [-3.278353943869661e-08, -0.375, 0.0], [-0.375, 4.471830017394041e-09, 0.0], [0.0, 0.0, -0.5]], "edges": [[1, 2], [2, 3], [3, 4], [1, 4], [1, 5], [2, 5], [3, 5], [4, 5], [0, 1], [0, 4], [0, 2], [0, 3]], "faces": [[2, 5, 1], [1, 0, 2], [2, 0, 3], [3, 0, 4], [4, 0, 1], [4, 1, 5], [4, 5, 3], [3, 5, 2]], "image": "Rhomboid.png"}, "Pyramid": {"vertices": [[-0.5, 1.0, 0.5000002980232239], [-0.5, 1.0, -0.49999961256980896], [-6.280043862716411e-08, 4.460785514299841e-15, 5.1025438096985454e-08], [0.5, 1.0, 0.5000002980232239], [0.5, 1.0, -0.49999961256980896]], "edges": [[2, 3], [0, 1], [1, 2], [0, 3], [3, 4], [2, 4], [0, 2], [1, 4]], "faces": [[3, 2, 4], [2, 3, 0], [4, 2, 1], [1, 2, 0], [1, 0, 3, 4]], "image": "Pyramid.png"}, "Sphere (half)": {"vertices": [[-0.19509030878543854, -5.960464477539063e-08, -0.9807852506637573], [-0.3826834261417389, -5.960464477539063e-08, -0.9238795042037964], [-0.5555701851844788, -5.960464477539063e-08, -0.8314695954322815], [-0.7071067094802856, -5.960464477539063e-08, -0.7071067690849304], [-0.8314695358276367, 0.0, -0.5555702447891235], [-0.9238794445991516, -2.9802322387695312e-08, -0.3826834261417389], [-0.9807851910591125, -1.4901161193847656e-08, -0.19509035348892212], [-0.9807851910591125, 1.4901161193847656e-08, 0.19509032368659973], [-0.9238795042037964, 2.9802322387695312e-08, 0.3826833963394165], [-0.8314695954322815, 0.0, 0.5555701851844788], [-0.7071067094802856, 5.960464477539063e-08, 0.7071067690849304], [-0.555570125579834, 5.960464477539063e-08, 0.8314696550369263], [-0.3826834559440613, 5.960464477539063e-08, 0.9238795042037964], [-0.19509029388427734, 5.960464477539063e-08, 0.9807853102684021], [8.74227694680485e-08, 0.0, 1.0], [0.19509023427963257, 5.960464477539063e-08, 0.9807853102684021], [0.3826833963394165, 5.960464477539063e-08, 0.9238795042037964], [0.5555702447891235, 5.960464477539063e-08, 0.8314695358276367], [0.7071066498756409, 5.960464477539063e-08, 0.7071068286895752], [0.8314694166183472, 0.0, 0.5555704236030579], [0.9238794445991516, 2.9802322387695312e-08, 0.38268357515335083], [0.9807851910591125, 1.4901161193847656e-08, 0.1950903832912445], [0.9999999403953552, 0.0, -1.1924880638503055e-08], [0.9807851910591125, -1.4901161193847656e-08, -0.1950904130935669], [0.9238793849945068, -2.9802322387695312e-08, -0.3826836049556732], [0.8314696550369263, 0.0, -0.5555700659751892], [0.7071068286895752, -5.960464477539063e-08, -0.7071066498756409], [0.5555702447891235, -5.960464477539063e-08, -0.8314695954322815], [0.3826833963394165, -5.960464477539063e-08, -0.9238795638084412], [0.19509021937847137, -5.960464477539063e-08, -0.9807853102684021], [-1.3761845707449538e-07, 5.960464477539063e-08, -1.0], [-1.1920928244535389e-07, 0.1950904130935669, -0.9807851910591125], [-1.1920928244535389e-07, 0.38268351554870605, -0.9238793253898621], [-1.1920928244535389e-07, 0.5555703043937683, -0.8314695358276367], [-5.9604641222676946e-08, 0.7071068286895752, -0.7071066498756409], [-5.9604641222676946e-08, 0.8314696550369263, -0.555570125579834], [-1.2016971566238026e-16, 0.9238795638084412, -0.38268333673477173], [-1.7445935273946878e-16, 0.9807852506637573, -0.19509029388427734], [5.9604641222676946e-08, 0.9807852506637573, 0.1950904130935669], [5.9604641222676946e-08, 0.9238794445991516, 0.3826833963394165], [1.1920928244535389e-07, 0.8314696550369263, 0.5555701851844788], [1.1920928244535389e-07, 0.7071067094802856, 0.7071067690849304], [1.1920928244535389e-07, 0.555570125579834, 0.8314696550369263], [1.4901159772762185e-07, 0.3826833963394165, 0.9238795042037964], [1.341104365337742e-07, 0.1950901746749878, 0.9807852506637573], [-2.509784557958028e-08, 6.554960663152087e-08, 0.0], [0.980785071849823, 0.19509044289588928, -1.341104507446289e-07], [0.9238792657852173, 0.38268357515335083, -1.4901161193847656e-07], [0.8314693570137024, 0.5555703043937683, -1.1920928955078125e-07], [0.7071064710617065, 0.7071068286895752, -1.1920928955078125e-07], [0.5555699467658997, 0.8314695954322815, -1.1920928955078125e-07], [0.3826831877231598, 0.9238795042037964, -5.960464477539063e-08], [0.1950901448726654, 0.9807851314544678, -5.960464477539063e-08], [-2.2649898312465666e-07, 0.9999999403953552, -5.960464477539063e-08], [-0.19509047269821167, 0.9807851910591125, 0.0], [-0.38268348574638367, 0.9238794445991516, -5.960464477539063e-08], [-0.5555702447891235, 0.8314695358276367, 0.0], [-0.7071068286895752, 0.7071065902709961, 0.0], [-0.8314696550369263, 0.5555700063705444, 5.960464477539063e-08], [-0.9238795638084412, 0.38268333673477173, 2.9802322387695312e-08], [-0.9807852506637573, 0.1950901597738266, 4.470348358154297e-08], [-0.9999999403953552, -2.2504121943711652e-07, 5.960464477539063e-08]], "edges": [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [23, 24], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [30, 31], [31, 32], [32, 33], [33, 34], [34, 35], [35, 36], [36, 37], [38, 39], [39, 40], [40, 41], [41, 42], [42, 43], [43, 44], [14, 45], [30, 45], [46, 47], [47, 48], [48, 49], [49, 50], [50, 51], [51, 52], [52, 53], [53, 54], [54, 55], [55, 56], [56, 57], [57, 58], [58, 59], [59, 60], [60, 61], [0, 30], [6, 61], [7, 61], [29, 30], [37, 53], [38, 53], [14, 44], [22, 46], [45, 61], [22, 45]], "faces": [], "image": "Sphere (half).png"}, "Roll IK": {"vertices": [[-0.16729304194450378, 0.5015897750854492, 0.13901279866695404], [-0.16729304194450378, 0.4512457847595215, 0.13890735805034637], [-0.16729304194450378, 0.29841023683547974, 0.13859036564826965], [-0.16729304194450378, 0.348753958940506, 0.1386946141719818], [-0.09806016087532043, 0.3999992311000824, 0.22749941051006317], [-0.2112322598695755, 0.3487548232078552, 1.5928914853802212e-09], [-0.20785188674926758, 0.34875449538230896, 0.04616061970591545], [-0.19536663591861725, 0.34875428676605225, 0.09242761880159378], [-0.2112322598695755, 0.4512466788291931, 1.5928914853802212e-09], [-0.20785188674926758, 0.45124635100364685, 0.04637335613369942], [-0.19536663591861725, 0.45124611258506775, 0.09264034777879715], [-0.16729304194450378, 0.5015897750854492, -0.13901279866695404], [-0.16729304194450378, 0.4512457847595215, -0.13890735805034637], [-0.16729304194450378, 0.29841023683547974, -0.13859036564826965], [-0.16729304194450378, 0.348753958940506, -0.1386946141719818], [-0.09806016087532043, 0.3999992311000824, -0.22749941051006317], [-0.20785188674926758, 0.34875449538230896, -0.046160612255334854], [-0.19536663591861725, 0.34875428676605225, -0.09242759644985199], [-0.20785188674926758, 0.45124635100364685, -0.04637335240840912], [-0.19536663591861725, 0.45124611258506775, -0.09264034032821655], [-0.1442154198884964, 0.3322732448577881, 0.1682267189025879], [-0.12113779783248901, 0.36613622307777405, 0.19786307215690613], [-0.1442154198884964, 0.3322732448577881, -0.1682267189025879], [-0.12113779783248901, 0.36613622307777405, -0.19786307215690613], [-0.1442154198884964, 0.4677262306213379, 0.1685083508491516], [-0.12113779783248901, 0.43386274576187134, 0.198003888130188], [-0.1442154198884964, 0.4677262306213379, -0.1685083508491516], [-0.12113779783248901, 0.43386274576187134, -0.198003888130188]], "edges": [[0, 1], [2, 3], [4, 21], [5, 6], [3, 7], [8, 9], [1, 10], [11, 12], [13, 14], [15, 23], [5, 16], [14, 17], [8, 18], [12, 19], [6, 7], [4, 25], [16, 17], [15, 27], [18, 19], [9, 10], [2, 20], [20, 21], [13, 22], [22, 23], [0, 24], [24, 25], [11, 26], [26, 27]], "faces": [], "image": "Roll IK.png"} , "Roll 1": {"vertices": [[-0.8700127601623535, 1.210719347000122e-08, -0.15340647101402283], [-0.8832243084907532, 2.514570951461792e-08, 0.01927235722541809], [-0.8624935746192932, -2.1420419216156006e-08, 0.19121062755584717], [-0.8086172342300415, -6.51925802230835e-08, 0.35580042004585266], [-0.7236669659614563, -1.0617077350616455e-07, 0.5067171454429626], [-0.6109064221382141, -1.4156103134155273e-07, 0.6381615400314331], [-0.47466856241226196, -1.4062970876693726e-07, 0.7450814247131348], [-0.3201900124549866, -1.6111880540847778e-07, 0.8233681917190552], [-0.15340664982795715, -1.5925616025924683e-07, 0.8700141310691833], [0.019272329285740852, -1.555308699607849e-07, 0.8832245469093323], [0.19121040403842926, -1.424923539161682e-07, 0.8624938726425171], [0.35580092668533325, -1.2759119272232056e-07, 0.8086183667182922], [0.5067179799079895, -1.043081283569336e-07, 0.7236674427986145], [0.638161838054657, -7.450580596923828e-08, 0.610906720161438], [0.7450821399688721, -3.818422555923462e-08, 0.47466930747032166], [0.8233689665794373, 3.725290298461914e-09, 0.3201901912689209], [0.8700138330459595, 4.842877388000488e-08, 0.1534065306186676], [0.8832253813743591, 3.5390257835388184e-08, -0.019272297620773315], [0.8624948263168335, 8.102506399154663e-08, -0.19121044874191284], [0.8086185455322266, 1.257285475730896e-07, -0.3558007478713989], [0.723668098449707, 1.0710209608078003e-07, -0.5067169070243835], [0.6109070181846619, 1.4156103134155273e-07, -0.6381624937057495], [0.4746689200401306, 1.7043203115463257e-07, -0.745081901550293], [-0.5616664886474609, 1.2665987014770508e-07, -0.8021425008773804], [-0.5067181587219238, 1.3504177331924438e-07, -0.7236666679382324], [-0.6381618976593018, 1.3504177331924438e-07, -0.610905647277832], [-0.7450822591781616, 9.778887033462524e-08, -0.4746677875518799], [-0.8233681321144104, 5.681067705154419e-08, -0.320188969373703], [-0.6779415011405945, 2.7939677238464355e-09, -0.11953908205032349], [-0.6882361173629761, -3.3527612686157227e-08, 0.01501762866973877], [-0.6720820069313049, -1.0244548320770264e-08, 0.1489972621202469], [-0.6301007270812988, -4.470348358154297e-08, 0.27725091576576233], [-0.5639044046401978, -7.636845111846924e-08, 0.394850492477417], [-0.4760376214981079, -1.0337680578231812e-07, 0.4972760081291199], [-0.369876891374588, -9.592622518539429e-08, 0.580591082572937], [-0.2495022416114807, -9.778887033462524e-08, 0.6415944695472717], [-0.11953923851251602, -1.0710209608078003e-07, 0.6779422760009766], [0.015017656609416008, -1.043081283569336e-07, 0.6882364749908447], [0.14899727702140808, -9.12696123123169e-08, 0.6720827221870422], [0.2772514224052429, -1.0896474123001099e-07, 0.6301012635231018], [0.3948509097099304, -6.146728992462158e-08, 0.5639050006866455], [0.49727582931518555, -6.798654794692993e-08, 0.4760379493236542], [0.58059161901474, -9.313225746154785e-09, 0.3698770999908447], [0.6415952444076538, -3.725290298461914e-08, 0.24950248003005981], [0.6779426336288452, -1.862645149230957e-09, 0.11953918635845184], [0.6882372498512268, 3.4458935260772705e-08, -0.015017509460449219], [0.6720832586288452, 6.984919309616089e-08, -0.14899763464927673], [0.6301011443138123, 1.043081283569336e-07, -0.2772509753704071], [0.563904881477356, 1.3597309589385986e-07, -0.394850492477417], [0.47603803873062134, 1.043081283569336e-07, -0.49727582931518555], [0.3698769807815552, 1.2665987014770508e-07, -0.5805910229682922], [-0.33990147709846497, 1.0058283805847168e-07, -0.485429048538208], [-0.39485064148902893, 1.2200325727462769e-07, -0.5639039874076843], [-0.497275710105896, 9.872019290924072e-08, -0.47603678703308105], [-0.5805912017822266, 6.984919309616089e-08, -0.36987608671188354], [-0.6415942907333374, 3.725290298461914e-08, -0.2495013177394867], [0.42227309942245483, 1.4901161193847656e-07, -0.6628368496894836], [-0.31652650237083435, 1.341104507446289e-07, -0.719359278678894]], "edges": [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [23, 24], [24, 25], [25, 26], [26, 27], [28, 29], [29, 30], [30, 31], [31, 32], [32, 33], [33, 34], [34, 35], [35, 36], [36, 37], [37, 38], [38, 39], [39, 40], [0, 27], [41, 42], [42, 43], [43, 44], [44, 45], [45, 46], [46, 47], [47, 48], [48, 49], [49, 50], [51, 52], [52, 53], [53, 54], [54, 55], [22, 56], [23, 57], [51, 57], [40, 41], [50, 56], [28, 55]], "faces": [[1, 0, 27, 26, 25, 24, 23, 57, 51, 52, 53, 54, 55, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 56, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2]], "image": "Roll 1.png"}, "Triangle": {"vertices": [[0.9999998211860657, -3.906820438714931e-06, -1.9073486328125e-06], [-0.9999998211860657, -3.7319748571462696e-06, -1.9073486328125e-06], [-8.218210645188353e-16, -3.83349834010005e-06, 1.0]], "edges": [[0, 2], [0, 1], [1, 2]], "faces": [[2, 1, 0]], "image": "Triangle.png"}, "Plane": {"vertices": [[0.9999999403953552, -8.74227694680485e-08, 1.0], [-0.9999999403953552, 8.74227694680485e-08, 1.0], [0.9999999403953552, -8.74227694680485e-08, -1.0], [-0.9999999403953552, 8.74227694680485e-08, -1.0]], "edges": [[2, 3], [0, 1], [0, 2], [1, 3]], "faces": [[2, 0, 1, 3]], "image": "Plane.png"}, "Plane (rounded)": {"vertices": [[0.9166665077209473, -1.3601689374809212e-07, -0.9166666269302368], [-0.9166665077209473, 2.4258177688807336e-08, -0.9166666865348816], [0.9166665077209473, -1.6807597091883508e-08, 0.9166666269302368], [-0.9166664481163025, 1.4346746013416123e-07, 0.9166666269302368], [-0.9999998211860657, 3.154340788569243e-08, -0.5], [-0.9999998211860657, 9.114805266108306e-08, 0.0], [-0.9999998211860657, 1.2095037504877837e-07, 0.4999999701976776], [0.49999985098838806, -1.5919539464448462e-07, -1.0], [-2.980233304583635e-08, -1.1548399925231934e-07, -1.0], [-0.4999999701976776, -7.177261807100876e-08, -1.0], [0.9999998211860657, -1.4330211683954985e-07, -0.5], [0.9999998211860657, -8.369747206415923e-08, 0.0], [0.9999998211860657, -5.3895149676463916e-08, 0.4999999701976776], [0.49999985098838806, 7.922319866793259e-08, 0.9999999403953552], [-2.9802311729554276e-08, 1.2293457984924316e-07, 0.9999999403953552], [-0.4999999701976776, 1.6664597524140845e-07, 0.9999999403953552], [-0.9986977577209473, 1.5063886849020491e-07, 0.6236979365348816], [-0.9895832538604736, 1.4984205165546882e-07, 0.7395833134651184], [-0.9648435711860657, 1.4767923062208865e-07, 0.83984375], [-0.623697817325592, -1.3539604992729437e-09, -0.9986979365348816], [-0.7395831942558289, 8.777064408604929e-09, -0.9895833134651184], [-0.8398435711860657, 1.754209932869344e-08, -0.96484375], [0.9986977577209473, -2.3978998342499835e-08, 0.6236979365348816], [0.9895832538604736, -2.3182181507763744e-08, 0.7395833134651184], [0.9648435711860657, -2.1019367579810933e-08, 0.83984375], [-0.623697817325592, 1.1785533615693566e-07, 0.9986979365348816], [-0.7395831942558289, 1.2798635395938618e-07, 0.9895833134651184], [-0.8398435711860657, 1.3675139598490205e-07, 0.96484375], [-0.9648436307907104, 2.8469955282162118e-08, -0.83984375], [-0.9895831942558289, 3.0632754999260214e-08, -0.7395833134651184], [-0.9986976981163025, 3.1429571833996306e-08, -0.6236978769302368], [-0.9999998807907104, 6.13457373788151e-08, -0.2500000298023224], [-0.9999998807907104, 1.0604921385493071e-07, 0.2499999850988388], [0.8398436307907104, -1.2930081538797822e-07, -0.9648438096046448], [0.7395831942558289, -1.2053577336246235e-07, -0.9895833134651184], [0.623697817325592, -1.1040475556001184e-07, -0.9986978769302368], [0.24999994039535522, -7.773505217301135e-08, -0.9999999403953552], [-0.25, -3.4023663886273425e-08, -0.9999999403953552], [0.9648436307907104, -1.4022866423601954e-07, -0.83984375], [0.9895831942558289, -1.4239145684769028e-07, -0.7395833134651184], [0.9986976981163025, -1.4318828789328109e-07, -0.6236978769302368], [0.9999998807907104, -1.1349979445185454e-07, -0.2500000298023224], [0.9999998807907104, -6.879631797573893e-08, 0.2499999850988388], [0.8398436307907104, -1.0091525837196968e-08, 0.9648438096046448], [0.7395831942558289, -1.3264838116811006e-09, 0.9895833134651184], [0.623697817325592, 8.804541096196772e-09, 0.9986978769302368], [0.24999994039535522, 4.1474244483197253e-08, 0.9999999403953552], [-0.25, 8.518563276993518e-08, 0.9999999403953552]], "edges": [[6, 16], [16, 17], [17, 18], [3, 18], [9, 19], [19, 20], [20, 21], [1, 21], [12, 22], [22, 23], [23, 24], [2, 24], [15, 25], [25, 26], [26, 27], [3, 27], [1, 28], [28, 29], [29, 30], [4, 30], [4, 31], [5, 31], [5, 32], [6, 32], [0, 33], [33, 34], [34, 35], [7, 35], [7, 36], [8, 36], [8, 37], [9, 37], [0, 38], [38, 39], [39, 40], [10, 40], [10, 41], [11, 41], [11, 42], [12, 42], [2, 43], [43, 44], [44, 45], [13, 45], [13, 46], [14, 46], [14, 47], [15, 47]], "faces": [[16, 6, 32, 5, 31, 4, 30, 29, 28, 1, 21, 20, 19, 9, 37, 8, 36, 7, 35, 34, 33, 0, 38, 39, 40, 10, 41, 11, 42, 12, 22, 23, 24, 2, 43, 44, 45, 13, 46, 14, 47, 15, 25, 26, 27, 3, 18, 17]], "image": "Plane (rounded).png"}, "Roll 2": {"vertices": [[-3.329959596953813e-08, 0.042095303535461426, 0.4831618368625641], [2.9469187978747868e-08, 0.4872516989707947, 0.0969204306602478], [2.0298726255418842e-08, 0.4589810371398926, 0.19011622667312622], [1.0348210288668724e-08, 0.4130721092224121, 0.2760058641433716], [7.660538022880633e-15, 0.35128894448280334, 0.3512888550758362], [-1.0348201406884527e-08, 0.27600595355033875, 0.41307199001312256], [-2.02987333608462e-08, 0.19011619687080383, 0.45898106694221497], [-2.887033012655138e-08, 0.10308989882469177, 0.4854889512062073], [-2.8758035952591854e-08, 0.027401745319366455, 0.4083135426044464], [2.3351438116492318e-08, 0.3860991299152374, 0.07679995894432068], [1.6084749532296883e-08, 0.3636974096298218, 0.15064847469329834], [8.199941170516922e-09, 0.32731908559799194, 0.21870756149291992], [5.995203909459372e-15, 0.2783620357513428, 0.2783619165420532], [-8.199934953267984e-09, 0.2187076210975647, 0.32731908559799194], [-1.608475308501056e-08, 0.15064841508865356, 0.36369746923446655], [-2.3179838493092575e-08, 0.08013975620269775, 0.3871660828590393], [-3.2850039133336395e-08, 0.014148175716400146, 0.4492601156234741], [-3.329959596953813e-08, 0.042095303535461426, -0.4831618070602417], [3.505234857925643e-08, 0.4967975318431854, 0.0], [2.9469187978747868e-08, 0.4872516691684723, -0.0969204306602478], [2.0298726255418842e-08, 0.45898106694221497, -0.19011622667312622], [1.0348210288668724e-08, 0.4130720794200897, -0.2760058641433716], [7.61555718524964e-15, 0.35128894448280334, -0.3512888550758362], [-1.0348201406884527e-08, 0.27600592374801636, -0.41307204961776733], [-2.02987333608462e-08, 0.19011619687080383, -0.45898106694221497], [-2.887033012655138e-08, 0.10308989882469177, -0.48548898100852966], [-2.8758035952591854e-08, 0.027401745319366455, -0.4083135426044464], [2.777554541921745e-08, 0.39366328716278076, 0.0], [2.3351438116492318e-08, 0.3860991299152374, -0.07679992914199829], [1.6084749532296883e-08, 0.3636974096298218, -0.15064845979213715], [8.199941170516922e-09, 0.32731911540031433, -0.21870757639408112], [5.8715862270711846e-15, 0.2783620059490204, -0.2783619463443756], [-8.199934953267984e-09, 0.21870765089988708, -0.32731905579566956], [-1.608475308501056e-08, 0.15064841508865356, -0.36369746923446655], [-2.3179838493092575e-08, 0.08013975620269775, -0.3871661126613617], [-3.2850039133336395e-08, 0.014148175716400146, -0.4492601156234741], [-3.1701826941343825e-08, 0.06860899925231934, 0.48851248621940613], [-2.6136488529004964e-08, 0.04994305968284607, 0.39613136649131775], [-3.110031343567243e-08, 0.015317797660827637, 0.42725399136543274], [-3.364539935546418e-08, 0.02352115511894226, 0.4691679775714874], [-3.1701826941343825e-08, 0.06860902905464172, -0.4885125160217285], [-2.6136488529004964e-08, 0.04994305968284607, -0.39613136649131775], [-3.110031343567243e-08, 0.015317797660827637, -0.42725399136543274], [-3.364539935546418e-08, 0.02352115511894226, -0.4691679775714874]], "edges": [[1, 18], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [0, 36], [7, 36], [9, 27], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [8, 37], [15, 37], [16, 38], [8, 38], [0, 39], [16, 39], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [23, 24], [24, 25], [17, 40], [25, 40], [27, 28], [28, 29], [29, 30], [30, 31], [31, 32], [32, 33], [33, 34], [26, 41], [34, 41], [35, 42], [26, 42], [17, 43], [35, 43]], "faces": [[18, 1, 2, 3, 4, 5, 6, 7, 36, 0, 39, 16, 38, 8, 37, 15, 14, 13, 12, 11, 10, 9, 27, 28, 29, 30, 31, 32, 33, 34, 41, 26, 42, 35, 43, 17, 40, 25, 24, 23, 22, 21, 20, 19]], "image": "Roll 2.png"}, "Roll 3": {"vertices": [[-0.9999999403953552, -5.684341886080802e-14, 9.099629210140847e-07], [-1.1192500591278076, -1.4901161193847656e-08, 0.1535700559616089], [-0.8513702750205994, -7.450580596923828e-09, 0.11681491136550903], [1.1192500591278076, -1.4901161193847656e-08, 0.1535700559616089], [0.8513702750205994, -7.450580596923828e-09, 0.11681491136550903], [0.9999999403953552, -4.547473508864641e-13, 5.733970738219796e-06], [2.3314682458337103e-16, 0.0, 1.0499999523162842], [-0.10291798412799835, 0.0, 1.044943928718567], [-0.20484481751918793, 0.0, 1.0298244953155518], [-0.3047988712787628, 0.0, 1.0047873258590698], [-0.40181758999824524, -5.960464477539063e-08, 0.9700734615325928], [-0.4949665069580078, -5.960464477539063e-08, 0.9260172843933105], [-0.5833486914634705, -5.960464477539063e-08, 0.8730430603027344], [-0.6661128401756287, -5.960464477539063e-08, 0.8116610050201416], [-0.7424620389938354, -5.960464477539063e-08, 0.7424620985984802], [-0.811660885810852, 0.0, 0.6661128997802734], [-0.8730430006980896, 0.0, 0.5833487510681152], [-0.926017165184021, -2.9802322387695312e-08, 0.494966596364975], [-0.970073401927948, -2.9802322387695312e-08, 0.40181758999824524], [-1.0047872066497803, 0.0, 0.30479884147644043], [-1.0298243761062622, -1.4901161193847656e-08, 0.2048448622226715], [-1.0402535200119019, -1.4901161193847656e-08, 0.14273113012313843], [1.0402535200119019, -1.4901161193847656e-08, 0.14273113012313843], [1.0298243761062622, -1.4901161193847656e-08, 0.20484492182731628], [1.0047872066497803, 0.0, 0.30479878187179565], [0.9700733423233032, -2.9802322387695312e-08, 0.40181776881217957], [0.9260172247886658, -2.9802322387695312e-08, 0.4949665367603302], [0.8730431199073792, 0.0, 0.5833485722541809], [0.811660885810852, 0.0, 0.6661129593849182], [0.742462158203125, -5.960464477539063e-08, 0.7424619197845459], [0.6661127209663391, -5.960464477539063e-08, 0.8116610646247864], [0.5833487510681152, -5.960464477539063e-08, 0.8730430603027344], [0.4949662983417511, -5.960464477539063e-08, 0.9260174036026001], [0.40181756019592285, -5.960464477539063e-08, 0.9700735211372375], [0.30479905009269714, 0.0, 1.0047872066497803], [0.20484472811222076, 0.0, 1.0298244953155518], [0.1029180958867073, 0.0, 1.044943928718567], [2.1041500137790737e-16, -5.960464477539063e-08, 0.947624921798706], [-0.09288347512483597, -5.960464477539063e-08, 0.9430618286132812], [-0.18487244844436646, -5.960464477539063e-08, 0.9294165372848511], [-0.27508097887039185, -5.960464477539063e-08, 0.90682053565979], [-0.362640380859375, -5.960464477539063e-08, 0.8754912614822388], [-0.44670727849006653, -5.960464477539063e-08, 0.8357305526733398], [-0.5264721512794495, -5.960464477539063e-08, 0.7879213094711304], [-0.601166844367981, -5.960464477539063e-08, 0.732524037361145], [-0.6700720191001892, 0.0, 0.670072078704834], [-0.7325239181518555, 0.0, 0.6011669039726257], [-0.7879212498664856, 0.0, 0.5264722108840942], [-0.8357304334640503, -2.9802322387695312e-08, 0.4467073380947113], [-0.875491201877594, -2.9802322387695312e-08, 0.362640380859375], [-0.9068204760551453, 0.0, 0.27508094906806946], [-0.9294164776802063, -1.4901161193847656e-08, 0.18487249314785004], [-0.9388288259506226, -1.4901161193847656e-08, 0.12881484627723694], [0.9388288259506226, -1.4901161193847656e-08, 0.12881484627723694], [0.9294164776802063, -1.4901161193847656e-08, 0.18487253785133362], [0.9068204760551453, 0.0, 0.2750808894634247], [0.8754911422729492, -2.9802322387695312e-08, 0.36264050006866455], [0.8357304930686951, -2.9802322387695312e-08, 0.4467073082923889], [0.7879213690757751, 0.0, 0.5264720916748047], [0.7325239181518555, 0.0, 0.6011669635772705], [0.670072078704834, 0.0, 0.6700718998908997], [0.6011667251586914, -5.960464477539063e-08, 0.7325240969657898], [0.5264722108840942, -5.960464477539063e-08, 0.7879213094711304], [0.4467070698738098, -5.960464477539063e-08, 0.8357306718826294], [0.3626403510570526, -5.960464477539063e-08, 0.8754913210868835], [0.2750811278820038, -5.960464477539063e-08, 0.9068204164505005], [0.1848723590373993, -5.960464477539063e-08, 0.9294165372848511], [0.09288357943296432, -5.960464477539063e-08, 0.9430618286132812]], "edges": [[0, 1], [0, 2], [4, 5], [3, 5], [3, 22], [4, 53], [2, 52], [1, 21], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [22, 23], [23, 24], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [31, 32], [32, 33], [33, 34], [34, 35], [35, 36], [6, 36], [37, 38], [38, 39], [39, 40], [40, 41], [41, 42], [42, 43], [43, 44], [44, 45], [45, 46], [46, 47], [47, 48], [48, 49], [49, 50], [50, 51], [51, 52], [53, 54], [54, 55], [55, 56], [56, 57], [57, 58], [58, 59], [59, 60], [60, 61], [61, 62], [62, 63], [63, 64], [64, 65], [65, 66], [66, 67], [37, 67]], "faces": [[1, 0, 2, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 4, 5, 3, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21]], "image": "Roll 3.png"}, "Arrow Double (straight)": {"vertices": [[-0.20218831300735474, 0.7768415212631226, -6.101069516262214e-08], [-0.10199159383773804, 0.7766403555870056, -5.492306343057862e-08], [0.20218874514102936, 0.7760359048843384, -7.171962579377578e-09], [0.10199237614870071, 0.7762346267700195, -1.3260290643302142e-08], [1.0861867849598639e-07, 1.0003786087036133, -3.837969586584222e-08], [0.2021893411874771, 0.2235371172428131, -2.450451859203895e-07], [0.10199262946844101, 0.22373831272125244, -2.2133048105388298e-07], [-0.2021877020597458, 0.22434279322624207, -1.2006995575575274e-07], [-0.10199134796857834, 0.22414404153823853, -1.4378397850123292e-07], [9.420052720088279e-07, 0.0, -3.071992011882685e-07]], "edges": [[0, 1], [2, 3], [0, 4], [2, 4], [5, 6], [7, 8], [5, 9], [7, 9], [1, 8], [3, 6]], "faces": [[1, 8, 7, 9, 5, 6, 3, 2, 4, 0]], "image": "Arrow Double (straight).png"}, "Gear Simple": {"vertices": [[-0.2590590715408325, 1.1032994962079101e-07, 0.2345557063817978], [-0.33266258239746094, 6.226761684047233e-08, 0.10707071423530579], [-0.46697497367858887, 5.0525656547506514e-08, 0.1006091758608818], [-0.5000038146972656, 4.763818495234773e-08, 0.053251713514328], [-0.5000038146972656, 3.723125630017421e-08, -0.053251538425683975], [-0.46697497367858887, 2.9711806348586833e-08, -0.10060901939868927], [-0.33266258239746094, 4.1453773746980005e-08, -0.10707054287195206], [-0.2590590715408325, 2.7074534614257573e-08, -0.23455552756786346], [-0.3206194043159485, 2.1692763141345495e-08, -0.3541041612625122], [-0.2961210608482361, 2.383447395004623e-08, -0.40638676285743713], [-0.20388655364513397, 3.1897869234853715e-08, -0.4596383571624756], [-0.14635935425758362, 3.6927062296854274e-08, -0.4547133147716522], [-0.07360731065273285, 2.247340091798833e-08, -0.3416261374950409], [0.0735996812582016, 3.53426443666649e-08, -0.3416261374950409], [0.14635172486305237, 6.251667628021096e-08, -0.4547133147716522], [0.20387892425060272, 6.754586223678416e-08, -0.4596383571624756], [0.29611343145370483, 7.560925752159164e-08, -0.40638676285743713], [0.32061177492141724, 7.775096833029238e-08, -0.3541041612625122], [0.25905144214630127, 7.23691968573803e-08, -0.23455552756786346], [0.3326549530029297, 9.96176794387793e-08, -0.10707054287195206], [0.4669673442840576, 1.1135963973174512e-07, -0.10060901939868927], [0.4999961853027344, 1.2465403642636375e-07, -0.053251538425683975], [0.4999961853027344, 1.350609579731099e-07, 0.053251713514328], [0.4669673442840576, 1.3217348282523744e-07, 0.1006091758608818], [0.3326549530029297, 1.2043152253227163e-07, 0.10707071423530579], [0.25905144214630127, 1.5562460475848638e-07, 0.2345557063817978], [0.32061177492141724, 1.6100638333682582e-07, 0.3541043698787689], [0.29611343145370483, 1.5886467963355244e-07, 0.4063869118690491], [0.20387892425060272, 1.5080127013789024e-07, 0.4596385359764099], [0.14635172486305237, 1.4577207707588968e-07, 0.45471349358558655], [0.0735996812582016, 1.394118953612633e-07, 0.3416263163089752], [-0.07360731065273285, 1.265426590180141e-07, 0.3416263163089752], [-0.14635935425758362, 1.2018247730338771e-07, 0.45471349358558655], [-0.20388655364513397, 1.1515328424138715e-07, 0.4596385359764099], [-0.2961210608482361, 1.0708988895657967e-07, 0.4063869118690491], [-0.3206194043159485, 1.0494817104245158e-07, 0.3541043698787689]], "edges": [[0, 1], [1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8, 9], [9, 10], [10, 11], [11, 12], [12, 13], [13, 14], [14, 15], [15, 16], [16, 17], [17, 18], [18, 19], [19, 20], [20, 21], [21, 22], [22, 23], [23, 24], [24, 25], [25, 26], [26, 27], [27, 28], [28, 29], [29, 30], [30, 31], [31, 32], [32, 33], [33, 34], [34, 35], [0, 35]], "faces": [[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 0]], "image": "Gear Simple.png"}, "Paddle (square)": {"vertices": [[-8.992095838821022e-15, 0.0, -2.0571518177803227e-07], [0.06778930127620697, 0.864421010017395, 2.0643703635414568e-08], [1.1614130372759966e-15, 0.864421010017395, 2.6570033284656347e-08], [-0.06778930127620697, 0.864421010017395, 3.2496362933898126e-08], [0.06778930127620697, 1.0, 5.707617489747463e-08], [-0.06778930127620697, 1.0, 6.892883419595819e-08]], "edges": [[1, 4], [0, 2], [3, 5], [4, 5], [2, 3], [1, 2]], "faces": [[4, 5, 3, 2, 1]], "image": "Paddle (square).png"}, "Torso": {"vertices": [[0.7228242754936218, -0.015879880636930466, -6.745851521827717e-08], [0.7308642268180847, -0.024534741416573524, -7.048709704804423e-08], [0.7608293890953064, -0.061047445982694626, -8.291834774354356e-08], [0.7870713472366333, -0.10032134503126144, -9.576608306360868e-08], [0.8093374371528625, -0.14197827875614166, -1.0890659751794374e-07], [0.8274133205413818, -0.18561705946922302, -1.2221335055073723e-07], [0.8411246538162231, -0.23081742227077484, -1.355581673578854e-07], [0.8503395915031433, -0.2771441340446472, -1.4881257470733544e-07], [0.8549693822860718, -0.324150949716568, -1.6184888806947129e-07], [0.8549693822860718, -0.37138521671295166, -1.7454156875373883e-07], [0.8503397107124329, -0.4183920621871948, -1.8676840340958734e-07], [0.841124951839447, -0.4647188186645508, -1.9841164089484664e-07], [0.8274134993553162, -0.5099191665649414, -2.0935908651154023e-07], [0.8093377947807312, -0.5535581111907959, -2.1950540940451901e-07], [0.7870716452598572, -0.5952152609825134, -2.2875283889334241e-07], [0.7608296871185303, -0.6344892978668213, -2.3701232976236497e-07], [0.7308644652366638, -0.6710020899772644, -2.44204329646891e-07], [0.6974645853042603, -0.704401969909668, -2.502595464193291e-07], [0.6609517931938171, -0.7343672513961792, -2.5511971557534707e-07], [0.621677815914154, -0.7606093883514404, -2.587379981378035e-07], [0.5800206661224365, -0.7828755378723145, -2.6107952066922735e-07], [0.5363816618919373, -0.800951361656189, -2.621217731757497e-07], [0.49118104577064514, -0.8146628141403198, -2.618547227939416e-07], [0.44485411047935486, -0.82387775182724, -2.6028089905594243e-07], [0.38541367650032043, -0.8321081399917603, -2.5729610797498026e-07], [0.3319510817527771, -0.8339117765426636, -2.531069185351953e-07], [0.2807582914829254, -0.8304941058158875, -2.477131317846215e-07], [0.23131422698497772, -0.8221817016601562, -2.411568971183442e-07], [0.18373630940914154, -0.8091586828231812, -2.3349798539129552e-07], [0.13830500841140747, -0.7916017770767212, -2.2480840300431737e-07], [0.09535647183656693, -0.7697095274925232, -2.1517088555356167e-07], [0.05524358153343201, -0.7437101006507874, -2.0467760464271123e-07], [0.01831757090985775, -0.7138644456863403, -1.934293862859704e-07], [-0.7228242754936218, -0.015879880636930466, 5.8924104706647995e-08], [-0.7308642268180847, -0.024534741416573524, 5.7301257072595035e-08], [-0.7608293890953064, -0.061047445982694626, 5.010929271520581e-08], [-0.7870713472366333, -0.10032134503126144, 4.18498444787474e-08], [-0.8093374371528625, -0.14197827875614166, 3.260245051706079e-08], [-0.8274133205413818, -0.18561705946922302, 2.245618446750086e-08], [-0.8411246538162231, -0.23081742227077484, 1.1508724639952561e-08], [-0.8503395915031433, -0.2771441340446472, -1.3448442359731416e-10], [-0.8549693822860718, -0.324150949716568, -1.2361297763163748e-08], [-0.8549693822860718, -0.37138521671295166, -2.505397844743129e-08], [-0.8503397107124329, -0.4183920621871948, -3.8090291809567134e-08], [-0.841124951839447, -0.4647188186645508, -5.1344692053589824e-08], [-0.8274134993553162, -0.5099191665649414, -6.468951596616535e-08], [-0.8093377947807312, -0.5535581111907959, -7.799629742066827e-08], [-0.7870716452598572, -0.5952152609825134, -9.113687582384955e-08], [-0.7608296871185303, -0.6344892978668213, -1.0398465377647881e-07], [-0.7308644652366638, -0.6710020899772644, -1.1641592578826021e-07], [-0.6974645853042603, -0.704401969909668, -1.2831097251364554e-07], [-0.6609517931938171, -0.7343672513961792, -1.3955522604192083e-07], [-0.621677815914154, -0.7606093883514404, -1.500403925547289e-07], [-0.5800206661224365, -0.7828755378723145, -1.596654897184635e-07], [-0.5363816618919373, -0.800951361656189, -1.683378201278174e-07], [-0.49118104577064514, -0.8146628141403198, -1.7597389501133875e-07], [-0.44485411047935486, -0.82387775182724, -1.8250014477416698e-07], [-0.38541367650032043, -0.8321081399917603, -1.8990823491549236e-07], [-0.3319510817527771, -0.8339117765426636, -1.9506676096625597e-07], [-0.2807582914829254, -0.8304941058158875, -1.9862378053403518e-07], [-0.23131422698497772, -0.8221817016601562, -2.0071263406862272e-07], [-0.18373630940914154, -0.8091586828231812, -2.013725008964684e-07], [-0.13830500841140747, -0.7916017770767212, -2.0062638839135616e-07], [-0.09535647183656693, -0.7697095274925232, -1.9849822763262637e-07], [-0.05524358153343201, -0.7437101006507874, -1.9501851511449786e-07], [-0.01831757090985775, -0.7138644456863403, -1.9022662911538646e-07], [-8.193900270206562e-15, -0.6975893378257751, -1.8745458874036558e-07], [0.7061193585395813, 8.294094103471379e-15, -6.17309154904433e-08], [0.7145743370056152, 8.393406175438104e-15, -6.247007178217245e-08], [0.7228242754936218, 0.015879880636930466, -5.8924104706647995e-08], [0.7308642268180847, 0.024534741416573524, -5.7301257072595035e-08], [0.7608293890953064, 0.061047445982694626, -5.010929271520581e-08], [0.7870713472366333, 0.10032134503126144, -4.18498444787474e-08], [0.8093374371528625, 0.14197827875614166, -3.260245051706079e-08], [0.8274133205413818, 0.18561705946922302, -2.245618446750086e-08], [0.8411246538162231, 0.23081742227077484, -1.1508724639952561e-08], [0.8503395915031433, 0.2771441340446472, 1.3448442359731416e-10], [0.8549693822860718, 0.324150949716568, 1.2361297763163748e-08], [0.8549693822860718, 0.37138521671295166, 2.505397844743129e-08], [0.8503397107124329, 0.4183920621871948, 3.8090291809567134e-08], [0.841124951839447, 0.4647188186645508, 5.1344692053589824e-08], [0.8274134993553162, 0.5099191665649414, 6.468951596616535e-08], [0.8093377947807312, 0.5535581111907959, 7.799629742066827e-08], [0.7870716452598572, 0.5952152609825134, 9.113687582384955e-08], [0.7608296871185303, 0.6344892978668213, 1.0398465377647881e-07], [0.7308644652366638, 0.6710020899772644, 1.1641592578826021e-07], [0.6974645853042603, 0.704401969909668, 1.2831097251364554e-07], [0.6609517931938171, 0.7343672513961792, 1.3955522604192083e-07], [0.621677815914154, 0.7606093883514404, 1.500403925547289e-07], [0.5800206661224365, 0.7828755378723145, 1.596654897184635e-07], [0.5363816618919373, 0.800951361656189, 1.683378201278174e-07], [0.49118104577064514, 0.8146628141403198, 1.7597389501133875e-07], [0.44485411047935486, 0.82387775182724, 1.8250014477416698e-07], [0.38541367650032043, 0.8321081399917603, 1.8990823491549236e-07], [0.3319510817527771, 0.8339117765426636, 1.9506676096625597e-07], [0.2807582914829254, 0.8304941058158875, 1.9862378053403518e-07], [0.23131422698497772, 0.8221817016601562, 2.0071263406862272e-07], [0.18373630940914154, 0.8091586828231812, 2.013725008964684e-07], [0.13830500841140747, 0.7916017770767212, 2.0062638839135616e-07], [0.09535647183656693, 0.7697095274925232, 1.9849822763262637e-07], [0.05524358153343201, 0.7437101006507874, 1.9501851511449786e-07], [0.01831757090985775, 0.7138644456863403, 1.9022662911538646e-07], [-0.7061193585395813, -8.294094103471379e-15, 6.17309154904433e-08], [-0.7145743370056152, -8.393406175438104e-15, 6.247007178217245e-08], [-0.7228242754936218, 0.015879880636930466, 6.745851521827717e-08], [-0.7308642268180847, 0.024534741416573524, 7.048709704804423e-08], [-0.7608293890953064, 0.061047445982694626, 8.291834774354356e-08], [-0.7870713472366333, 0.10032134503126144, 9.576608306360868e-08], [-0.8093374371528625, 0.14197827875614166, 1.0890659751794374e-07], [-0.8274133205413818, 0.18561705946922302, 1.2221335055073723e-07], [-0.8411246538162231, 0.23081742227077484, 1.355581673578854e-07], [-0.8503395915031433, 0.2771441340446472, 1.4881257470733544e-07], [-0.8549693822860718, 0.324150949716568, 1.6184888806947129e-07], [-0.8549693822860718, 0.37138521671295166, 1.7454156875373883e-07], [-0.8503397107124329, 0.4183920621871948, 1.8676840340958734e-07], [-0.841124951839447, 0.4647188186645508, 1.9841164089484664e-07], [-0.8274134993553162, 0.5099191665649414, 2.0935908651154023e-07], [-0.8093377947807312, 0.5535581111907959, 2.1950540940451901e-07], [-0.7870716452598572, 0.5952152609825134, 2.2875283889334241e-07], [-0.7608296871185303, 0.6344892978668213, 2.3701232976236497e-07], [-0.7308644652366638, 0.6710020899772644, 2.44204329646891e-07], [-0.6974645853042603, 0.704401969909668, 2.502595464193291e-07], [-0.6609517931938171, 0.7343672513961792, 2.5511971557534707e-07], [-0.621677815914154, 0.7606093883514404, 2.587379981378035e-07], [-0.5800206661224365, 0.7828755378723145, 2.6107952066922735e-07], [-0.5363816618919373, 0.800951361656189, 2.621217731757497e-07], [-0.49118104577064514, 0.8146628141403198, 2.618547227939416e-07], [-0.44485411047935486, 0.82387775182724, 2.6028089905594243e-07], [-0.38541367650032043, 0.8321081399917603, 2.5729610797498026e-07], [-0.3319510817527771, 0.8339117765426636, 2.531069185351953e-07], [-0.2807582914829254, 0.8304941058158875, 2.477131317846215e-07], [-0.23131422698497772, 0.8221817016601562, 2.411568971183442e-07], [-0.18373630940914154, 0.8091586828231812, 2.3349798539129552e-07], [-0.13830500841140747, 0.7916017770767212, 2.2480840300431737e-07], [-0.09535647183656693, 0.7697095274925232, 2.1517088555356167e-07], [-0.05524358153343201, 0.7437101006507874, 2.0467760464271123e-07], [-0.01831757090985775, 0.7138644456863403, 1.934293862859704e-07], [8.193900270206562e-15, 0.6975893378257751, 1.8745458874036558e-07]], "edges": [[0, 1], [69, 70], [103, 104], [0, 68], [68, 69], [102, 103], [70, 71], [72, 73], [74, 75], [76, 77], [78, 79], [80, 81], [82, 83], [84, 85], [86, 87], [88, 89], [90, 91], [92, 93], [94, 95], [96, 97], [98, 99], [100, 101], [104, 105], [34, 35], [106, 107], [36, 37], [108, 109], [38, 39], [110, 111], [40, 41], [112, 113], [42, 43], [114, 115], [44, 45], [116, 117], [46, 47], [118, 119], [48, 49], [120, 121], [50, 51], [122, 123], [52, 53], [124, 125], [54, 55], [126, 127], [56, 57], [128, 129], [58, 59], [130, 131], [60, 61], [132, 133], [62, 63], [134, 135], [64, 65], [1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12], [13, 14], [15, 16], [17, 18], [19, 20], [21, 22], [23, 24], [25, 26], [27, 28], [29, 30], [31, 32], [136, 137], [65, 66], [67, 68], [33, 103], [32, 66], [71, 72], [2, 3], [73, 74], [4, 5], [75, 76], [6, 7], [77, 78], [8, 9], [79, 80], [10, 11], [81, 82], [12, 13], [83, 84], [14, 15], [85, 86], [16, 17], [87, 88], [18, 19], [89, 90], [20, 21], [91, 92], [22, 23], [93, 94], [24, 25], [95, 96], [26, 27], [97, 98], [28, 29], [99, 100], [30, 31], [101, 137], [33, 34], [105, 106], [35, 36], [107, 108], [37, 38], [109, 110], [39, 40], [111, 112], [41, 42], [113, 114], [43, 44], [115, 116], [45, 46], [117, 118], [47, 48], [119, 120], [49, 50], [121, 122], [51, 52], [123, 124], [53, 54], [125, 126], [55, 56], [127, 128], [57, 58], [129, 130], [59, 60], [131, 132], [61, 62], [133, 134], [63, 64], [135, 136]], "faces": [[0, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 137, 136, 135, 134, 133, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, 116, 115, 114, 113, 112, 111, 110, 109, 108, 107, 106, 105, 104, 103, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]], "image": "Torso.png"}} \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/Blocks.py b/extensions/blender_org/extra_mesh_objects/Blocks.py new file mode 100644 index 0000000..fdc7f0a --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/Blocks.py @@ -0,0 +1,1817 @@ +# SPDX-FileCopyrightText: 2016-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Authors: dudecon, jambay + +# Module notes: +# +# Grout needs to be implemented. +# consider removing wedge crit for small "c" and "cl" values +# wrap around for openings on radial stonework? +# auto-clip wall edge to SMALL for radial and domes. +# unregister doesn't release all references. +# repeat for opening doesn't distribute evenly when radialized - see wrap around +# note above. +# if opening width == indent*2 the edge blocks fail (row of blocks cross opening). +# if openings overlap fills inverse with blocks - see h/v slots. +# Negative grout width creates a pair of phantom blocks, separated by grout +# width, inside the edges. +# if block width variance is 0, and edging is on, right edge blocks create a "vertical seam" + + +import bpy +from random import random +from math import ( + fmod, sqrt, + sin, cos, atan, + pi as PI, + ) + +# Set to True to enable debug_prints +DEBUG = False + +# A few constants +SMALL = 0.000000000001 +# for values that must be != 0; see UI options/variables - sort of a bug to be fixed +NOTZERO = 0.01 + +# Global variables + +# General masonry Settings +# ------------------------ +settings = { + 'w': 1.2, 'wv': 0.3, 'h': .6, 'hv': 0.3, 'd': 0.3, 'dv': 0.1, + 'g': 0.1, 'gv': 0.07, 'gd': 0.01, 'gdv': 0.0, 'b': 0, 'bv': 0, + 'f': 0.0, 'fv': 0.0, 't': 0.0, 'sdv': 0.1, 'hwt': 0.5, 'aln': 0, + 'wm': 0.8, 'hm': 0.3, 'dm': 0.1, + 'woff': 0.0, 'woffv': 0.0, 'eoff': 0.3, 'eoffv': 0.0, 'rwhl': 1, + 'hb': 0, 'ht': 0, 'ge': 0, 'physics': 0 + } +""" + settings DOCUMENTATION: + 'w':width 'wv':widthVariation + 'h':height 'hv':heightVariation + 'd':depth 'dv':depthVariation + 'g':grout 'gv':groutVariation 'gd':groutDepth 'gdv':groutDepthVariation + 'b':bevel 'bv':bevelVariation + 'f':flawSize 'fv':flawSizeVariation 'ff':flawFraction + 't':taper + 'sdv':subdivision(distance or angle) + 'hwt':row height effect on block widths in the row (0=no effect, + 1=1:1 relationship, negative values allowed, 0.5 works well) + 'aln':alignment(0=none, 1=rows w/features, 2=features w/rows) + (currently unused) + 'wm':width minimum 'hm':height minimum 'dm':depth minimum + 'woff':row start offset(fraction of width) + 'woffv':width offset variation(fraction of width) + 'eoff':edge offset 'eoffv':edge offset variation + 'rwhl':row height lock(1 is all blocks in row have same height) + 'hb':bottom row height 'ht': top row height 'ge': grout the edges + 'physics': set up for physics +""" + +# dims = area of wall (face) +# ------------------------ +dims = { + 's': 0, 'e': PI * 3 / 2, 'b': 0.1, 't': 12.3 + } # radial +""" + dims DOCUMENTATION: + 's':start x or theta 'e':end x or theta 'b':bottom z or r 't':top z or r + 'w' = e-s and h = t-b; calculated to optimize for various operations/usages + dims = {'s':-12, 'e':15, 'w':27, 'b':-15., 't':15., 'h':30} + dims = {'s':-bayDim/2, 'e':bayDim/2, 'b':-5., 't':10.} # bay settings? +""" + +# ------------------------ +radialized = 0 # Radiating from one point - round/disc; instead of square +slope = 0 # Warp/slope; curved over like a vaulted tunnel + +# 'bigblock': merge adjacent blocks into single large blocks +bigBlock = 0 # Merge blocks + + +# Gaps in blocks for various apertures +# ------------------------ +# openingSpecs = [] +openingSpecs = [ + {'w': 0.5, 'h': 0.5, 'x': 0.8, 'z': 2.7, 'rp': 1, 'b': 0.0, + 'v': 0, 'vl': 0, 't': 0, 'tl': 0} + ] +""" + openingSpecs DOCUMENTATION: + 'w': opening width, 'h': opening height, + 'x': horizontal position, 'z': vertical position, + 'rp': make multiple openings, with a spacing of x, + 'b': bevel the opening, inside only, like an arrow slit. + 'v': height of the top arch, 'vl':height of the bottom arch, + 't': thickness of the top arch, 'tl': thickness of the bottom arch +""" + +# Add blocks to make platforms +# ------------------------ +shelfExt = 0 + +shelfSpecs = { + 'w': 0.5, 'h': 0.5, 'd': 0.3, 'x': 0.8, 'z': 2.7 + } +""" + shelfSpecs DOCUMENTATION: + 'w': block width, 'h': block height, 'd': block depth (shelf size; offset from wall) + 'x': horizontal start position, 'z': vertical start position +""" + +# Add blocks to make steps +# ------------------------ +stepMod = 0 + +stepSpecs = { + 'x': 0.0, 'z': -10, 'w': 10.0, 'h': 10.0, + 'v': 0.7, 't': 1.0, 'd': 1.0 + } +""" + stepSpecs DOCUMENTATION: + 'x': horizontal start position, 'z': vertical start position, + 'w': step area width, 'h': step area height, + 'v': riser height, 't': tread width, 'd': block depth (step size; offset from wall) +""" +stepLeft = 0 +shelfBack = 0 +stepOnly = 0 +stepBack = 0 + + +# switchable prints +def debug_prints(func="", text="Message", var=None): + global DEBUG + if DEBUG: + print("\n[{}]\nmessage: {}".format(func, text)) + if var: + print("Error: ", var) + + +# pass variables just like for the regular prints +def debug_print_vars(*args, **kwargs): + global DEBUG + if DEBUG: + print(*args, **kwargs) + + +# easier way to get to the random function +def rnd(): + return random() + + +# random number from -0.5 to 0.5 +def rndc(): + return (random() - 0.5) + + +# random number from -1.0 to 1.0 +def rndd(): + return (random() - 0.5) * 2.0 + + +# Opening Test suite +# opening test function + +def test(TestN=13): + dims = {'s': -29., 'e': 29., 'b': -6., 't': TestN * 7.5} + openingSpecs = [] + for i in range(TestN): + x = (random() - 0.5) * 6 + z = i * 7.5 + v = .2 + i * (3. / TestN) + vl = 3.2 - i * (3. / TestN) + t = 0.3 + random() + tl = 0.3 + random() + rn = random() * 2 + openingSpecs += [{'w': 3.1 + rn, 'h': 0.3 + rn, 'x': float(x), + 'z': float(z), 'rp': 0, 'b': 0., + 'v': float(v), 'vl': float(vl), + 't': float(t), 'tl': float(tl)}] + return dims, openingSpecs + + +# dims, openingSpecs = test(15) + + +# For filling a linear space with divisions +def fill(left, right, avedst, mindst=0.0, dev=0.0, pad=(0.0, 0.0), num=0, + center=0): + __doc__ = """\ + Fills a linear range with points and returns an ordered list of those points + including the end points. + + left: the lower boundary + right: the upper boundary + avedst: the average distance between points + mindst: the minimum distance between points + dev: the maximum random deviation from avedst + pad: tends to move the points near the bounds right (positive) or + left (negative). + element 0 pads the lower bounds, element 1 pads the upper bounds + num: substitutes a numerical limit for the right limit. fill will then make + a num+1 element list + center: flag to center the elements in the range, 0 == disabled + """ + + poslist = [left] + curpos = left + pad[0] + + # Set offset by average spacing, then add blocks (fall through); + # if not at right edge. + if center: + curpos += ((right - left - mindst * 2) % avedst) / 2 + mindst + if curpos - poslist[-1] < mindst: + curpos = poslist[-1] + mindst + rnd() * dev / 2 + + # clip to right edge. + if (right - curpos < mindst) or (right - curpos < mindst - pad[1]): + poslist.append(right) + return poslist + + else: + poslist.append(curpos) + + # unused... for now. + if num: + idx = len(poslist) + + while idx < num + 1: + curpos += avedst + rndd() * dev + if curpos - poslist[-1] < mindst: + curpos = poslist[-1] + mindst + rnd() * dev / 2 + poslist.append(curpos) + idx += 1 + + return poslist + + # make block edges + else: + while True: # loop for blocks + curpos += avedst + rndd() * dev + if curpos - poslist[-1] < mindst: + curpos = poslist[-1] + mindst + rnd() * dev / 2 + # close off edges at limit + if (right - curpos < mindst) or (right - curpos < mindst - pad[1]): + poslist.append(right) + return poslist + else: + poslist.append(curpos) + + +# For generating block geometry +def MakeABlock(bounds, segsize, vll=0, Offsets=None, FaceExclude=[], + bevel=0, xBevScl=1): + __doc__ = """\ + MakeABlock returns lists of points and faces to be made into a square + cornered block, subdivided along the length, with optional bevels. + bounds: a list of boundary positions: + 0:left, 1:right, 2:bottom, 3:top, 4:back, 5:front + segsize: the maximum size before lengthwise subdivision occurs + vll: the number of vertices already in the mesh. len(mesh.verts) should + give this number. + Offsets: list of coordinate delta values. + Offsets are lists, [x,y,z] in + [ + 0:left_bottom_back, + 1:left_bottom_front, + 2:left_top_back, + 3:left_top_front, + 4:right_bottom_back, + 5:right_bottom_front, + 6:right_top_back, + 7:right_top_front, + ] + FaceExclude: list of faces to exclude from the faces list. see bounds above for indices + xBevScl: how much to divide the end (+- x axis) bevel dimensions. Set to current average + radius to compensate for angular distortion on curved blocks + """ + + slices = fill(bounds[0], bounds[1], segsize, segsize, center=1) + points = [] + faces = [] + + if Offsets is None: + points.append([slices[0], bounds[4], bounds[2]]) + points.append([slices[0], bounds[5], bounds[2]]) + points.append([slices[0], bounds[5], bounds[3]]) + points.append([slices[0], bounds[4], bounds[3]]) + + for x in slices[1:-1]: + points.append([x, bounds[4], bounds[2]]) + points.append([x, bounds[5], bounds[2]]) + points.append([x, bounds[5], bounds[3]]) + points.append([x, bounds[4], bounds[3]]) + + points.append([slices[-1], bounds[4], bounds[2]]) + points.append([slices[-1], bounds[5], bounds[2]]) + points.append([slices[-1], bounds[5], bounds[3]]) + points.append([slices[-1], bounds[4], bounds[3]]) + + else: + points.append([slices[0] + Offsets[0][0], bounds[4] + Offsets[0][1], bounds[2] + Offsets[0][2]]) + points.append([slices[0] + Offsets[1][0], bounds[5] + Offsets[1][1], bounds[2] + Offsets[1][2]]) + points.append([slices[0] + Offsets[3][0], bounds[5] + Offsets[3][1], bounds[3] + Offsets[3][2]]) + points.append([slices[0] + Offsets[2][0], bounds[4] + Offsets[2][1], bounds[3] + Offsets[2][2]]) + + for x in slices[1: -1]: + xwt = (x - bounds[0]) / (bounds[1] - bounds[0]) + points.append([x + Offsets[0][0] * (1 - xwt) + Offsets[4][0] * xwt, + bounds[4] + Offsets[0][1] * (1 - xwt) + Offsets[4][1] * xwt, + bounds[2] + Offsets[0][2] * (1 - xwt) + Offsets[4][2] * xwt]) + points.append([x + Offsets[1][0] * (1 - xwt) + Offsets[5][0] * xwt, + bounds[5] + Offsets[1][1] * (1 - xwt) + Offsets[5][1] * xwt, + bounds[2] + Offsets[1][2] * (1 - xwt) + Offsets[5][2] * xwt]) + points.append([x + Offsets[3][0] * (1 - xwt) + Offsets[7][0] * xwt, + bounds[5] + Offsets[3][1] * (1 - xwt) + Offsets[7][1] * xwt, + bounds[3] + Offsets[3][2] * (1 - xwt) + Offsets[7][2] * xwt]) + points.append([x + Offsets[2][0] * (1 - xwt) + Offsets[6][0] * xwt, + bounds[4] + Offsets[2][1] * (1 - xwt) + Offsets[6][1] * xwt, + bounds[3] + Offsets[2][2] * (1 - xwt) + Offsets[6][2] * xwt]) + + points.append([slices[-1] + Offsets[4][0], bounds[4] + Offsets[4][1], bounds[2] + Offsets[4][2]]) + points.append([slices[-1] + Offsets[5][0], bounds[5] + Offsets[5][1], bounds[2] + Offsets[5][2]]) + points.append([slices[-1] + Offsets[7][0], bounds[5] + Offsets[7][1], bounds[3] + Offsets[7][2]]) + points.append([slices[-1] + Offsets[6][0], bounds[4] + Offsets[6][1], bounds[3] + Offsets[6][2]]) + + faces.append([vll, vll + 3, vll + 2, vll + 1]) + + for x in range(len(slices) - 1): + faces.append([vll, vll + 1, vll + 5, vll + 4]) + vll += 1 + faces.append([vll, vll + 1, vll + 5, vll + 4]) + vll += 1 + faces.append([vll, vll + 1, vll + 5, vll + 4]) + vll += 1 + faces.append([vll, vll - 3, vll + 1, vll + 4]) + vll += 1 + + faces.append([vll, vll + 1, vll + 2, vll + 3]) + + return points, faces + + +# For generating Keystone Geometry + +def MakeAKeystone(xpos, width, zpos, ztop, zbtm, thick, bevel, vll=0, FaceExclude=[], xBevScl=1): + __doc__ = """\ + MakeAKeystone returns lists of points and faces to be made into a + square cornered keystone, with optional bevels. + xpos: x position of the centerline + width: x width of the keystone at the widest point (discounting bevels) + zpos: z position of the widest point + ztop: distance from zpos to the top + zbtm: distance from zpos to the bottom + thick: thickness + bevel: the amount to raise the back vertex to account for arch beveling + vll: the number of vertices already in the mesh. len(mesh.verts) should give this number + faceExclude: list of faces to exclude from the faces list. + 0:left, 1:right, 2:bottom, 3:top, 4:back, 5:front + xBevScl: how much to divide the end (+- x axis) bevel dimensions. + Set to current average radius to compensate for angular distortion on curved blocks + """ + + points = [] + faces = [] + faceinclude = [1 for x in range(6)] + for x in FaceExclude: + faceinclude[x] = 0 + Top = zpos + ztop + Btm = zpos - zbtm + Wid = width / 2.0 + Thk = thick / 2.0 + + # The front top point + points.append([xpos, Thk, Top]) + # The front left point + points.append([xpos - Wid, Thk, zpos]) + # The front bottom point + points.append([xpos, Thk, Btm]) + # The front right point + points.append([xpos + Wid, Thk, zpos]) + + MirrorPoints = [] + for i in points: + MirrorPoints.append([i[0], -i[1], i[2]]) + points += MirrorPoints + points[6][2] += bevel + + faces.append([3, 2, 1, 0]) + faces.append([4, 5, 6, 7]) + faces.append([4, 7, 3, 0]) + faces.append([5, 4, 0, 1]) + faces.append([6, 5, 1, 2]) + faces.append([7, 6, 2, 3]) + # Offset the vertex numbers by the number of vertices already in the list + for i in range(len(faces)): + for j in range(len(faces[i])): + faces[i][j] += vll + + return points, faces + + +# for finding line/circle intercepts + +def circ(offs=0., r=1.): + __doc__ = """\ + offs is the distance perpendicular to the line to the center of the circle + r is the radius of the circle + circ returns the distance parallel to the line to the center of the circle at the intercept. + """ + offs = abs(offs) + if offs > r: + return None + elif offs == r: + return 0. + else: + return sqrt(r ** 2 - offs ** 2) + + +# class openings in the wall + +class opening: + __doc__ = """\ + This is the class for holding the data for the openings in the wall. + It has methods for returning the edges of the opening for any given position value, + as well as bevel settings and top and bottom positions. + It stores the 'style' of the opening, and all other pertinent information. + """ + # x = 0. # x position of the opening + # z = 0. # x position of the opening + # w = 0. # width of the opening + # h = 0. # height of the opening + r = 0 # top radius of the arch (derived from 'v') + rl = 0 # lower radius of the arch (derived from 'vl') + rt = 0 # top arch thickness + rtl = 0 # lower arch thickness + ts = 0 # Opening side thickness, if greater than average width, replaces it. + c = 0 # top arch corner position (for low arches), distance from the top of the straight sides + cl = 0 # lower arch corner position (for low arches), distance from the top of the straight sides + # form = 0 # arch type (unused for now) + # b = 0. # back face bevel distance, like an arrow slit + v = 0. # top arch height + vl = 0. # lower arch height + # variable "s" is used for "side" in the "edge" function. + # it is a signed int, multiplied by the width to get + or - of the center + + def btm(self): + if self.vl <= self.w / 2: + return self.z - self.h / 2 - self.vl - self.rtl + else: + return self.z - sqrt((self.rl + self.rtl) ** 2 - (self.rl - self.w / 2) ** 2) - self.h / 2 + + def top(self): + if self.v <= self.w / 2: + return self.z + self.h / 2 + self.v + self.rt + else: + return sqrt((self.r + self.rt) ** 2 - (self.r - self.w / 2) ** 2) + self.z + self.h / 2 + + # crits returns the critical split points, or discontinuities, used for making rows + def crits(self): + critlist = [] + if self.vl > 0: # for lower arch + # add the top point if it is pointed + # if self.vl >= self.w/2.: critlist.append(self.btm()) + if self.vl < self.w / 2.: # else: for low arches, with wedge blocks under them + # critlist.append(self.btm()) + critlist.append(self.z - self.h / 2 - self.cl) + + if self.h > 0: # if it has a height, append points at the top and bottom of the main square section + critlist += [self.z - self.h / 2, self.z + self.h / 2] + else: # otherwise, append just one in the center + critlist.append(self.z) + + if self.v > 0: # for the upper arch + if self.v < self.w / 2: # add the splits for the upper wedge blocks, if needed + critlist.append(self.z + self.h / 2 + self.c) + # critlist.append(self.top()) + # otherwise just add the top point, if it is pointed + # else: critlist.append(self.top()) + + return critlist + + # get the side position of the opening. + # ht is the z position; s is the side: 1 for right, -1 for left + # if the height passed is above or below the opening, return None + def edgeS(self, ht, s): + + # set the row radius: 1 for standard wall (flat) + if radialized: + if slope: + r1 = abs(dims['t'] * sin(ht * PI / (dims['t'] * 2))) + else: + r1 = abs(ht) + else: + r1 = 1 + + # Go through all the options, and return the correct value + if ht < self.btm(): # too low + return None + elif ht > self.top(): # too high + return None + + # Check for circ returning None - prevent TypeError (script failure) with float. + # in this range, pass the lower arch info + elif ht <= self.z - self.h / 2 - self.cl: + if self.vl > self.w / 2: + circVal = circ(ht - self.z + self.h / 2, self.rl + self.rtl) + if circVal is None: + return None + else: + return self.x + s * (self.w / 2. - self.rl + circVal) / r1 + else: + circVal = circ(ht - self.z + self.h / 2 + self.vl - self.rl, self.rl + self.rtl) + if circVal is None: + return None + else: + return self.x + s * circVal / r1 + + # in this range, pass the top arch info + elif ht >= self.z + self.h / 2 + self.c: + if self.v > self.w / 2: + circVal = circ(ht - self.z - self.h / 2, self.r + self.rt) + if circVal is None: + return None + else: + return self.x + s * (self.w / 2. - self.r + circVal) / r1 + else: + circVal = circ(ht - (self.z + self.h / 2 + self.v - self.r), self.r + self.rt) + if circVal is None: + return None + else: + return self.x + s * circVal / r1 + + # in this range pass the lower corner edge info + elif ht <= self.z - self.h / 2: + d = sqrt(self.rtl ** 2 - self.cl ** 2) + if self.cl > self.rtl / sqrt(2.): + return self.x + s * (self.w / 2 + (self.z - self.h / 2 - ht) * d / self.cl) / r1 + else: + return self.x + s * (self.w / 2 + d) / r1 + + # in this range pass the upper corner edge info + elif ht >= self.z + self.h / 2: + d = sqrt(self.rt ** 2 - self.c ** 2) + if self.c > self.rt / sqrt(2.): + return self.x + s * (self.w / 2 + (ht - self.z - self.h / 2) * d / self.c) / r1 + else: + return self.x + s * (self.w / 2 + d) / r1 + + # in this range, pass the middle info (straight sides) + else: + return self.x + s * self.w / 2 / r1 + + # get the top or bottom of the opening + # ht is the x position; s is the side: 1 for top, -1 for bottom + def edgeV(self, ht, s): + + dist = abs(self.x - ht) + + def radialAdjust(dist, sideVal): + # take the distance and adjust for radial geometry, return dist + if radialized: + if slope: + dist = dist * abs(dims['t'] * sin(sideVal * PI / (dims['t'] * 2))) + else: + dist = dist * sideVal + return dist + + if s > 0: # and (dist <= self.edgeS(self.z + self.h / 2 + self.c, 1) - self.x): # check top down + # hack for radialized masonry, import approx Z instead of self.top() + dist = radialAdjust(dist, self.top()) + + # no arch on top, flat + if not self.r: + return self.z + self.h / 2 + + # pointed arch on top + elif self.v > self.w / 2: + circVal = circ(dist - self.w / 2 + self.r, self.r + self.rt) + if circVal is None: + return None + else: + return self.z + self.h / 2 + circVal + + # domed arch on top + else: + circVal = circ(dist, self.r + self.rt) + if circVal is None: + return None + else: + return self.z + self.h / 2 + self.v - self.r + circVal + + else: # and (dist <= self.edgeS(self.z - self.h / 2 - self.cl, 1) - self.x): # check bottom up + # hack for radialized masonry, import approx Z instead of self.top() + dist = radialAdjust(dist, self.btm()) + + # no arch on bottom + if not self.rl: + return self.z - self.h / 2 + + # pointed arch on bottom + elif self.vl > self.w / 2: + circVal = circ(dist - self.w / 2 + self.rl, self.rl + self.rtl) + if circVal is None: + return None + else: + return self.z - self.h / 2 - circVal + + # old conditional? if (dist-self.w / 2 + self.rl) <= (self.rl + self.rtl): + # domed arch on bottom + else: + circVal = circ(dist, self.rl + self.rtl) # dist-self.w / 2 + self.rl + if circVal is None: + return None + else: + return self.z - self.h / 2 - self.vl + self.rl - circVal + + # and this never happens - but, leave it as failsafe :) + debug_prints(func="opening.EdgeV", + text="Got all the way out of the edgeV! Not good!") + debug_print_vars("opening x = ", self.x, ", opening z = ", self.z) + + return 0.0 + + def edgeBev(self, ht): + if ht > (self.z + self.h / 2): + return 0.0 + if ht < (self.z - self.h / 2): + return 0.0 + if radialized: + if slope: + r1 = abs(dims['t'] * sin(ht * PI / (dims['t'] * 2))) + else: + r1 = abs(ht) + else: + r1 = 1 + bevel = self.b / r1 + return bevel + + def __init__(self, xpos, zpos, width, height, archHeight=0, archThk=0, + archHeightLower=0, archThkLower=0, bevel=0, edgeThk=0): + self.x = float(xpos) + self.z = float(zpos) + self.w = float(width) + self.h = float(height) + self.rt = archThk + self.rtl = archThkLower + self.v = archHeight + self.vl = archHeightLower + if self.w <= 0: + self.w = SMALL + + # find the upper arch radius + if archHeight >= width / 2: + # just one arch, low long + self.r = (self.v ** 2) / self.w + self.w / 4 + elif archHeight <= 0: + # No arches + self.r = 0 + self.v = 0 + else: + # Two arches + self.r = (self.w ** 2) / (8 * self.v) + self.v / 2. + self.c = self.rt * cos(atan(self.w / (2 * (self.r - self.v)))) + + # find the lower arch radius + if archHeightLower >= width / 2: + self.rl = (self.vl ** 2) / self.w + self.w / 4 + elif archHeightLower <= 0: + self.rl = 0 + self.vl = 0 + else: + self.rl = (self.w ** 2) / (8 * self.vl) + self.vl / 2. + self.cl = self.rtl * cos(atan(self.w / (2 * (self.rl - self.vl)))) + + # self.form = something? + self.b = float(bevel) + self.ts = edgeThk + + +# class for the whole wall boundaries; a sub-class of "opening" +class openingInvert(opening): + # this is supposed to switch the sides of the opening + # so the wall will properly enclose the whole wall. + + def edgeS(self, ht, s): + return opening.edgeS(self, ht, -s) + + def edgeV(self, ht, s): + return opening.edgeV(self, ht, -s) + + +# class rows in the wall + +class rowOb: + __doc__ = """\ + This is the class for holding the data for individual rows of blocks. + each row is required to have some edge blocks, and can also have + intermediate sections of "normal" blocks. + """ + radius = 1 + EdgeOffset = 0. + + def FillBlocks(self): + # Set the radius variable, in the case of radial geometry + if radialized: + if slope: + self.radius = dims['t'] * (sin(self.z * PI / (dims['t'] * 2))) + else: + self.radius = self.z + + # initialize internal variables from global settings + + SetH = settings['h'] + SetHwt = settings['hwt'] + SetWid = settings['w'] + SetWidMin = settings['wm'] + SetWidVar = settings['wv'] + SetGrt = settings['g'] + SetGrtVar = settings['gv'] + SetRowHeightLink = settings['rwhl'] + SetDepth = settings['d'] + SetDepthVar = settings['dv'] + + # height weight, used for making shorter rows have narrower blocks, and vice-versa + hwt = ((self.h / SetH - 1) * SetHwt + 1) + + # set variables for persistent values: loop optimization, readability, single ref for changes. + + avgDist = hwt * SetWid / self.radius + minDist = SetWidMin / self.radius + deviation = hwt * SetWidVar / self.radius + grtOffset = SetGrt / (2 * self.radius) + + # init loop variables that may change... + + grt = (SetGrt + rndc() * SetGrtVar) / (self.radius) + ThisBlockHeight = self.h + rndc() * (1 - SetRowHeightLink) * SetGrtVar + ThisBlockDepth = rndd() * SetDepthVar + SetDepth + + for segment in self.RowSegments: + divs = fill(segment[0] + grtOffset, segment[1] - grtOffset, avgDist, minDist, deviation) + + # loop through the divisions, adding blocks for each one + for i in range(len(divs) - 1): + ThisBlockx = (divs[i] + divs[i + 1]) / 2 + ThisBlockw = divs[i + 1] - divs[i] - grt + + self.BlocksNorm.append([ThisBlockx, self.z, ThisBlockw, ThisBlockHeight, ThisBlockDepth, None]) + + if SetDepthVar: # vary depth + ThisBlockDepth = rndd() * SetDepthVar + SetDepth + + if SetGrtVar: # vary grout + grt = (SetGrt + rndc() * SetGrtVar) / (self.radius) + ThisBlockHeight = self.h + rndc() * (1 - SetRowHeightLink) * SetGrtVar + + def __init__(self, centerheight, rowheight, edgeoffset=0.): + self.z = float(centerheight) + self.h = float(rowheight) + self.EdgeOffset = float(edgeoffset) + + # THIS INITIALIZATION IS IMPORTANT! OTHERWISE ALL OBJECTS WILL HAVE THE SAME LISTS! + self.BlocksEdge = [] + self.RowSegments = [] + self.BlocksNorm = [] + + +def arch(ra, rt, x, z, archStart, archEnd, bevel, bevAngle, vll): + __doc__ = """\ + Makes a list of faces and vertices for arches. + ra: the radius of the arch, to the center of the bricks + rt: the thickness of the arch + x: x center location of the circular arc, as if the arch opening were centered on x = 0 + z: z center location of the arch + anglebeg: start angle of the arch, in radians, from vertical? + angleend: end angle of the arch, in radians, from vertical? + bevel: how much to bevel the inside of the arch. + vll: how long is the vertex list already? + """ + avlist = [] + aflist = [] + + # initialize internal variables for global settings + SetGrt = settings['g'] + SetGrtVar = settings['gv'] + SetDepth = settings['d'] + SetDepthVar = settings['dv'] + + # Init loop variables + + def bevelEdgeOffset(offsets, bevel, side): + """ + Take the block offsets and modify it for the correct bevel. + + offsets = the offset list. See MakeABlock + bevel = how much to offset the edge + side = -1 for left (right side), 1 for right (left side) + """ + left = (0, 2, 3) + right = (4, 6, 7) + if side == 1: + pointsToAffect = right + else: + pointsToAffect = left + for num in pointsToAffect: + offsets[num] = offsets[num][:] + offsets[num][0] += -bevel * side + + ArchInner = ra - rt / 2 + ArchOuter = ra + rt / 2 - SetGrt + rndc() * SetGrtVar + + DepthBack = - SetDepth / 2 - rndc() * SetDepthVar + DepthFront = SetDepth / 2 + rndc() * SetDepthVar + + if radialized: + subdivision = settings['sdv'] + else: + subdivision = 0.12 + + grt = (SetGrt + rndc() * SetGrtVar) / (2 * ra) # init grout offset for loop + # set up the offsets, it will be the same for every block + offsets = ([[0] * 2 + [bevel]] + [[0] * 3] * 3) * 2 + + # make the divisions in the "length" of the arch + divs = fill(archStart, archEnd, settings['w'] / ra, settings['wm'] / ra, settings['wv'] / ra) + + for i in range(len(divs) - 1): + if i == 0: + ThisOffset = offsets[:] + bevelEdgeOffset(ThisOffset, bevAngle, - 1) + elif i == len(divs) - 2: + ThisOffset = offsets[:] + bevelEdgeOffset(ThisOffset, bevAngle, 1) + else: + ThisOffset = offsets + + geom = MakeABlock( + [divs[i] + grt, divs[i + 1] - grt, ArchInner, ArchOuter, DepthBack, DepthFront], + subdivision, len(avlist) + vll, ThisOffset, [], None, ra + ) + + avlist += geom[0] + aflist += geom[1] + + if SetDepthVar: # vary depth + DepthBack = -SetDepth / 2 - rndc() * SetDepthVar + DepthFront = SetDepth / 2 + rndc() * SetDepthVar + + if SetGrtVar: # vary grout + grt = (settings['g'] + rndc() * SetGrtVar) / (2 * ra) + ArchOuter = ra + rt / 2 - SetGrt + rndc() * SetGrtVar + + for i, vert in enumerate(avlist): + v0 = vert[2] * sin(vert[0]) + x + v1 = vert[1] + v2 = vert[2] * cos(vert[0]) + z + + if radialized == 1: + if slope == 1: + r1 = dims['t'] * (sin(v2 * PI / (dims['t'] * 2))) + else: + r1 = v2 + v0 = v0 / r1 + + avlist[i] = [v0, v1, v2] + + return (avlist, aflist) + + +def sketch(): + __doc__ = """ \ + The 'sketch' function creates a list of openings from the general specifications passed to it. + It takes curved and domed walls into account, placing the openings at the appropriate angular locations + """ + boundlist = [] + for x in openingSpecs: + if x['rp']: + if radialized: + r1 = x['z'] + else: + r1 = 1 + + if x['x'] > (x['w'] + settings['wm']): + spacing = x['x'] / r1 + else: + spacing = (x['w'] + settings['wm']) / r1 + + minspacing = (x['w'] + settings['wm']) / r1 + + divs = fill(dims['s'], dims['e'], spacing, minspacing, center=1) + + for posidx in range(len(divs) - 2): + boundlist.append(opening(divs[posidx + 1], x['z'], x['w'], x['h'], + x['v'], x['t'], x['vl'], x['tl'], x['b'])) + else: + boundlist.append(opening(x['x'], x['z'], x['w'], x['h'], x['v'], x['t'], x['vl'], x['tl'], x['b'])) + # check for overlapping edges? + + return boundlist + + +def wedgeBlocks(row, opening, leftPos, rightPos, edgeBinary, r1): + __doc__ = """\ + Makes wedge blocks for the left and right sides, depending + example: + wedgeBlocks(row, LeftWedgeEdge, LNerEdge, LEB, r1) + wedgeBlocks(row, RNerEdge, RightWedgeEdge, REB, r1) + """ + wedgeEdges = fill(leftPos, rightPos, settings['w'] / r1, settings['wm'] / r1, + settings['wv'] / r1) + + for i in range(len(wedgeEdges) - 1): + x = (wedgeEdges[i + 1] + wedgeEdges[i]) / 2 + grt = (settings['g'] + rndd() * settings['gv']) / r1 + w = wedgeEdges[i + 1] - wedgeEdges[i] - grt + + ThisBlockDepth = rndd() * settings['dv'] + settings['d'] + + # edgeV may return "None" - causing TypeError for math op. + # use 0 until wedgeBlocks operation worked out + edgeVal = opening.edgeV(x - w / 2, edgeBinary) + if edgeVal is None: + edgeVal = 0.0 + + LeftVertOffset = -(row.z - (row.h / 2) * edgeBinary - edgeVal) + + # edgeV may return "None" - causing TypeError for math op. + # use 0 until wedgeBlocks operation worked out + edgeVal = opening.edgeV(x + w / 2, edgeBinary) + if edgeVal is None: + edgeVal = 0.0 + + RightVertOffset = -(row.z - (row.h / 2) * edgeBinary - edgeVal) + + # Wedges are on top = off, blank, off, blank + # Wedges are on btm = blank, off, blank, off + ThisBlockOffsets = [[0, 0, LeftVertOffset]] * 2 + [[0] * 3] * 2 + [[0, 0, RightVertOffset]] * 2 + + # Insert or append "blank" for top or bottom wedges. + if edgeBinary == 1: + ThisBlockOffsets = ThisBlockOffsets + [[0] * 3] * 2 + else: + ThisBlockOffsets = [[0] * 3] * 2 + ThisBlockOffsets + + row.BlocksEdge.append([x, row.z, w, row.h, ThisBlockDepth, ThisBlockOffsets]) + + return None + + +def bevelBlockOffsets(offsets, bevel, side): + """ + Take the block offsets and modify it for the correct bevel. + + offsets = the offset list. See MakeABlock + bevel = how much to offset the edge + side = -1 for left (right side), 1 for right (left side) + """ + if side == 1: + pointsToAffect = (0, 2) # right + else: + pointsToAffect = (4, 6) # left + for num in pointsToAffect: + offsets[num] = offsets[num][:] + offsets[num][0] += bevel * side + + +def rowProcessing(row, Thesketch, WallBoundaries): + __doc__ = """\ + Take row and opening data and process a single row, adding edge and fill blocks to the row data. + """ + # set end blocks + # check for openings, record top and bottom of row for right and left of each + # if both top and bottom intersect create blocks on each edge, appropriate to the size of the overlap + # if only one side intersects, run fill to get edge positions, but this should never happen + + if radialized: # this checks for radial stonework, and sets the row radius if required + if slope: + r1 = abs(dims['t'] * sin(row.z * PI / (dims['t'] * 2))) + else: + r1 = abs(row.z) + else: + r1 = 1 + + # set the edge grout thickness, especially with radial stonework in mind + edgrt = settings['ge'] * (settings['g'] / 2 + rndc() * settings['gv']) / (2 * r1) + + # Sets up a list of intersections of top of row with openings, + # from left to right [left edge of opening, right edge of opening, etc...] + # initially just the left and right edge of the wall + edgetop = [[dims['s'] + row.EdgeOffset / r1 + edgrt, WallBoundaries], + [dims['e'] + row.EdgeOffset / r1 - edgrt, WallBoundaries]] + + # Same as edgetop, but for the bottms of the rows + edgebtm = [[dims['s'] + row.EdgeOffset / r1 + edgrt, WallBoundaries], + [dims['e'] + row.EdgeOffset / r1 - edgrt, WallBoundaries]] + + # set up some useful values for the top and bottom of the rows. + rowTop = row.z + row.h / 2 + rowBtm = row.z - row.h / 2 + + for hole in Thesketch: + # check the top and bottom of the row, looking at the opening from the right + e = [hole.edgeS(rowTop, -1), hole.edgeS(rowBtm, -1)] + + # If either one hit the opening, make split points for the left side of the opening. + if e[0] or e[1]: + e += [hole.edgeS(rowTop, 1), hole.edgeS(rowBtm, 1)] + + # If one of them missed for some reason, set that value to + # the middle of the opening. + for i, pos in enumerate(e): + if pos is None: + e[i] = hole.x + + # add the intersects to the list of edge points + edgetop.append([e[0], hole]) + edgetop.append([e[2], hole]) + edgebtm.append([e[1], hole]) + edgebtm.append([e[3], hole]) + + # We want to make the walls in order, so sort the intersects. + # This is where you would want to remove edge points that are out of order + # so that you don't get the "oddity where overlapping openings + # create blocks inversely" problem + + # Note: sort ended up comparing function pointers + # if both Openings and Slots were enabled with Repeats in one of them + try: + edgetop.sort(key=lambda x: x[0]) + edgebtm.sort(key=lambda x: x[0]) + except Exception as ex: + debug_prints(func="rowProcessing", + text="Sorting has failed", var=ex) + + # these two loops trim the edges to the limits of the wall. + # This way openings extending outside the wall don't enlarge the wall. + while True: + try: + if ((edgetop[-1][0] > dims['e'] + row.EdgeOffset / r1) or + (edgebtm[-1][0] > dims['e'] + row.EdgeOffset / r1)): + edgetop[-2:] = [] + edgebtm[-2:] = [] + else: + break + except IndexError: + break + # still trimming the edges... + while True: + try: + if ((edgetop[0][0] < dims['s'] + row.EdgeOffset / r1) or + (edgebtm[0][0] < dims['s'] + row.EdgeOffset / r1)): + edgetop[:2] = [] + edgebtm[:2] = [] + else: + break + except IndexError: + break + + # make those edge blocks and rows! Wooo! + # This loop goes through each section, (a pair of points in edgetop) + # and places the edge blocks and inbetween normal block zones into the row object + for OpnSplitNo in range(int(len(edgetop) / 2)): + # left edge is edge[2*OpnSplitNo], right edge edgex[2*OpnSplitNo+1] + leftEdgeIndex = 2 * OpnSplitNo + rightEdgeIndex = 2 * OpnSplitNo + 1 + + # get the openings, to save time and confusion + leftOpening = edgetop[leftEdgeIndex][1] + rightOpening = edgetop[rightEdgeIndex][1] + + # find the difference between the edge top and bottom on both sides + LTop = edgetop[leftEdgeIndex][0] + LBtm = edgebtm[leftEdgeIndex][0] + RTop = edgetop[rightEdgeIndex][0] + RBtm = edgebtm[rightEdgeIndex][0] + LDiff = LBtm - LTop + RDiff = RTop - RBtm + + # which is further out on each side, top or bottom? + if LDiff > 0: + LNerEdge = LBtm # the nearer edge left + LEB = 1 # Left Edge Boolean, set to 1 if furthest edge is top, -1 if it is bottom + else: + LNerEdge = LTop + LEB = -1 + + if RDiff > 0: + RNerEdge = RBtm # the nearer edge right + REB = 1 # Right Edge Boolean, set to 1 if furthest edge is top, -1 if it is bottom + + else: + RNerEdge = RTop + REB = -1 # Right Edge Boolean, set to 1 if furthest edge is top, -1 if it is bottom + + # The space between the closest edges of the openings in this section of the row + InnerDiff = RNerEdge - LNerEdge + # The mid point between the nearest edges + InnerMid = (RNerEdge + LNerEdge) / 2 + + # maximum distance to span with one block + MaxWid = (settings['w'] + settings['wv']) / r1 + AveWid = settings['w'] + + # check the left and right sides for wedge blocks + # Check and run the left edge first + # find the edge of the correct side, offset for minimum block height. The LEB decides top or bottom + ZPositionCheck = row.z + (row.h / 2 - settings['hm']) * LEB + + # edgeS may return "None" + LeftWedgeEdge = leftOpening.edgeS(ZPositionCheck, 1) + + if (abs(LDiff) > AveWid) or (not LeftWedgeEdge): + # make wedge blocks + if not LeftWedgeEdge: + LeftWedgeEdge = leftOpening.x + wedgeBlocks(row, leftOpening, LeftWedgeEdge, LNerEdge, LEB, r1) + # set the near and far edge settings to vertical, so the other edge blocks don't interfere + LTop, LBtm = LNerEdge, LNerEdge + LDiff = 0 + + # Now do the wedge blocks for the right, same drill... repeated code? + # find the edge of the correct side, offset for minimum block height. The REB decides top or bottom + ZPositionCheck = row.z + (row.h / 2 - settings['hm']) * REB + + # edgeS may return "None" + RightWedgeEdge = rightOpening.edgeS(ZPositionCheck, -1) + if (abs(RDiff) > AveWid) or (not RightWedgeEdge): + # make wedge blocks + if not RightWedgeEdge: + RightWedgeEdge = rightOpening.x + wedgeBlocks(row, rightOpening, RNerEdge, RightWedgeEdge, REB, r1) + # set the near and far edge settings to vertical, so the other edge blocks don't interfere + RTop, RBtm = RNerEdge, RNerEdge + RDiff = 0 + + # Check to see if the edges are close enough toegther to warrant a single block filling it + if (InnerDiff < MaxWid): + # if this is true, then this row is just one block! + x = (LNerEdge + RNerEdge) / 2. + w = InnerDiff + ThisBlockDepth = rndd() * settings['dv'] + settings['d'] + BtmOff = LBtm - LNerEdge + TopOff = LTop - LNerEdge + ThisBlockOffsets = [[BtmOff, 0, 0]] * 2 + [[TopOff, 0, 0]] * 2 + BtmOff = RBtm - RNerEdge + TopOff = RTop - RNerEdge + ThisBlockOffsets += [[BtmOff, 0, 0]] * 2 + [[TopOff, 0, 0]] * 2 + bevel = leftOpening.edgeBev(rowTop) + bevelBlockOffsets(ThisBlockOffsets, bevel, 1) + bevel = rightOpening.edgeBev(rowTop) + bevelBlockOffsets(ThisBlockOffsets, bevel, -1) + row.BlocksEdge.append([x, row.z, w, row.h, ThisBlockDepth, ThisBlockOffsets]) + continue + + # it's not one block, must be two or more + # set up the offsets for the left + BtmOff = LBtm - LNerEdge + TopOff = LTop - LNerEdge + leftOffsets = [[BtmOff, 0, 0]] * 2 + [[TopOff, 0, 0]] * 2 + [[0] * 3] * 4 + bevelL = leftOpening.edgeBev(rowTop) + bevelBlockOffsets(leftOffsets, bevelL, 1) + # and now for the right + BtmOff = RBtm - RNerEdge + TopOff = RTop - RNerEdge + rightOffsets = [[0] * 3] * 4 + [[BtmOff, 0, 0]] * 2 + [[TopOff, 0, 0]] * 2 + bevelR = rightOpening.edgeBev(rowTop) + bevelBlockOffsets(rightOffsets, bevelR, -1) + # check to see if it is only two blocks + if (InnerDiff < MaxWid * 2): + # this row is just two blocks! Left block, then right block + # div is the x position of the dividing point between the two bricks + div = InnerMid + (rndd() * settings['wv']) / r1 + # set the grout distance, since we need grout separation between the blocks + grt = (settings['g'] + rndc() * settings['gv']) / r1 + # set the x position and width for the left block + x = (div + LNerEdge) / 2 - grt / 4 + w = (div - LNerEdge) - grt / 2 + ThisBlockDepth = rndd() * settings['dv'] + settings['d'] + # For reference: EdgeBlocks = [[x, z, w, h, d, [corner offset matrix]], [etc.]] + row.BlocksEdge.append([x, row.z, w, row.h, ThisBlockDepth, leftOffsets]) + # Initialize for the block on the right side + x = (div + RNerEdge) / 2 + grt / 4 + w = (RNerEdge - div) - grt / 2 + ThisBlockDepth = rndd() * settings['dv'] + settings['d'] + row.BlocksEdge.append([x, row.z, w, row.h, ThisBlockDepth, rightOffsets]) + continue + + # program should only get here if there are more than two blocks in the row, and no wedge blocks + # make Left edge block + # set the grout + grt = (settings['g'] + rndc() * settings['gv']) / r1 + # set the x position and width for the left block + widOptions = [settings['w'], bevelL + settings['wm'], leftOpening.ts] + baseWid = max(widOptions) + w = (rndd() * settings['wv'] + baseWid + row. EdgeOffset) + widOptions[0] = settings['wm'] + widOptions[2] = w + w = max(widOptions) / r1 - grt + x = w / 2 + LNerEdge + grt / 2 + BlockRowL = x + w / 2 + ThisBlockDepth = rndd() * settings['dv'] + settings['d'] + row.BlocksEdge.append([x, row.z, w, row.h, ThisBlockDepth, leftOffsets]) + + # make Right edge block + # set the grout + grt = (settings['g'] + rndc() * settings['gv']) / r1 + # set the x position and width for the left block + widOptions = [settings['w'], bevelR + settings['wm'], rightOpening.ts] + baseWid = max(widOptions) + w = (rndd() * settings['wv'] + baseWid + row.EdgeOffset) + widOptions[0] = settings['wm'] + widOptions[2] = w + w = max(widOptions) / r1 - grt + x = RNerEdge - w / 2 - grt / 2 + BlockRowR = x - w / 2 + ThisBlockDepth = rndd() * settings['dv'] + settings['d'] + row.BlocksEdge.append([x, row.z, w, row.h, ThisBlockDepth, rightOffsets]) + + row.RowSegments.append([BlockRowL, BlockRowR]) + return None + + +def plan(Thesketch, oldrows=0): + __doc__ = """\ + The 'plan' function takes the data generated by the sketch function and the global settings + and creates a list of blocks. + It passes out a list of row heights, edge positions, edge blocks, and rows of blocks. + """ + # if we were passed a list of rows already, use those; else make a list. + if oldrows: + rows = oldrows + else: + # rows holds the important information common to all rows + # rows = [list of row objects] + rows = [] + + # splits are places where we NEED a row division, to accommodate openings + # add a split for the bottom row + splits = [dims['b'] + settings['hb']] + + # add a split for each critical point on each opening + for hole in Thesketch: + splits += hole.crits() + + # and, a split for the top row + splits.append(dims['t'] - settings['ht']) + splits.sort() + + # divs are the normal old row divisions, add them between the top and bottom split + divs = fill(splits[0], splits[-1], settings['h'], settings['hm'] + settings['g'], settings['hv'])[1: -1] + + # remove the divisions that are too close to the splits, so we don't get tiny thin rows + for i in range(len(divs) - 1, -1, -1): + for j in range(len(splits)): + diff = abs(divs[i] - splits[j]) + if diff < (settings['h'] - settings['hv'] + settings['g']): + del(divs[i]) + break + + # now merge the divs and splits lists + divs += splits + + # add bottom and/or top points, if bottom and/or top row heights are more than zero + if settings['hb'] > 0: + divs.insert(0, dims['b']) + if settings['ht'] > 0: + divs.append(dims['t']) + + divs.sort() + + # trim the rows to the bottom and top of the wall + if divs[0] < dims['b']: + divs[:1] = [] + if divs[-1] > dims['t']: + divs[-1:] = [] + + # now, make the data for each row + # rows = [[center height,row height,edge offset],[etc.]] + + divCount = len(divs) - 1 # number of divs to check + divCheck = 0 # current div entry + + while divCheck < divCount: + RowZ = (divs[divCheck] + divs[divCheck + 1]) / 2 + RowHeight = divs[divCheck + 1] - divs[divCheck] - settings['g'] + rndc() * \ + settings['rwhl'] * settings['gv'] + EdgeOffset = settings['eoff'] * (fmod(divCheck, 2) - 0.5) + settings['eoffv'] * rndd() + + # if row height is too shallow: delete next div entry, decrement total, and recheck current entry. + if RowHeight < settings['hm']: + del(divs[divCheck + 1]) + divCount -= 1 # Adjust count for removed div entry. + continue + + rows.append(rowOb(RowZ, RowHeight, EdgeOffset)) + + divCheck += 1 # on to next div entry + + # set up a special opening object to handle the edges of the wall + x = (dims['s'] + dims['e']) / 2 + z = (dims['t'] + dims['b']) / 2 + w = (dims['e'] - dims['s']) + h = (dims['t'] - dims['b']) + WallBoundaries = openingInvert(x, z, w, h) + + # Go over each row in the list, set up edge blocks and block sections + for rownum in range(len(rows)): + rowProcessing(rows[rownum], Thesketch, WallBoundaries) + + # now return the things everyone needs + # return [rows,edgeBlocks,blockRows,Asketch] + return [rows, Thesketch] + + +def archGeneration(hole, vlist, flist, sideSign): + __doc__ = """\ + Makes arches for the top and bottom, depending on sideSign + example, Lower arch: + archGeneration(hole, vlist, flist, -1) + example, Upper arch: + archGeneration(hole, vlist, flist, 1) + hole is the opening object that the arch is for + add the vertices to vlist + add the faces to flist + sideSign is + or - 1, for the top or bottom arch. Other values may cause errors. + """ + + # working arrays for vectors and faces + avlist = [] + aflist = [] + + # Top (1) or bottom (-1) + if sideSign == -1: + r = hole.rl # radius of the arch + rt = hole.rtl # thickness of the arch (stone height) + v = hole.vl # height of the arch + c = hole.cl + else: + r = hole.r # radius of the arch + rt = hole.rt # thickness of the arch (stone height) + v = hole.v # height of the arch + c = hole.c + + ra = r + rt / 2 # average radius of the arch + x = hole.x + w = hole.w + h = hole.h + z = hole.z + bev = hole.b + sideSignInv = -sideSign + + if v > w / 2: # two arcs, to make a pointed arch + # positioning + zpos = z + (h / 2) * sideSign + xoffset = r - w / 2 + # left side top, right side bottom + # angles reference straight up, and are in radians + bevRad = r + bev + bevHt = sqrt(bevRad ** 2 - (bevRad - (w / 2 + bev)) ** 2) + midHalfAngle = atan(v / (r - w / 2)) + midHalfAngleBevel = atan(bevHt / (r - w / 2)) + bevelAngle = midHalfAngle - midHalfAngleBevel + anglebeg = (PI / 2) * (sideSignInv) + angleend = (PI / 2) * (sideSignInv) + midHalfAngle + + avlist, aflist = arch(ra, rt, (xoffset) * (sideSign), zpos, anglebeg, angleend, bev, bevelAngle, len(vlist)) + + for i, vert in enumerate(avlist): + avlist[i] = [vert[0] + hole.x, vert[1], vert[2]] + vlist += avlist + flist += aflist + + # right side top, left side bottom + + # angles reference straight up, and are in radians + anglebeg = (PI / 2) * (sideSign) - midHalfAngle + angleend = (PI / 2) * (sideSign) + + avlist, aflist = arch(ra, rt, (xoffset) * (sideSignInv), zpos, anglebeg, angleend, bev, bevelAngle, len(vlist)) + + for i, vert in enumerate(avlist): + avlist[i] = [vert[0] + hole.x, vert[1], vert[2]] + + vlist += avlist + flist += aflist + + # keystone + Dpth = settings['d'] + rndc() * settings['dv'] + Grout = settings['g'] + rndc() * settings['gv'] + angleBevel = (PI / 2) * (sideSign) - midHalfAngle + Wdth = (rt - Grout - bev) * 2 * sin(angleBevel) * sideSign # note, sin may be negative + MidZ = ((sideSign) * (bevHt + h / 2.0) + z) + (rt - Grout - bev) \ + * cos(angleBevel) # note, cos may come out negative + nearCorner = sideSign * (MidZ - z) - v - h / 2 + + if sideSign == 1: + TopHt = hole.top() - MidZ - Grout + BtmHt = nearCorner + else: + BtmHt = - (hole.btm() - MidZ) - Grout + TopHt = nearCorner + + # set the amount to bevel the keystone + keystoneBevel = (bevHt - v) * sideSign + if Wdth >= settings['hm']: + avlist, aflist = MakeAKeystone(x, Wdth, MidZ, TopHt, BtmHt, Dpth, keystoneBevel, len(vlist)) + + if radialized: + for i, vert in enumerate(avlist): + if slope: + r1 = dims['t'] * sin(vert[2] * PI / (dims['t'] * 2)) + else: + r1 = vert[2] + avlist[i] = [((vert[0] - hole.x) / r1) + hole.x, vert[1], vert[2]] + + vlist += avlist + flist += aflist + # remove "debug note" once bevel is finalized. + else: + debug_prints(func="archGeneration", + text="Keystone was too narrow - " + str(Wdth)) + + else: # only one arc - curve not peak. + # bottom (sideSign -1) arch has poorly sized blocks... + + zpos = z + (sideSign * (h / 2 + v - r)) # single arc positioning + + # angles reference straight up, and are in radians + if sideSign == -1: + angleOffset = PI + else: + angleOffset = 0.0 + + if v < w / 2: + halfangle = atan(w / (2 * (r - v))) + + anglebeg = angleOffset - halfangle + angleend = angleOffset + halfangle + else: + anglebeg = angleOffset - PI / 2 + angleend = angleOffset + PI / 2 + + avlist, aflist = arch(ra, rt, 0, zpos, anglebeg, angleend, bev, 0.0, len(vlist)) + + for i, vert in enumerate(avlist): + avlist[i] = [vert[0] + x, vert[1], vert[2]] + + vlist += avlist + flist += aflist + + # Make the Side Stones + grt = (settings['g'] + rndc() * settings['gv']) + width = sqrt(rt ** 2 - c ** 2) - grt + + if c > settings['hm'] + grt and c < width + grt: + if radialized: + subdivision = settings['sdv'] * (zpos + (h / 2) * sideSign) + else: + subdivision = settings['sdv'] + + # set the height of the block, it should be as high as the max corner position, minus grout + height = c - grt * (0.5 + c / (width + grt)) + + # the vertical offset for the short side of the block + voff = sideSign * (settings['hm'] - height) + xstart = w / 2 + zstart = z + sideSign * (h / 2 + grt / 2) + woffset = width * (settings['hm'] + grt / 2) / (c - grt / 2) + depth = rndd() * settings['dv'] + settings['d'] + + if sideSign == 1: + offsets = [[0] * 3] * 6 + [[0] * 2 + [voff]] * 2 + topSide = zstart + height + btmSide = zstart + else: + offsets = [[0] * 3] * 4 + [[0] * 2 + [voff]] * 2 + [[0] * 3] * 2 + topSide = zstart + btmSide = zstart - height + # Do some stuff to incorporate bev here + bevelBlockOffsets(offsets, bev, -1) + + avlist, aflist = MakeABlock( + [x - xstart - width, x - xstart - woffset, btmSide, topSide, + -depth / 2, depth / 2], subdivision, len(vlist), + Offsets=offsets, xBevScl=1 + ) + + # top didn't use radialized in prev version; + # just noting for clarity - may need to revise for "sideSign == 1" + if radialized: + for i, vert in enumerate(avlist): + avlist[i] = [((vert[0] - x) / vert[2]) + x, vert[1], vert[2]] + + vlist += avlist + flist += aflist + + # keep sizing same - neat arches = master masons :) + # grt = (settings['g'] + rndc()*settings['gv']) + # height = c - grt*(0.5 + c/(width + grt)) + # if grout varies may as well change width too... width = sqrt(rt**2 - c**2) - grt + # voff = sideSign * (settings['hm'] - height) + # woffset = width*(settings['hm'] + grt/2)/(c - grt/2) + + if sideSign == 1: + offsets = [[0] * 3] * 2 + [[0] * 2 + [voff]] * 2 + [[0] * 3] * 4 + topSide = zstart + height + btmSide = zstart + else: + offsets = [[0] * 2 + [voff]] * 2 + [[0] * 3] * 6 + topSide = zstart + btmSide = zstart - height + # Do some stuff to incorporate bev here + bevelBlockOffsets(offsets, bev, 1) + + avlist, aflist = MakeABlock( + [x + xstart + woffset, x + xstart + width, btmSide, topSide, + -depth / 2, depth / 2], subdivision, len(vlist), + Offsets=offsets, xBevScl=1 + ) + + # top didn't use radialized in prev version; + # just noting for clarity - may need to revise for "sideSign == 1" + if radialized: + for i, vert in enumerate(avlist): + avlist[i] = [((vert[0] - x) / vert[2]) + x, vert[1], vert[2]] + + vlist += avlist + flist += aflist + return None + + +def build(Aplan): + __doc__ = """\ + Build creates the geometry for the wall, based on the + "Aplan" object from the "plan" function. If physics is + enabled, then it make a number of individual blocks with + physics interaction enabled. Otherwise it creates + geometry for the blocks, arches, etc. of the wall. + """ + vlist = [] + flist = [] + rows = Aplan[0] + + # all the edge blocks, redacted + # AllBlocks = [[x, z, w, h, d, [corner offset matrix]], [etc.]] + + # loop through each row, adding the normal old blocks + for rowidx in range(len(rows)): + rows[rowidx].FillBlocks() + + AllBlocks = [] + + # If the wall is set to merge blocks, check all the blocks to see if you can merge any + # seems to only merge vertical, should do horizontal too + if bigBlock: + for rowidx in range(len(rows) - 1): + if radialized: + if slope: + r1 = dims['t'] * sin(abs(rows[rowidx].z) * PI / (dims['t'] * 2)) + else: + r1 = abs(rows[rowidx].z) + else: + r1 = 1 + + Tolerance = settings['g'] / r1 + idxThis = len(rows[rowidx].BlocksNorm[:]) - 1 + idxThat = len(rows[rowidx + 1].BlocksNorm[:]) - 1 + + while True: + # end loop when either array idx wraps + if idxThis < 0 or idxThat < 0: + break + + blockThis = rows[rowidx].BlocksNorm[idxThis] + blockThat = rows[rowidx + 1].BlocksNorm[idxThat] + + # seems to only merge vertical, should do horizontal too... + cx, cz, cw, ch, cd = blockThis[:5] + ox, oz, ow, oh, od = blockThat[:5] + + if (abs(cw - ow) < Tolerance) and (abs(cx - ox) < Tolerance): + if cw > ow: + BlockW = ow + else: + BlockW = cw + + AllBlocks.append([(cx + ox) / 2, (cz + oz + (oh - ch) / 2) / 2, + BlockW, abs(cz - oz) + (ch + oh) / 2, (cd + od) / 2, None]) + + rows[rowidx].BlocksNorm.pop(idxThis) + rows[rowidx + 1].BlocksNorm.pop(idxThat) + idxThis -= 1 + idxThat -= 1 + + elif cx > ox: + idxThis -= 1 + else: + idxThat -= 1 + + # Add blocks to create a "shelf/platform". + # Does not account for openings (crosses gaps - which is a good thing) + if shelfExt: + SetGrtOff = settings['g'] / 2 # half grout for block size modifier + + # Use wall block settings for shelf + SetBW = settings['w'] + SetBWVar = settings['wv'] + SetBWMin = settings['wm'] + SetBH = settings['h'] + + # Shelf area settings + ShelfLft = shelfSpecs['x'] + ShelfBtm = shelfSpecs['z'] + ShelfEnd = ShelfLft + shelfSpecs['w'] + ShelfTop = ShelfBtm + shelfSpecs['h'] + ShelfThk = shelfSpecs['d'] * 2 # use double-depth due to offsets to position at cursor. + + # Use "corners" to adjust position so not centered on depth. + # Facing shelf, at cursor (middle of wall blocks) + # - this way no gaps between platform and wall face due to wall block depth. + wallDepth = settings['d'] / 2 # offset by wall depth so step depth matches UI setting :) + if shelfBack: # place blocks on backside of wall + ShelfOffsets = [ + [0, ShelfThk / 2, 0], [0, wallDepth, 0], + [0, ShelfThk / 2, 0], [0, wallDepth, 0], + [0, ShelfThk / 2, 0], [0, wallDepth, 0], + [0, ShelfThk / 2, 0], [0, wallDepth, 0] + ] + else: + ShelfOffsets = [ + [0, -wallDepth, 0], [0, -ShelfThk / 2, 0], + [0, -wallDepth, 0], [0, -ShelfThk / 2, 0], + [0, -wallDepth, 0], [0, -ShelfThk / 2, 0], + [0, -wallDepth, 0], [0, -ShelfThk / 2, 0] + ] + + # Add blocks for each "shelf row" in area + while ShelfBtm < ShelfTop: + + # Make blocks for each row - based on rowOb::fillblocks + # Does not vary grout. + divs = fill(ShelfLft, ShelfEnd, SetBW, SetBWMin, SetBWVar) + + # loop through the row divisions, adding blocks for each one + for i in range(len(divs) - 1): + ThisBlockx = (divs[i] + divs[i + 1]) / 2 + ThisBlockw = divs[i + 1] - divs[i] - SetGrtOff + + AllBlocks.append([ThisBlockx, ShelfBtm, ThisBlockw, SetBH, ShelfThk, ShelfOffsets]) + + ShelfBtm += SetBH + SetGrtOff # moving up to next row... + + # Add blocks to create "steps". + # Does not account for openings (crosses gaps - which is a good thing) + if stepMod: + SetGrtOff = settings['g'] / 2 # half grout for block size modifier + + # Vary block width by wall block variations. + SetWidVar = settings['wv'] + SetWidMin = settings['wm'] + + StepXMod = stepSpecs['t'] # width of step/tread, also sets basic block size. + StepZMod = stepSpecs['v'] + + StepLft = stepSpecs['x'] + StepRt = stepSpecs['x'] + stepSpecs['w'] + StepBtm = stepSpecs['z'] + StepZMod / 2 # Start offset for centered blocks + StepWide = stepSpecs['w'] + StepTop = StepBtm + stepSpecs['h'] + StepThk = stepSpecs['d'] * 2 # use double-depth due to offsets to position at cursor. + + # Use "corners" to adjust steps so not centered on depth. + # Facing steps, at cursor (middle of wall blocks) + # - this way no gaps between steps and wall face due to wall block depth. + # Also, will work fine as stand-alone if not used with wall (try block depth 0 and see what happens). + wallDepth = settings['d'] / 2 + if stepBack: # place blocks on backside of wall + StepOffsets = [ + [0, StepThk / 2, 0], [0, wallDepth, 0], + [0, StepThk / 2, 0], [0, wallDepth, 0], + [0, StepThk / 2, 0], [0, wallDepth, 0], + [0, StepThk / 2, 0], [0, wallDepth, 0] + ] + else: + StepOffsets = [ + [0, -wallDepth, 0], [0, -StepThk / 2, 0], + [0, -wallDepth, 0], [0, -StepThk / 2, 0], + [0, -wallDepth, 0], [0, -StepThk / 2, 0], + [0, -wallDepth, 0], [0, -StepThk / 2, 0] + ] + + # Add steps for each "step row" in area (neg width is interesting but prevented) + while StepBtm < StepTop and StepWide > 0: + + # Make blocks for each step row - based on rowOb::fillblocks + # Does not vary grout. + + if stepOnly: # "cantilevered steps" + if stepLeft: + stepStart = StepRt - StepXMod + else: + stepStart = StepLft + + AllBlocks.append([stepStart, StepBtm, StepXMod, StepZMod, StepThk, StepOffsets]) + else: + divs = fill(StepLft, StepRt, StepXMod, SetWidMin, SetWidVar) + + # loop through the row divisions, adding blocks for each one + for i in range(len(divs) - 1): + ThisBlockx = (divs[i] + divs[i + 1]) / 2 + ThisBlockw = divs[i + 1] - divs[i] - SetGrtOff + + AllBlocks.append([ThisBlockx, StepBtm, ThisBlockw, StepZMod, StepThk, StepOffsets]) + + StepBtm += StepZMod + SetGrtOff # moving up to next row... + StepWide -= StepXMod # reduce step width + + # adjust side limit depending on direction of steps + if stepLeft: + StepRt -= StepXMod # move in from right + else: + StepLft += StepXMod # move in from left + + # Copy all the blocks out of the rows + for row in rows: + AllBlocks += row.BlocksEdge + AllBlocks += row.BlocksNorm + + # This loop makes individual blocks for each block specified in the plan + for block in AllBlocks: + x, z, w, h, d, corners = block + if radialized: + if slope: + r1 = dims['t'] * sin(z * PI / (dims['t'] * 2)) + else: + r1 = z + else: + r1 = 1 + + geom = MakeABlock([x - w / 2, x + w / 2, z - h / 2, z + h / 2, -d / 2, d / 2], + settings['sdv'], len(vlist), + corners, None, settings['b'] + rndd() * settings['bv'], r1) + vlist += geom[0] + flist += geom[1] + + # This loop makes Arches for every opening specified in the plan. + for hole in Aplan[1]: + # lower arch stones + if hole.vl > 0 and hole.rtl > (settings['g'] + settings['hm']): # make lower arch blocks + archGeneration(hole, vlist, flist, -1) + + # top arch stones + if hole.v > 0 and hole.rt > (settings['g'] + settings['hm']): # make upper arch blocks + archGeneration(hole, vlist, flist, 1) + + # Warp all the points for domed stonework + if slope: + for i, vert in enumerate(vlist): + vlist[i] = [vert[0], (dims['t'] + vert[1]) * cos(vert[2] * PI / (2 * dims['t'])), + (dims['t'] + vert[1]) * sin(vert[2] * PI / (2 * dims['t']))] + + # Warp all the points for radial stonework + if radialized: + for i, vert in enumerate(vlist): + vlist[i] = [vert[2] * cos(vert[0]), vert[2] * sin(vert[0]), vert[1]] + + return vlist, flist + + +# The main function +def createWall(radial, curve, openings, mergeBlox, shelf, shelfSide, + steps, stepDir, stepBare, stepSide): + __doc__ = """\ + Call all the functions you need to make a wall, return the verts and faces. + """ + global radialized + global slope + global openingSpecs + global bigBlock + global shelfExt + global stepMod + global stepLeft + global shelfBack + global stepOnly + global stepBack + + # set all the working variables from passed parameters + + radialized = radial + slope = curve + openingSpecs = openings + bigBlock = mergeBlox + shelfExt = shelf + stepMod = steps + stepLeft = stepDir + shelfBack = shelfSide + stepOnly = stepBare + stepBack = stepSide + + asketch = sketch() + aplan = plan(asketch, 0) + + return build(aplan) diff --git a/extensions/blender_org/extra_mesh_objects/Wallfactory.py b/extensions/blender_org/extra_mesh_objects/Wallfactory.py new file mode 100644 index 0000000..ce6f714 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/Wallfactory.py @@ -0,0 +1,979 @@ +# SPDX-FileCopyrightText: 2016-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# authors: dudecon, jambay + +# This module contains the UI definition, display, +# and processing (create mesh) functions. +# The routines to generate the vertices for the wall +# are found in the "Blocks" module. + + +import bpy +from bpy.types import Operator +from bpy.props import ( + BoolProperty, + FloatProperty, + StringProperty, + ) +from .Blocks import ( + NOTZERO, PI, + dims, + settings, + shelfSpecs, + stepSpecs, + createWall, + radialized, + slope, + openingSpecs, + bigBlock, + shelfExt, + stepMod, + stepLeft, + shelfBack, + stepOnly, + stepBack, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + +class add_mesh_wallb(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.wall_add" + bl_label = "Add a Masonry Wall" + bl_description = "Create a block (masonry) wall mesh" + bl_options = {'REGISTER', 'UNDO'} + + # UI items - API for properties - User accessible variables... + # not all options are via UI, and some operations just don't work yet + + Wall : BoolProperty(name = "Wall", + default = True, + description = "Wall") + + #### change properties + name : StringProperty(name = "Name", + description = "Name") + + change : BoolProperty(name = "Change", + default = False, + description = "change Wall") + + # only create object when True + # False allows modifying several parameters without creating object + ConstructTog: BoolProperty( + name="Construct", + description="Generate the object", + default=True + ) + # need to modify so radial makes a tower (normal); + # want "flat" setting to make disk (alternate) + # make the wall circular - if not sloped it's a flat disc + RadialTog: BoolProperty( + name="Radial", + description="Make masonry radial", + default=False + ) + # curve the wall - if radial creates dome. + SlopeTog: BoolProperty( + name="Curved", + description="Make masonry sloped, or curved", + default=False + ) + # need to review defaults and limits for all of these UI objects + + # wall area/size + WallStart: FloatProperty( + name="Start", + description="Left side, or start angle", + default=-10.0, + min=-100, max=100.0 + ) + WallEnd: FloatProperty( + name="End", + description="Right side, or end angle", + default=10.0, + min=0.0, max=100.0 + ) + WallBottom: FloatProperty( + name="Bottom", + description="Lower height or radius", + default=0.0, + min=-100, max=100 + ) + WallTop: FloatProperty( + name="Top", + description="Upper height or radius", + default=15.0, + min=0.0, max=100.0 + ) + EdgeOffset: FloatProperty( + name="Edging", + description="Block staggering on wall sides", + default=0.6, min=0.0, max=100.0 + ) + # block sizing + Width: FloatProperty( + name="Width", + description="Average width of each block", + default=1.5, + min=0.01, max=100.0 + ) + WidthVariance: FloatProperty( + name="Variance", + description="Random variance of block width", + default=0.5, + min=0.0, max=100.0 + ) + WidthMinimum: FloatProperty( + name="Minimum", + description="Absolute minimum block width", + default=0.5, + min=0.01, max=100.0 + ) + Height: FloatProperty( + name="Height", + description="Average Height of each block", + default=0.7, + min=0.01, max=100.0 + ) + HeightVariance: FloatProperty( + name="Variance", + description="Random variance of block Height", + default=0.3, + min=0.0, max=100.0 + ) + HeightMinimum: FloatProperty( + name="Minimum", + description="Absolute minimum block Height", + default=0.25, + min=0.01, max=100.0 + ) + Depth: FloatProperty( + name="Depth", + description="Average Depth of each block", + default=2.0, + min=0.01, max=100.0 + ) + DepthVariance: FloatProperty( + name="Variance", + description="Random variance of block Depth", + default=0.1, + min=0.0, max=100.0 + ) + DepthMinimum: FloatProperty( + name="Minimum", + description="Absolute minimum block Depth", + default=1.0, + min=0.01, max=100.0 + ) + MergeBlock: BoolProperty( + name="Merge Blocks", + description="Make big blocks (merge closely adjoining blocks)", + default=False + ) + # edging for blocks + Grout: FloatProperty( + name="Thickness", + description="Distance between blocks", + default=0.1, + min=-10.0, max=10.0 + ) + GroutVariance: FloatProperty( + name="Variance", + description="Random variance of block Grout", + default=0.03, + min=0.0, max=100.0 + ) + GroutDepth: FloatProperty( + name="Depth", + description="Grout Depth from the face of the blocks", + default=0.1, + min=0.0001, max=10.0 + ) + GroutDepthVariance: FloatProperty( + name="Variance", + description="Random variance of block Grout Depth", + default=0.03, + min=0.0, max=100.0 + ) + GroutEdge: BoolProperty( + name="Edging", + description="Grout perimiter", + default=False + ) + # properties for openings + Opening1Tog: BoolProperty( + name="Opening(s)", + description="Make windows or doors", + default=True + ) + Opening1Width: FloatProperty( + name="Width", + description="The Width of the first opening", + default=2.5, + min=0.01, max=100.0 + ) + Opening1Height: FloatProperty( + name="Height", + description="The Height of the first opening", + default=3.5, + min=0.01, max=100.0 + ) + Opening1X: FloatProperty( + name="Indent", + description="The x position or spacing of the first opening", + default=5.0, + min=-100, max=100.0 + ) + Opening1Z: FloatProperty( + name="Bottom", + description="The z position of the First opening", + default=5.0, + min=-100, max=100.0 + ) + Opening1Repeat: BoolProperty( + name="Repeat", + description="make multiple openings, with spacing X1", + default=False + ) + Opening1TopArchTog: BoolProperty( + name="Top Arch", + description="Add an arch to the top of the first opening", + default=True + ) + Opening1TopArch: FloatProperty( + name="Curve", + description="Height of the arch on the top of the opening", + default=2.5, + min=0.001, max=100.0 + ) + Opening1TopArchThickness: FloatProperty( + name="Thickness", + description="Thickness of the arch on the top of the opening", + default=0.75, + min=0.001, max=100.0 + ) + Opening1BtmArchTog: BoolProperty( + name="Bottom Arch", + description="Add an arch to the bottom of opening 1", + default=False + ) + Opening1BtmArch: FloatProperty( + name="Curve", + description="Height of the arch on the bottom of the opening", + default=1.0, + min=0.01, max=100.0 + ) + Opening1BtmArchThickness: FloatProperty( + name="Thickness", + description="Thickness of the arch on the bottom of the opening", + default=0.5, + min=0.01, max=100.0 + ) + Opening1Bevel: FloatProperty( + name="Bevel", + description="Angle block face", + default=0.25, + min=-10.0, max=10.0 + ) + # openings on top of wall + CrenelTog: BoolProperty( + name="Crenels", + description="Make openings along top of wall", + default=False + ) + CrenelXP: FloatProperty( + name="Width", + description="Gap width in wall based the percentage of wall width", + default=0.25, + min=0.10, max=1.0, + subtype="PERCENTAGE" + ) + CrenelZP: FloatProperty( + name="Height", + description="Crenel Height as the percentage of wall height", + default=0.10, + min=0.10, max=1.0, + subtype="PERCENTAGE" + ) + # narrow openings in wall. + # need to prevent overlap with arch openings - though inversion is an interesting effect. + SlotTog: BoolProperty( + name="Slots", + description="Make narrow openings in wall", + default=False + ) + SlotRpt: BoolProperty( + name="Repeat", + description="Repeat slots along wall", + default=False + ) + SlotWdg: BoolProperty( + name="Wedged (n/a)", + description="Bevel edges of slots", + default=False + ) + SlotX: FloatProperty( + name="Indent", + description="The x position or spacing of slots", + default=0.0, min=-100, max=100.0 + ) + SlotGap: FloatProperty( + name="Opening", + description="The opening size of slots", + default=0.5, min=0.10, max=100.0 + ) + SlotV: BoolProperty( + name="Vertical", + description="Vertical slots", + default=True + ) + SlotVH: FloatProperty( + name="Height", + description="Height of vertical slot", + default=3.5, + min=0.10, max=100.0 + ) + SlotVBtm: FloatProperty( + name="Bottom", + description="Z position for slot", + default=5.00, + min=-100.0, max=100.0 + ) + SlotH: BoolProperty( + name="Horizontal", + description="Horizontal slots", + default=False + ) + SlotHW: FloatProperty( + name="Width", + description="Width of horizontal slot", + default=2.5, + min=0.10, max=100.0 + ) + # this should offset from VBtm... maybe make a % like crenels? + SlotHBtm: FloatProperty( + name="Bottom", + description="Z position for horizontal slot", + default=5.50, + min=-100.0, max=100.0 + ) + # properties for shelf (extend blocks in area) + ShelfTog: BoolProperty( + name="Shelf", + description="Add blocks in area by depth to make shelf/platform", + default=False + ) + ShelfX: FloatProperty( + name="Left", + description="The x position of Shelf", + default=-5.00, + min=-100, max=100.0 + ) + ShelfZ: FloatProperty( + name="Bottom", + description="The z position of Shelf", + default=10.0, + min=-100, max=100.0 + ) + ShelfH: FloatProperty( + name="Height", + description="The Height of Shelf area", + default=1.0, + min=0.01, max=100.0 + ) + ShelfW: FloatProperty( + name="Width", + description="The Width of shelf area", + default=5.0, + min=0.01, max=100.0 + ) + ShelfD: FloatProperty( + name="Depth", + description="Depth of each block for shelf (from cursor + 1/2 wall depth)", + default=2.0, + min=0.01, max=100.0 + ) + ShelfBack: BoolProperty( + name="Backside", + description="Shelf on backside of wall", + default=False + ) + # properties for steps (extend blocks in area, progressive width) + StepTog: BoolProperty( + name="Steps", + description="Add blocks in area by depth with progressive width to make steps", + default=False + ) + StepX: FloatProperty( + name="Left", + description="The x position of steps", + default=-9.00, + min=-100, max=100.0 + ) + StepZ: FloatProperty( + name="Bottom", + description="The z position of steps", + default=0.0, + min=-100, max=100.0 + ) + StepH: FloatProperty( + name="Height", + description="The Height of step area", + default=10.0, + min=0.01, max=100.0 + ) + StepW: FloatProperty( + name="Width", + description="The Width of step area", + default=8.0, + min=0.01, max=100.0 + ) + StepD: FloatProperty( + name="Depth", + description="Depth of each block for steps (from cursor + 1/2 wall depth)", + default=1.0, + min=0.01, max=100.0 + ) + StepV: FloatProperty( + name="Riser", + description="Height of each step", + default=0.70, + min=0.01, max=100.0 + ) + StepT: FloatProperty( + name="Tread", + description="Width of each step", + default=1.0, + min=0.01, max=100.0 + ) + StepLeft: BoolProperty( + name="Direction", + description="If checked, flip steps direction towards the -X axis", + default=False + ) + StepOnly: BoolProperty( + name="Steps Only", + description="Steps only, no supporting blocks", + default=False + ) + StepBack: BoolProperty( + name="Backside", + description="Steps on backside of wall", + default=False + ) + + # Display the toolbox options + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + # Wall shape modifiers + layout.prop(self, 'ConstructTog') + + # Wall area (size/position) + header, panel = layout.panel("WALLFACTORY_PT_AREA", default_closed=False) + header.label(text="Wall Size") + if panel: + panel.prop(self, "RadialTog") + panel.prop(self, "SlopeTog") + col = panel.column(align=True) + col.prop(self, "WallStart") + col.prop(self, "WallEnd") + col = panel.column(align=True) + col.prop(self, "WallBottom") + col.prop(self, "WallTop") + panel.prop(self, "EdgeOffset") + + # Wall block sizing + header, panel = layout.panel("WALLFACTORY_PT_BLOCKS", default_closed=False) + header.label(text="Block Size") + if panel: + panel.prop(self, "MergeBlock") + # add checkbox for "fixed" sizing (ignore variance) a.k.a. bricks + col = panel.column(align=True) + col.prop(self, "Width") + col.prop(self, "WidthVariance") + col.prop(self, "WidthMinimum") + col = panel.column(align=True) + col.prop(self, "Height") + col.prop(self, "HeightVariance") + col.prop(self, "HeightMinimum") + col = panel.column(align=True) + col.prop(self, "Depth") + col.prop(self, "DepthVariance") + col.prop(self, "DepthMinimum") + + # grout settings + header, panel = layout.panel("WALLFACTORY_PT_GROUT", default_closed=True) + header.label(text="Grout") + if panel: + col = panel.column(align=True) + col.prop(self, "Grout") + col.prop(self, "GroutVariance") + col = panel.column(align=True) + col.prop(self, "GroutDepth") + col.prop(self, "GroutDepthVariance") + + # Openings (doors, windows; arched) + header, panel = layout.panel("WALLFACTORY_PT_OPENINGS", default_closed=True) + header.use_property_split = False + header.prop(self, 'Opening1Tog', text='') + header.label(text="Openings") + if panel: + openings_col = panel.column() + openings_col.enabled = self.Opening1Tog + openings_col.use_property_split = True + col = openings_col.column(align=True) + col.prop(self, "Opening1Width") + col.prop(self, "Opening1Height") + col.prop(self, "Opening1X") + col.prop(self, "Opening1Z") + col.prop(self, "Opening1Bevel") + openings_col.prop(self, "Opening1Repeat", toggle=True) + openings_col.prop(self, "Opening1TopArchTog") + col = openings_col.column(align=True) + col.enabled = self.Opening1TopArchTog + col.prop(self, "Opening1TopArch") + col.prop(self, "Opening1TopArchThickness") + openings_col.prop(self, "Opening1BtmArchTog") + col = openings_col.column(align=True) + col.enabled = self.Opening1BtmArchTog + col.prop(self, "Opening1BtmArch") + col.prop(self, "Opening1BtmArchThickness") + + # Slots (narrow openings) + header, panel = layout.panel("WALLFACTORY_PT_SLOTS", default_closed=True) + header.use_property_split = False + header.prop(self, 'SlotTog', text='') + header.label(text="Slots") + if panel: + panel.enabled = self.SlotTog + panel.prop(self, "SlotRpt") + col = panel.column(align=True) + col.prop(self, "SlotX") + col.prop(self, "SlotGap") + panel.prop(self, "SlotV") + col = panel.column(align=True) + col.enabled = self.SlotV + col.prop(self, "SlotVH") + col.prop(self, "SlotVBtm") + panel.prop(self, "SlotH") + col = panel.column(align=True) + col.enabled = self.SlotH + col.prop(self, "SlotHW") + col.prop(self, "SlotHBtm") + + # Crenels, gaps in top of wall + header, panel = layout.panel("WALLFACTORY_PT_CRENELS", default_closed=True) + header.use_property_split = False + header.prop(self, 'CrenelTog', text='') + header.label(text="Crenels") + if panel: + panel.enabled = self.CrenelTog + col = panel.column(align=True) + col.prop(self, "CrenelXP") + col.prop(self, "CrenelZP") + + # Shelfing (protrusions) + header, panel = layout.panel("WALLFACTORY_PT_SHELF", default_closed=True) + header.use_property_split = False + header.prop(self, 'ShelfTog', text='') + header.label(text="Shelf") + if panel: + panel.enabled = self.ShelfTog + col = panel.column(align=True) + col.prop(self, "ShelfX") + col.prop(self, "ShelfZ") + col = panel.column(align=True) + col.prop(self, "ShelfW") + col.prop(self, "ShelfH") + col.prop(self, "ShelfD") + panel.prop(self, "ShelfBack") + + # Steps + header, panel = layout.panel("WALLFACTORY_PT_STEPS", default_closed=True) + header.use_property_split = False + header.prop(self, 'StepTog', text='') + header.label(text="Steps") + if panel: + panel.enabled = self.StepTog + col = panel.column(align=True) + col.prop(self, "StepX") + col.prop(self, "StepZ") + col = panel.column(align=True) + col.prop(self, "StepH") + col.prop(self, "StepW") + col.prop(self, "StepD") + col = panel.column(align=True) + col.prop(self, "StepV") + col.prop(self, "StepT") + col = panel.column(align=True) + panel.prop(self, "StepLeft") + panel.prop(self, "StepOnly") + panel.prop(self, "StepBack") + + if self.change == False: + header, panel = layout.panel("WALLFACTORY_PT_TRANSFORM", default_closed=True) + header.label(text="Transform") + if panel: + draw_transform_props(self, panel) + + # Respond to UI - get the properties set by user. + # Check and process UI settings to generate masonry + + def execute(self, context): + global radialized + global slope + global openingSpecs + global bigBlock + global shelfExt + global stepMod + global stepLeft + global shelfBack + global stepOnly + global stepBack + + # Create the wall when enabled (skip regen iterations when off) + if not self.ConstructTog: + return {'FINISHED'} + + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + # enter the settings for the wall dimensions (area) + # start can't be zero - min/max don't matter [if max less than end] but zero don't workie. + # start can't exceed end. + if not self.WallStart or self.WallStart >= self.WallEnd: + self.WallStart = NOTZERO # Reset UI if input out of bounds... + + dims['s'] = self.WallStart + dims['e'] = self.WallEnd + dims['b'] = self.WallBottom + dims['t'] = self.WallTop + + settings['eoff'] = self.EdgeOffset + + # retrieve the settings for the wall block properties + settings['w'] = self.Width + settings['wv'] = self.WidthVariance + settings['wm'] = self.WidthMinimum + + if not radialized: + settings['sdv'] = settings['w'] + else: + settings['sdv'] = 0.12 + + settings['h'] = self.Height + settings['hv'] = self.HeightVariance + settings['hm'] = self.HeightMinimum + + settings['d'] = self.Depth + settings['dv'] = self.DepthVariance + settings['dm'] = self.DepthMinimum + + if self.MergeBlock: + bigBlock = 1 + else: + bigBlock = 0 + + settings['g'] = self.Grout + settings['gv'] = self.GroutVariance + settings['gd'] = self.GroutDepth + settings['gdv'] = self.GroutDepthVariance + + if self.GroutEdge: + settings['ge'] = 1 + else: + settings['ge'] = 0 + + # set wall shape modifiers + if self.RadialTog: + radialized = 1 + # eliminate to allow user control for start/completion? + dims['s'] = 0.0 # complete radial + if dims['e'] > PI * 2: + dims['e'] = PI * 2 # max end for circle + if dims['b'] < settings['g']: + dims['b'] = settings['g'] # min bottom for grout extension + else: + radialized = 0 + + if self.SlopeTog: + slope = 1 + else: + slope = 0 + + shelfExt = 0 + shelfBack = 0 + + # Add shelf if enabled + if self.ShelfTog: + shelfExt = 1 + shelfSpecs['h'] = self.ShelfH + shelfSpecs['w'] = self.ShelfW + shelfSpecs['d'] = self.ShelfD + shelfSpecs['x'] = self.ShelfX + shelfSpecs['z'] = self.ShelfZ + + if self.ShelfBack: + shelfBack = 1 + stepMod = 0 + stepLeft = 0 + stepOnly = 0 + stepBack = 0 + + # Make steps if enabled + if self.StepTog: + stepMod = 1 + stepSpecs['x'] = self.StepX + stepSpecs['z'] = self.StepZ + stepSpecs['h'] = self.StepH + stepSpecs['w'] = self.StepW + stepSpecs['d'] = self.StepD + stepSpecs['v'] = self.StepV + stepSpecs['t'] = self.StepT + + if self.StepLeft: + stepLeft = 1 + + if self.StepOnly: + stepOnly = 1 + + if self.StepBack: + stepBack = 1 + + # enter the settings for the openings + # when openings overlap they create inverse stonework - interesting but not the desired effect :) + # if opening width == indent * 2 the edge blocks fail (row of blocks cross opening) - bug. + openingSpecs = [] + openingIdx = 0 # track opening array references for multiple uses + + # general openings with arch options - can be windows or doors. + if self.Opening1Tog: + # set defaults... + openingSpecs += [{'w': 0.5, 'h': 0.5, 'x': 0.8, 'z': 2.7, 'rp': 1, + 'b': 0.0, 'v': 0, 'vl': 0, 't': 0, 'tl': 0}] + + openingSpecs[openingIdx]['w'] = self.Opening1Width + openingSpecs[openingIdx]['h'] = self.Opening1Height + openingSpecs[openingIdx]['x'] = self.Opening1X + openingSpecs[openingIdx]['z'] = self.Opening1Z + openingSpecs[openingIdx]['rp'] = self.Opening1Repeat + + if self.Opening1TopArchTog: + openingSpecs[openingIdx]['v'] = self.Opening1TopArch + openingSpecs[openingIdx]['t'] = self.Opening1TopArchThickness + + if self.Opening1BtmArchTog: + openingSpecs[openingIdx]['vl'] = self.Opening1BtmArch + openingSpecs[openingIdx]['tl'] = self.Opening1BtmArchThickness + + openingSpecs[openingIdx]['b'] = self.Opening1Bevel + + openingIdx += 1 # count window/door/arch openings + + # Slots (narrow openings) + if self.SlotTog: + + if self.SlotV: # vertical slots + # set defaults... + openingSpecs += [{'w': 0.5, 'h': 0.5, 'x': 0.0, 'z': 2.7, 'rp': 0, + 'b': 0.0, 'v': 0, 'vl': 0, 't': 0, 'tl': 0}] + + openingSpecs[openingIdx]['w'] = self.SlotGap + openingSpecs[openingIdx]['h'] = self.SlotVH + openingSpecs[openingIdx]['x'] = self.SlotX + openingSpecs[openingIdx]['z'] = self.SlotVBtm + openingSpecs[openingIdx]['rp'] = self.SlotRpt + + # make them pointy... + openingSpecs[openingIdx]['v'] = self.SlotGap + openingSpecs[openingIdx]['t'] = self.SlotGap / 2 + openingSpecs[openingIdx]['vl'] = self.SlotGap + openingSpecs[openingIdx]['tl'] = self.SlotGap / 2 + + openingIdx += 1 # count vertical slot openings + + # need to handle overlap of H and V slots... + + if self.SlotH: # Horizontal slots + # set defaults... + openingSpecs += [{'w': 0.5, 'h': 0.5, 'x': 0.0, 'z': 2.7, 'rp': 0, + 'b': 0.0, 'v': 0, 'vl': 0, 't': 0, 'tl': 0}] + + openingSpecs[openingIdx]['w'] = self.SlotHW + openingSpecs[openingIdx]['h'] = self.SlotGap + openingSpecs[openingIdx]['x'] = self.SlotX + openingSpecs[openingIdx]['z'] = self.SlotHBtm + # horizontal repeat isn't same spacing as vertical... + openingSpecs[openingIdx]['rp'] = self.SlotRpt + + # make them pointy... + openingIdx += 1 # count horizontal slot openings + + # Crenellations (top row openings) + if self.CrenelTog: + + # add bottom arch option? + # perhaps a repeat toggle... + # if crenel opening overlaps with arch opening it fills with blocks... + + # set defaults... + openingSpecs += [{'w': 0.5, 'h': 0.5, 'x': 0.0, 'z': 2.7, 'rp': 1, + 'b': 0.0, 'v': 0, 'vl': 0, 't': 0, 'tl': 0}] + + wallW = self.WallEnd - self.WallStart + crenelW = wallW * self.CrenelXP # Width % opening. + + wallH = self.WallTop - self.WallBottom + crenelH = wallH * self.CrenelZP # % proportional height. + + openingSpecs[openingIdx]['w'] = crenelW + openingSpecs[openingIdx]['h'] = crenelH + + # calculate the spacing between openings. + # this isn't the absolute start (left), + # it's opening center offset relative to cursor (space between openings)... + openingSpecs[openingIdx]['x'] = crenelW * 2 - 1 # assume standard spacing + + if not radialized: # normal wall? + # set indent 0 (center) if opening is 50% or more of wall width, no repeat. + if crenelW * 2 >= wallW: + openingSpecs[openingIdx]['x'] = 0 + openingSpecs[openingIdx]['rp'] = 0 + # set bottom of opening (center of hole) + openingSpecs[openingIdx]['z'] = self.WallTop - (crenelH / 2) + + openingIdx += 1 # count crenel openings + + # Process the user settings to generate a wall + # generate the list of vertices for the wall... + verts_array, faces_array = createWall( + radialized, slope, openingSpecs, bigBlock, + shelfExt, shelfBack, stepMod, stepLeft, stepOnly, + stepBack + ) + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('Wall' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + mesh = bpy.data.meshes.new("Wall") + mesh.from_pydata(verts_array, [], faces_array) + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + mesh = bpy.data.meshes.new("Wall") + mesh.from_pydata(verts_array, [], faces_array) + obj = object_utils.object_data_add(context, mesh, operator=self) + + mesh.update() + + obj.data["Wall"] = True + obj.data["change"] = False + for prm in WallParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + mesh = bpy.data.meshes.new("TMP") + mesh.from_pydata(verts_array, [], faces_array) + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def WallParameters(): + WallParameters = [ + "ConstructTog", + "RadialTog", + "SlopeTog", + "WallStart", + "WallEnd", + "WallBottom", + "WallTop", + "EdgeOffset", + "Width", + "WidthVariance", + "WidthMinimum", + "Height", + "HeightVariance", + "HeightMinimum", + "Depth", + "DepthVariance", + "DepthMinimum", + "MergeBlock", + "Grout", + "GroutVariance", + "GroutDepth", + "GroutDepthVariance", + "GroutEdge", + "Opening1Tog", + "Opening1Width", + "Opening1Height", + "Opening1X", + "Opening1Z", + "Opening1Repeat", + "Opening1TopArchTog", + "Opening1TopArch", + "Opening1TopArchThickness", + "Opening1BtmArchTog", + "Opening1BtmArch", + "Opening1BtmArchThickness", + "CrenelTog", + "CrenelXP", + "CrenelZP", + "SlotTog", + "SlotRpt", + "SlotWdg", + "SlotX", + "SlotGap", + "SlotV", + "SlotVH", + "SlotVBtm", + "SlotH", + "SlotHW", + "SlotHBtm", + "ShelfTog", + "ShelfX", + "ShelfZ", + "ShelfH", + "ShelfW", + "ShelfD", + "ShelfBack", + "StepTog", + "StepX", + "StepZ", + "StepH", + "StepW", + "StepD", + "StepV", + "StepT", + "StepLeft", + "StepOnly", + "StepBack", + ] + return WallParameters diff --git a/extensions/blender_org/extra_mesh_objects/__init__.py b/extensions/blender_org/extra_mesh_objects/__init__.py new file mode 100644 index 0000000..7fb38ae --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/__init__.py @@ -0,0 +1,460 @@ +# SPDX-FileCopyrightText: 2011-2023 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Contributed to by: +# Pontiac, Fourmadmen, varkenvarken, tuga3d, meta-androcto, metalliandy # +# dreampainter, cotejrp1, liero, Kayo Phoenix, sugiany, dommetysk, Jambay # +# Phymec, Anthony D'Agostino, Pablo Vazquez, Richard Wilks, lijenstina, # +# Sjaak-de-Draak, Phil Cote, cotejrp1, xyz presets by elfnor, revolt_randy, # +# Vladimir Spivak (cwolf3d), Jonathan Lampel # + +# Note: Blocks has to be loaded before the WallFactory or the script +# will not work properly after (F8) reload + +if "bpy" in locals(): + import importlib + importlib.reload(add_mesh_star) + importlib.reload(add_mesh_twisted_torus) + importlib.reload(add_mesh_gemstones) + importlib.reload(add_mesh_gears) + importlib.reload(add_mesh_3d_function_surface) + importlib.reload(add_mesh_round_cube) + importlib.reload(add_mesh_supertoroid) + importlib.reload(add_mesh_pyramid) + importlib.reload(add_mesh_torusknot) + importlib.reload(add_mesh_honeycomb) + importlib.reload(add_mesh_teapot) + importlib.reload(add_mesh_pipe_joint) + importlib.reload(add_mesh_solid) + importlib.reload(add_mesh_round_brilliant) + importlib.reload(add_mesh_menger_sponge) + importlib.reload(add_mesh_vertex) + importlib.reload(add_empty_as_parent) + importlib.reload(add_mesh_beam_builder) + importlib.reload(Blocks) + importlib.reload(Wallfactory) + importlib.reload(add_mesh_triangles) + importlib.reload(preferences) +else: + from . import add_mesh_star + from . import add_mesh_twisted_torus + from . import add_mesh_gemstones + from . import add_mesh_gears + from . import add_mesh_3d_function_surface + from . import add_mesh_round_cube + from . import add_mesh_supertoroid + from . import add_mesh_pyramid + from . import add_mesh_torusknot + from . import add_mesh_honeycomb + from . import add_mesh_teapot + from . import add_mesh_pipe_joint + from . import add_mesh_solid + from . import add_mesh_round_brilliant + from . import add_mesh_menger_sponge + from . import add_mesh_vertex + from . import add_empty_as_parent + from . import add_mesh_beam_builder + from . import Blocks + from . import Wallfactory + from . import add_mesh_triangles + from . import preferences + + from .add_mesh_rocks import __init__ + from .add_mesh_rocks import rockgen + +import bpy +from bpy.types import Menu + + +class VIEW3D_MT_mesh_vert_add(Menu): + # Define the "Single Vert" menu + bl_idname = "VIEW3D_MT_mesh_vert_add" + bl_label = "Single Vert" + + def draw(self, context): + layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' + layout.operator("mesh.primitive_vert_add", + text="Add Single Vert") + layout.separator() + layout.operator("mesh.primitive_emptyvert_add", + text="Object Origin Only") + layout.operator("mesh.primitive_symmetrical_vert_add", + text="Origin & Vert Mirrored") + layout.operator("mesh.primitive_symmetrical_empty_add", + text="Object Origin Mirrored") + + +class VIEW3D_MT_mesh_gears_add(Menu): + # Define the "Gears" menu + bl_idname = "VIEW3D_MT_mesh_gears_add" + bl_label = "Gears" + + def draw(self, context): + layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' + oper = layout.operator("mesh.primitive_gear", text="Gear") + oper.change = False + oper = layout.operator("mesh.primitive_worm_gear", text="Worm") + oper.change = False + + +class VIEW3D_MT_mesh_gemstones_add(Menu): + # Define the "Gemstones" menu + bl_idname = "VIEW3D_MT_mesh_gemstones_add" + bl_label = "Gemstones" + + def draw(self, context): + layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' + oper = layout.operator("mesh.primitive_brilliant_add", text="Brilliant") + oper.change = False + oper = layout.operator("mesh.primitive_diamond_add", text="Diamond") + oper.change = False + oper = layout.operator("mesh.primitive_gem_add", text="Gem") + oper.change = False + + +class VIEW3D_MT_mesh_math_add(Menu): + # Define the "Math Function" menu + bl_idname = "VIEW3D_MT_mesh_math_add" + bl_label = "Math Functions" + + def draw(self, context): + layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' + layout.operator("mesh.primitive_z_function_surface", + text="Z Math Surface") + layout.operator("mesh.primitive_xyz_function_surface", + text="XYZ Math Surface") + self.layout.operator("mesh.primitive_solid_add", text="Regular Solid") + self.layout.operator("mesh.make_triangle", text="Triangle") + + +class VIEW3D_MT_mesh_extras_add(Menu): + # Define the "Extra Objects" menu + bl_idname = "VIEW3D_MT_mesh_extras_add" + bl_label = "Extras" + + def draw(self, context): + layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' + oper = layout.operator("mesh.add_mesh_rock", text="Rock Generator") + oper = layout.operator("mesh.add_beam", text="Beam Builder") + oper.change = False + oper = layout.operator("mesh.wall_add", text="Wall Factory") + oper.change = False + layout.separator() + oper = layout.operator("mesh.primitive_star_add", text="Simple Star") + oper.change = False + oper = layout.operator("mesh.primitive_steppyramid_add", text="Step Pyramid") + oper.change = False + oper = layout.operator("mesh.honeycomb_add", text="Honeycomb") + oper.change = False + oper = layout.operator("mesh.primitive_teapot_add", text="Teapot+") + oper = layout.operator("mesh.menger_sponge_add", text="Menger Sponge") + + +class VIEW3D_MT_mesh_torus_add(Menu): + # Define the "Torus Objects" menu + bl_idname = "VIEW3D_MT_mesh_torus_add" + bl_label = "Torus Objects" + + def draw(self, context): + layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' + oper = layout.operator("mesh.primitive_twisted_torus_add", text="Twisted Torus") + oper.change = False + oper = layout.operator("mesh.primitive_supertoroid_add", text="Supertoroid") + oper.change = False + oper = layout.operator("mesh.primitive_torusknot_add", text="Torus Knot") + oper.change = False + + +class VIEW3D_MT_mesh_pipe_joints_add(Menu): + # Define the "Pipe Joints" menu + bl_idname = "VIEW3D_MT_mesh_pipe_joints_add" + bl_label = "Pipe Joints" + + def draw(self, context): + layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' + oper = layout.operator("mesh.primitive_elbow_joint_add", text="Elbow") + oper.change = False + oper = layout.operator("mesh.primitive_tee_joint_add", text="T-Joint") + oper.change = False + oper = layout.operator("mesh.primitive_wye_joint_add", text="Y-Joint") + oper.change = False + oper = layout.operator("mesh.primitive_cross_joint_add", text="Cross-Joint") + oper.change = False + oper = layout.operator("mesh.primitive_n_joint_add", text="N-Joint") + oper.change = False + +# Register all operators and panels + + +# Define "Extras" menu +def menu_func(self, context): + layout = self.layout + layout.operator_context = 'INVOKE_REGION_WIN' + + prefs = bpy.context.preferences.addons[__package__].preferences + + if prefs.show_round_cube: + oper = layout.operator("mesh.primitive_round_cube_add", text="Round Cube", icon='SPHERE') + oper.change = False + + layout.separator() + + if prefs.show_single_vert: + layout.menu("VIEW3D_MT_mesh_vert_add", text="Single Vert", icon='DECORATE') + + if prefs.show_torus_objects: + layout.menu("VIEW3D_MT_mesh_torus_add", text="Torus Objects", icon='MESH_TORUS') + + if prefs.show_math_functions: + layout.menu("VIEW3D_MT_mesh_math_add", text="Math Functions", icon='GRAPH') + + if prefs.show_gears: + layout.menu("VIEW3D_MT_mesh_gears_add", text="Gears", icon='PREFERENCES') + + if prefs.show_pipe_joints: + layout.menu("VIEW3D_MT_mesh_pipe_joints_add", text="Pipe Joints", icon='IPO_CONSTANT') + + if prefs.show_gemstones: + layout.menu("VIEW3D_MT_mesh_gemstones_add", text="Gemstones", icon="MESH_ICOSPHERE") + + if prefs.show_extras: + layout.menu("VIEW3D_MT_mesh_extras_add", text="Extras", icon="PACKAGE") + + if prefs.show_parent_to_empty: + layout.separator() + layout.operator("object.parent_to_empty", text="Parent to Empty", icon="OUTLINER_OB_EMPTY") + + +def Extras_contex_menu(self, context): + bl_label = 'Change' + + obj = context.object + layout = self.layout + + if obj is None or obj.data is None: + return + + if 'Gear' in obj.data.keys(): + props = layout.operator("mesh.primitive_gear", text="Change Gear") + props.change = True + for prm in add_mesh_gears.GearParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'WormGear' in obj.data.keys(): + props = layout.operator("mesh.primitive_worm_gear", text="Change WormGear") + props.change = True + for prm in add_mesh_gears.WormGearParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'Beam' in obj.data.keys(): + props = layout.operator("mesh.add_beam", text="Change Beam") + props.change = True + for prm in add_mesh_beam_builder.BeamParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'Wall' in obj.data.keys(): + props = layout.operator("mesh.wall_add", text="Change Wall") + props.change = True + for prm in Wallfactory.WallParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'ElbowJoint' in obj.data.keys(): + props = layout.operator("mesh.primitive_elbow_joint_add", text="Change ElbowJoint") + props.change = True + for prm in add_mesh_pipe_joint.ElbowJointParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'TeeJoint' in obj.data.keys(): + props = layout.operator("mesh.primitive_tee_joint_add", text="Change TeeJoint") + props.change = True + for prm in add_mesh_pipe_joint.TeeJointParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'WyeJoint' in obj.data.keys(): + props = layout.operator("mesh.primitive_wye_joint_add", text="Change WyeJoint") + props.change = True + for prm in add_mesh_pipe_joint.WyeJointParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'CrossJoint' in obj.data.keys(): + props = layout.operator("mesh.primitive_cross_joint_add", text="Change CrossJoint") + props.change = True + for prm in add_mesh_pipe_joint.CrossJointParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'NJoint' in obj.data.keys(): + props = layout.operator("mesh.primitive_n_joint_add", text="Change NJoint") + props.change = True + for prm in add_mesh_pipe_joint.NJointParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'Diamond' in obj.data.keys(): + props = layout.operator("mesh.primitive_diamond_add", text="Change Diamond") + props.change = True + for prm in add_mesh_gemstones.DiamondParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'Gem' in obj.data.keys(): + props = layout.operator("mesh.primitive_gem_add", text="Change Gem") + props.change = True + for prm in add_mesh_gemstones.GemParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'Brilliant' in obj.data.keys(): + props = layout.operator("mesh.primitive_brilliant_add", text="Change Brilliant") + props.change = True + for prm in add_mesh_round_brilliant.BrilliantParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'Roundcube' in obj.data.keys(): + props = layout.operator("mesh.primitive_round_cube_add", text="Change Roundcube") + props.change = True + for prm in add_mesh_round_cube.RoundCubeParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'TorusKnot' in obj.data.keys(): + props = layout.operator("mesh.primitive_torusknot_add", text="Change TorusKnot") + props.change = True + for prm in add_mesh_torusknot.TorusKnotParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'SuperToroid' in obj.data.keys(): + props = layout.operator("mesh.primitive_supertoroid_add", text="Change SuperToroid") + props.change = True + for prm in add_mesh_supertoroid.SuperToroidParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'TwistedTorus' in obj.data.keys(): + props = layout.operator("mesh.primitive_twisted_torus_add", text="Change TwistedTorus") + props.change = True + for prm in add_mesh_twisted_torus.TwistedTorusParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'Star' in obj.data.keys(): + props = layout.operator("mesh.primitive_star_add", text="Change Star") + props.change = True + for prm in add_mesh_star.StarParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'Pyramid' in obj.data.keys(): + props = layout.operator("mesh.primitive_steppyramid_add", text="Change Pyramid") + props.change = True + for prm in add_mesh_pyramid.PyramidParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + if 'HoneyComb' in obj.data.keys(): + props = layout.operator("mesh.honeycomb_add", text="Change HoneyComb") + props.change = True + for prm in add_mesh_honeycomb.HoneyCombParameters(): + setattr(props, prm, obj.data[prm]) + layout.separator() + + +# Register +classes = [ + VIEW3D_MT_mesh_vert_add, + VIEW3D_MT_mesh_gears_add, + VIEW3D_MT_mesh_gemstones_add, + VIEW3D_MT_mesh_math_add, + VIEW3D_MT_mesh_extras_add, + VIEW3D_MT_mesh_torus_add, + VIEW3D_MT_mesh_pipe_joints_add, + add_mesh_star.AddStar, + add_mesh_twisted_torus.AddTwistedTorus, + add_mesh_gemstones.AddDiamond, + add_mesh_gemstones.AddGem, + add_mesh_gears.AddGear, + add_mesh_gears.AddWormGear, + add_mesh_3d_function_surface.AddZFunctionSurface, + add_mesh_3d_function_surface.AddXYZFunctionSurface, + add_mesh_round_cube.AddRoundCube, + add_mesh_supertoroid.add_supertoroid, + add_mesh_pyramid.AddPyramid, + add_mesh_torusknot.AddTorusKnot, + add_mesh_honeycomb.add_mesh_honeycomb, + add_mesh_teapot.AddTeapot, + add_mesh_pipe_joint.AddElbowJoint, + add_mesh_pipe_joint.AddTeeJoint, + add_mesh_pipe_joint.AddWyeJoint, + add_mesh_pipe_joint.AddCrossJoint, + add_mesh_pipe_joint.AddNJoint, + add_mesh_solid.Solids, + add_mesh_round_brilliant.MESH_OT_primitive_brilliant_add, + add_mesh_menger_sponge.AddMengerSponge, + add_mesh_vertex.AddVert, + add_mesh_vertex.AddEmptyVert, + add_mesh_vertex.AddSymmetricalEmpty, + add_mesh_vertex.AddSymmetricalVert, + add_empty_as_parent.P2E, + add_empty_as_parent.PreFix, + add_mesh_beam_builder.addBeam, + Wallfactory.add_mesh_wallb, + add_mesh_triangles.MakeTriangle, + preferences.AddMeshExtraObjectsPreferences, +] + + +def register(): + import os + + from bpy.utils import register_class + for cls in classes: + register_class(cls) + + add_mesh_rocks.register() + + # Add "Extras" menu to the "Add Mesh" menu and context menu. + bpy.types.VIEW3D_MT_mesh_add.append(menu_func) + bpy.types.VIEW3D_MT_object_context_menu.prepend(Extras_contex_menu) + + # Part of 4.3 may be back-ported to 4.2. + if register_preset_path := getattr(bpy.utils, "register_preset_path", None): + register_preset_path(os.path.join(os.path.dirname(__file__))) + + +def unregister(): + import os + + # Remove "Extras" menu from the "Add Mesh" menu and context menu. + bpy.types.VIEW3D_MT_object_context_menu.remove(Extras_contex_menu) + bpy.types.VIEW3D_MT_mesh_add.remove(menu_func) + + from bpy.utils import unregister_class + for cls in reversed(classes): + unregister_class(cls) + + add_mesh_rocks.unregister() + + # Part of 4.3 may be back-ported to 4.2. + if unregister_preset_path := getattr(bpy.utils, "unregister_preset_path", None): + unregister_preset_path(os.path.join(os.path.dirname(__file__))) + + +if __name__ == "__main__": + register() diff --git a/extensions/blender_org/extra_mesh_objects/add_empty_as_parent.py b/extensions/blender_org/extra_mesh_objects/add_empty_as_parent.py new file mode 100644 index 0000000..d7f30f1 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_empty_as_parent.py @@ -0,0 +1,133 @@ +# SPDX-FileCopyrightText: 2015-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Original Author Liero + +import bpy +from bpy.types import Operator +from bpy.props import ( + StringProperty, + BoolProperty, + EnumProperty, + ) + + +def centro(sel): + x = sum([obj.location[0] for obj in sel]) / len(sel) + y = sum([obj.location[1] for obj in sel]) / len(sel) + z = sum([obj.location[2] for obj in sel]) / len(sel) + return (x, y, z) + + +class P2E(Operator): + bl_idname = "object.parent_to_empty" + bl_label = "Parent to Empty" + bl_description = "Parent selected objects to a new Empty" + bl_options = {"REGISTER", "UNDO"} + + nombre: StringProperty( + name="", + default='OBJECTS', + description='Give the empty / group a name' + ) + grupo: BoolProperty( + name="Create Group", + default=False, + description="Also add objects to a group" + ) + locat: EnumProperty( + name='', + items=[('CURSOR', 'Cursor', 'Cursor'), ('ACTIVE', 'Active', 'Active'), + ('CENTER', 'Center', 'Selection Center')], + description='Empty location', + default='CENTER' + ) + renom: BoolProperty( + name="Add Prefix", + default=False, + description="Add prefix to objects name" + ) + + @classmethod + def poll(cls, context): + objs = context.selected_objects + return (len(objs) > 0) + + def draw(self, context): + layout = self.layout + layout.prop(self, "nombre") + column = layout.column(align=True) + column.prop(self, "locat") + column.prop(self, "grupo") + column.prop(self, "renom") + + def execute(self, context): + objs = context.selected_objects + act = context.object + sce = context.scene + + try: + bpy.ops.object.mode_set() + except: + pass + + if self.locat == 'CURSOR': + loc = sce.cursor.location + elif self.locat == 'ACTIVE': + loc = act.location + else: + loc = centro(objs) + + bpy.ops.object.add(type='EMPTY', location=loc) + context.object.name = self.nombre + context.object.show_name = True + context.object.show_in_front = True + + if self.grupo: + bpy.ops.collection.create(name=self.nombre) + bpy.ops.collection.objects_add_active() + + for o in objs: + o.select_set(True) + if not o.parent: + bpy.ops.object.parent_set(type='OBJECT') + if self.grupo: + bpy.ops.collection.objects_add_active() + o.select_set(False) + for o in objs: + if self.renom: + o.name = self.nombre + '_' + o.name + return {'FINISHED'} + + +class PreFix(Operator): + bl_idname = "object.toggle_prefix" + bl_label = "Toggle Sufix" + bl_description = "Toggle parent name as sufix for c" + bl_options = {"REGISTER", "UNDO"} + + @classmethod + def poll(cls, context): + act = context.object + return (act and act.type == 'EMPTY') + + def execute(self, context): + act = context.object + objs = act.children + prefix = act.name + '_' + remove = False + for o in objs: + if o.name.startswith(prefix): + remove = True + break + + if remove is True: + for o in objs: + if o.name.startswith(prefix): + o.name = o.name.partition(prefix)[2] + else: + for o in objs: + o.name = prefix + o.name + + return {'FINISHED'} diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_3d_function_surface.py b/extensions/blender_org/extra_mesh_objects/add_mesh_3d_function_surface.py new file mode 100644 index 0000000..8be8022 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_3d_function_surface.py @@ -0,0 +1,612 @@ +# SPDX-FileCopyrightText: 2010-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Original by Buerbaum Martin (Pontiac), Elod Csirmaz + +import bpy +import math +import numpy +from mathutils import * +from math import * +from bpy.types import Operator +from bpy.props import ( + StringProperty, + IntProperty, + FloatProperty, + BoolProperty, + ) + + +# List of safe functions for eval() +safe_list = ['acos', 'asin', 'atan', 'atan2', 'ceil', 'cos', 'cosh', + 'degrees', 'e', 'exp', 'fabs', 'floor', 'fmod', 'frexp', 'hypot', + 'ldexp', 'log', 'log10', 'modf', 'pi', 'pow', 'radians', + 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'gcd'] + +# Use the list to filter the local namespace +safe_dict = dict((k, globals().get(k, None)) for k in safe_list) +safe_dict['math'] = math +safe_dict['numpy'] = safe_dict['np'] = numpy +safe_dict['lcm'] = numpy.lcm +safe_dict['max'] = max +safe_dict['min'] = min + + +# Stores the values of a list of properties and the +# operator id in a property group ('recall_op') inside the object +# Could (in theory) be used for non-objects. +# Note: Replaces any existing property group with the same name! +# ob ... Object to store the properties in +# op ... The operator that should be used +# op_args ... A dictionary with valid Blender +# properties (operator arguments/parameters) + + +# Create a new mesh (object) from verts/edges/faces +# verts/edges/faces ... List of vertices/edges/faces for the +# new mesh (as used in from_pydata) +# name ... Name of the new mesh (& object) + +def create_mesh_object(context, verts, edges, faces, name): + + # Create new mesh + mesh = bpy.data.meshes.new(name) + + # Make a mesh from a list of verts/edges/faces + mesh.from_pydata(verts, edges, faces) + + # Update mesh geometry after adding stuff + mesh.update() + + from bpy_extras import object_utils + return object_utils.object_data_add(context, mesh, operator=None) + + +# A very simple "bridge" tool + +def createFaces(vertIdx1, vertIdx2, closed=False, flipped=False): + faces = [] + + if not vertIdx1 or not vertIdx2: + return None + + if len(vertIdx1) < 2 and len(vertIdx2) < 2: + return None + + fan = False + if (len(vertIdx1) != len(vertIdx2)): + if (len(vertIdx1) == 1 and len(vertIdx2) > 1): + fan = True + else: + return None + + total = len(vertIdx2) + + if closed: + # Bridge the start with the end + if flipped: + face = [ + vertIdx1[0], + vertIdx2[0], + vertIdx2[total - 1]] + if not fan: + face.append(vertIdx1[total - 1]) + faces.append(face) + + else: + face = [vertIdx2[0], vertIdx1[0]] + if not fan: + face.append(vertIdx1[total - 1]) + face.append(vertIdx2[total - 1]) + faces.append(face) + + # Bridge the rest of the faces + for num in range(total - 1): + if flipped: + if fan: + face = [vertIdx2[num], vertIdx1[0], vertIdx2[num + 1]] + else: + face = [vertIdx2[num], vertIdx1[num], + vertIdx1[num + 1], vertIdx2[num + 1]] + faces.append(face) + else: + if fan: + face = [vertIdx1[0], vertIdx2[num], vertIdx2[num + 1]] + else: + face = [vertIdx1[num], vertIdx2[num], + vertIdx2[num + 1], vertIdx1[num + 1]] + faces.append(face) + + return faces + + +class AddZFunctionSurface(Operator): + bl_idname = "mesh.primitive_z_function_surface" + bl_label = "Add Z Function Surface" + bl_description = "Add a surface defined defined by a function z=f(x,y)" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + equation: StringProperty( + name="Z Equation", + description="Equation for z=f(x,y)", + default="1 - ( x**2 + y**2 )" + ) + div_x: IntProperty( + name="X Subdivisions", + description="Number of vertices in x direction", + default=16, + min=3, + max=256 + ) + div_y: IntProperty( + name="Y Subdivisions", + description="Number of vertices in y direction", + default=16, + min=3, + max=256 + ) + size_x: FloatProperty( + name="X Size", + description="Size of the x axis", + default=2.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + size_y: FloatProperty( + name="Y Size", + description="Size of the y axis", + default=2.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'equation') + col = layout.column(align=True) + col.prop(self, 'div_x', text='Subdivisions X') + col.prop(self, 'div_y', text='Y') + col = layout.column(align=True) + col.prop(self, 'size_x', text='Size X') + col.prop(self, 'size_y', text='Y') + + def execute(self, context): + equation = self.equation + div_x = self.div_x + div_y = self.div_y + size_x = self.size_x + size_y = self.size_y + + verts = [] + faces = [] + + delta_x = size_x / (div_x - 1) + delta_y = size_y / (div_y - 1) + start_x = -(size_x / 2.0) + start_y = -(size_y / 2.0) + + edgeloop_prev = [] + + if equation: + try: + expr_args = ( + compile(equation, __file__, 'eval'), + {"__builtins__": None}, + safe_dict) + except: + import traceback + # WARNING is used to prevent the constant pop-up spam + self.report({'WARNING'}, + "Error parsing expression: {} " + "(Check the console for more info)".format(equation)) + print("\n[Add Z Function Surface]:\n\n", traceback.format_exc(limit=1)) + + return {'CANCELLED'} + + for row_x in range(div_x): + edgeloop_cur = [] + x = start_x + row_x * delta_x + + for row_y in range(div_y): + y = start_y + row_y * delta_y + z = 0.0 + + safe_dict['x'] = x + safe_dict['y'] = y + + # Try to evaluate the equation. + try: + z = float(eval(*expr_args)) + except: + import traceback + self.report({'WARNING'}, + "Error evaluating expression: {} " + "(Check the console for more info)".format(equation)) + print("\n[Add Z Function Surface]:\n\n", traceback.format_exc(limit=1)) + + return {'CANCELLED'} + + edgeloop_cur.append(len(verts)) + verts.append((x, y, z)) + + if len(edgeloop_prev) > 0: + faces_row = createFaces(edgeloop_prev, edgeloop_cur) + faces.extend(faces_row) + + edgeloop_prev = edgeloop_cur + + base = create_mesh_object(context, verts, [], faces, "Z Function") + else: + self.report({'WARNING'}, "Z Equation - No expression is given") + + return {'CANCELLED'} + + return {'FINISHED'} + + +def xyz_function_surface_faces(self, x_eq, y_eq, z_eq, + range_u_min, range_u_max, range_u_step, wrap_u, + range_v_min, range_v_max, range_v_step, wrap_v, + a_eq, b_eq, c_eq, f_eq, g_eq, h_eq, n, close_v): + + verts = [] + faces = [] + + # Distance of each step in Blender Units + uStep = (range_u_max - range_u_min) / range_u_step + vStep = (range_v_max - range_v_min) / range_v_step + + # Number of steps in the vertex creation loops. + # Number of steps is the number of faces + # => Number of points is +1 unless wrapped. + uRange = range_u_step + 1 + vRange = range_v_step + 1 + + if wrap_u: + uRange = uRange - 1 + + if wrap_v: + vRange = vRange - 1 + + try: + expr_args_x = ( + compile(x_eq, __file__.replace(".py", "_x.py"), 'eval'), + {"__builtins__": None}, + safe_dict) + expr_args_y = ( + compile(y_eq, __file__.replace(".py", "_y.py"), 'eval'), + {"__builtins__": None}, + safe_dict) + expr_args_z = ( + compile(z_eq, __file__.replace(".py", "_z.py"), 'eval'), + {"__builtins__": None}, + safe_dict) + expr_args_a = ( + compile(a_eq, __file__.replace(".py", "_a.py"), 'eval'), + {"__builtins__": None}, + safe_dict) + expr_args_b = ( + compile(b_eq, __file__.replace(".py", "_b.py"), 'eval'), + {"__builtins__": None}, + safe_dict) + expr_args_c = ( + compile(c_eq, __file__.replace(".py", "_c.py"), 'eval'), + {"__builtins__": None}, + safe_dict) + expr_args_f = ( + compile(f_eq, __file__.replace(".py", "_f.py"), 'eval'), + {"__builtins__": None}, + safe_dict) + expr_args_g = ( + compile(g_eq, __file__.replace(".py", "_g.py"), 'eval'), + {"__builtins__": None}, + safe_dict) + expr_args_h = ( + compile(h_eq, __file__.replace(".py", "_h.py"), 'eval'), + {"__builtins__": None}, + safe_dict) + except: + import traceback + self.report({'WARNING'}, "Error parsing expression(s) - " + "Check the console for more info") + print("\n[Add X, Y, Z Function Surface]:\n\n", traceback.format_exc(limit=1)) + return [], [] + + for vN in range(vRange): + v = range_v_min + (vN * vStep) + + for uN in range(uRange): + u = range_u_min + (uN * uStep) + + safe_dict['u'] = u + safe_dict['v'] = v + + safe_dict['n'] = n + + # Try to evaluate the equations. + try: + safe_dict['a'] = float(eval(*expr_args_a)) + safe_dict['b'] = float(eval(*expr_args_b)) + safe_dict['c'] = float(eval(*expr_args_c)) + safe_dict['f'] = float(eval(*expr_args_f)) + safe_dict['g'] = float(eval(*expr_args_g)) + safe_dict['h'] = float(eval(*expr_args_h)) + + verts.append(( + float(eval(*expr_args_x)), + float(eval(*expr_args_y)), + float(eval(*expr_args_z)))) + except: + import traceback + self.report({'WARNING'}, "Error evaluating expression(s) - " + "Check the console for more info") + print("\n[Add X, Y, Z Function Surface]:\n\n", traceback.format_exc(limit=1)) + return [], [] + + for vN in range(range_v_step): + vNext = vN + 1 + + if wrap_v and (vNext >= vRange): + vNext = 0 + + for uN in range(range_u_step): + uNext = uN + 1 + + if wrap_u and (uNext >= uRange): + uNext = 0 + + faces.append([(vNext * uRange) + uNext, + (vNext * uRange) + uN, + (vN * uRange) + uN, + (vN * uRange) + uNext]) + + if close_v and wrap_u and (not wrap_v): + for uN in range(1, range_u_step - 1): + faces.append([ + range_u_step - 1, + range_u_step - 1 - uN, + range_u_step - 2 - uN]) + faces.append([ + range_v_step * uRange, + range_v_step * uRange + uN, + range_v_step * uRange + uN + 1]) + + return verts, faces + + +# Original Script "Parametric.py" by Ed Mackey. +# -> http://www.blinken.com/blender-plugins.php +# Partly converted for Blender 2.5 by tuga3d. +# +# Sphere: +# x = sin(2*pi*u)*sin(pi*v) +# y = cos(2*pi*u)*sin(pi*v) +# z = cos(pi*v) +# u_min = v_min = 0 +# u_max = v_max = 1 +# +# "Snail shell" +# x = 1.2**v*(sin(u)**2 *sin(v)) +# y = 1.2**v*(sin(u)*cos(u)) +# z = 1.2**v*(sin(u)**2 *cos(v)) +# u_min = 0 +# u_max = pi +# v_min = -pi/4, +# v max = 5*pi/2 + +class AddXYZFunctionSurface(Operator): + bl_idname = "mesh.primitive_xyz_function_surface" + bl_label = "Add XYZ Function Surface" + bl_description = ("Add a surface defined defined by 3 functions:\n" + "x=F1(u,v), y=F2(u,v) and z=F3(u,v)") + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + x_eq: StringProperty( + name="X Equation", + description="Equation for x=F(u,v). " + "Also available: n, a, b, c, f, g, h", + default="cos(v)*(1+cos(u))*sin(v/8)" + ) + y_eq: StringProperty( + name="Y Equation", + description="Equation for y=F(u,v). " + "Also available: n, a, b, c, f, g, h", + default="sin(u)*sin(v/8)+cos(v/8)*1.5" + ) + z_eq: StringProperty( + name="Z Equation", + description="Equation for z=F(u,v). " + "Also available: n, a, b, c, f, g, h", + default="sin(v)*(1+cos(u))*sin(v/8)" + ) + range_u_min: FloatProperty( + name="U Min", + description="Minimum U value. Lower boundary of U range", + min=-100.00, + max=0.00, + default=0.00 + ) + range_u_max: FloatProperty( + name="U Max", + description="Maximum U value. Upper boundary of U range", + min=0.00, + max=100.00, + default=2 * pi + ) + range_u_step: IntProperty( + name="U Step", + description="U Subdivisions", + min=1, + max=1024, + default=32 + ) + wrap_u: BoolProperty( + name="U Wrap", + description="U Wrap around", + default=True + ) + range_v_min: FloatProperty( + name="V Min", + description="Minimum V value. Lower boundary of V range", + min=-100.00, + max=0.00, + default=0.00 + ) + range_v_max: FloatProperty( + name="V Max", + description="Maximum V value. Upper boundary of V range", + min=0.00, + max=100.00, + default=4 * pi + ) + range_v_step: IntProperty( + name="V Step", + description="V Subdivisions", + min=1, + max=1024, + default=128 + ) + wrap_v: BoolProperty( + name="V Wrap", + description="V Wrap around", + default=False + ) + close_v: BoolProperty( + name="Close V", + description="Create faces for first and last " + "V values (only if U is wrapped)", + default=False + ) + n_eq: IntProperty( + name="Number of Objects (n=0..N-1)", + description="The parameter n will be the index " + "of the current object, 0 to N-1", + min=1, + max=100, + default=1 + ) + a_eq: StringProperty( + name="A Helper Function", + description="Equation for a=F(u,v). Also available: n", + default="0" + ) + b_eq: StringProperty( + name="B Helper Function", + description="Equation for b=F(u,v). Also available: n", + default="0" + ) + c_eq: StringProperty( + name="C Helper Function", + description="Equation for c=F(u,v). Also available: n", + default="0" + ) + f_eq: StringProperty( + name="F Helper Function", + description="Equation for f=F(u,v). Also available: n, a, b, c", + default="0" + ) + g_eq: StringProperty( + name="G Helper Function", + description="Equation for g=F(u,v). Also available: n, a, b, c", + default="0" + ) + h_eq: StringProperty( + name="H Helper Function", + description="Equation for h=F(u,v). Also available: n, a, b, c", + default="0" + ) + show_wire : BoolProperty( + name="Show Wireframe", + default=True, + description="Add the object’s wireframe over solid drawing" + ) + edit_mode : BoolProperty( + name="Show in Edit Mode", + default=True, + description="Show in Edit Mode" + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + col = layout.column() + col.prop(self, 'x_eq', text='Equation X') + col.prop(self, 'y_eq', text='Y') + col.prop(self, 'z_eq', text='Z') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'range_u_min', text='U Min') + col.prop(self, 'range_u_max', text='Max') + col.prop(self, 'range_u_step', text='Step') + col.prop(self, 'wrap_u', text='Wrap') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'range_v_min', text='V Min') + col.prop(self, 'range_v_max', text='Max') + col.prop(self, 'range_v_step', text='Step') + col.prop(self, 'wrap_v', text='Wrap') + col.prop(self, 'close_v', text='Close') + layout.separator() + col = layout.column() + col.prop(self, 'n_eq', text='Objects') + col.prop(self, 'a_eq', text='Helper Function A') + col.prop(self, 'b_eq', text='B') + col.prop(self, 'c_eq', text='C') + col.prop(self, 'f_eq', text='F') + col.prop(self, 'g_eq', text='G') + col.prop(self, 'h_eq', text='H') + layout.separator() + row = layout.row(heading='Show') + row.prop(self, 'show_wire', text='Wireframe') + layout.prop(self, 'edit_mode', text='In Edit Mode') + + def execute(self, context): + for n in range(0, self.n_eq): + verts, faces = xyz_function_surface_faces( + self, + self.x_eq, + self.y_eq, + self.z_eq, + self.range_u_min, + self.range_u_max, + self.range_u_step, + self.wrap_u, + self.range_v_min, + self.range_v_max, + self.range_v_step, + self.wrap_v, + self.a_eq, + self.b_eq, + self.c_eq, + self.f_eq, + self.g_eq, + self.h_eq, + n, + self.close_v + ) + if not verts: + return {'CANCELLED'} + + obj = create_mesh_object(context, verts, [], faces, "XYZ Function") + + if self.show_wire: + context.active_object.show_wire = True + else: + context.active_object.show_wire = False + + if self.edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + else: + bpy.ops.object.mode_set(mode = 'OBJECT') + + return {'FINISHED'} diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_beam_builder.py b/extensions/blender_org/extra_mesh_objects/add_mesh_beam_builder.py new file mode 100644 index 0000000..5c4b096 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_beam_builder.py @@ -0,0 +1,822 @@ +# SPDX-FileCopyrightText: 2016-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author: revolt_randy, Jambay + +# Create "Beam" primitives. Based on original script by revolt_randy + + +import bpy +from bpy.types import Operator +from bpy.props import ( + BoolProperty, + EnumProperty, + FloatProperty, + IntProperty, + StringProperty, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + +# ##################### +# Create vertices for end of mesh +# +# y_off - verts y-axis origin +# +# returns: +# endVs - x,y,z list + +def beamEndVs(sRef, y_off): + thick = sRef.beamW * 2 + + if sRef.Type == '2': # swap width and height for C shape + bEndX2 = sRef.beamZ / 2 + bEndXInr = ((sRef.beamZ - thick) / 2) + bEndZ2 = sRef.beamX / 2 + bEndZInr = ((sRef.beamX - thick) / 2) + else: + bEndX2 = sRef.beamX / 2 + bEndXInr = ((sRef.beamX - thick) / 2) + bEndZ2 = sRef.beamZ / 2 + bEndZInr = ((sRef.beamZ - thick) / 2) + + endVs = [] + + # outer ... + endVs.append((bEndX2, y_off, bEndZ2)) + endVs.append((-bEndX2, y_off, bEndZ2)) + endVs.append((-bEndX2, y_off, -bEndZ2)) + endVs.append((bEndX2, y_off, -bEndZ2)) + # innner ... + endVs.append((bEndXInr, y_off, bEndZInr)) + endVs.append((-bEndXInr, y_off, bEndZInr)) + endVs.append((-bEndXInr, y_off, -bEndZInr)) + endVs.append((bEndXInr, y_off, -bEndZInr)) + + return endVs + + +# ##################### +# Create End Faces +# +# verts_list - list of vertices +# +# returns: +# beamFs, a list of tuples defining the end faces. + +def beamEndFaces(verts_list): + + beamFs = [] + + num_of_verts = int(len(verts_list) / 2) + + # Create list of faces + for index in range(num_of_verts): + faces_temp = [] + + if index == (num_of_verts - 1): + faces_temp.append(verts_list[index]) + faces_temp.append(verts_list[index - index]) + faces_temp.append(verts_list[index + 1]) + faces_temp.append(verts_list[index * 2 + 1]) + else: + faces_temp.append(verts_list[index]) + faces_temp.append(verts_list[index + 1]) + faces_temp.append(verts_list[index + num_of_verts + 1]) + faces_temp.append(verts_list[index + num_of_verts]) + + beamFs.append(tuple(faces_temp)) + + return beamFs + + +# ##################### +# Bridge vertices to create side faces. +# +# front_verts - front face vertices +# back_verts - back face vertices +# front & back must be ordered in same direction +# with respect to y-axis +# +# returns: +# sideFaces, a list of the bridged faces + +def beamSides(front_verts, back_verts): + sideFaces = [] + + num_of_faces = (len(front_verts)) + + # add first value to end of lists for looping + front_verts.append(front_verts[0]) + back_verts.append(back_verts[0]) + + # Build the faces + for index in range(num_of_faces): + facestemp = (front_verts[index], front_verts[index + 1], back_verts[index + 1], back_verts[index]) + sideFaces.append(facestemp) + + return sideFaces + + +# ##################### +# Creates a box beam +# +# returns: +# beamVs - x, y, z, location of each vertice +# beamFs - vertices that make up each face + +def create_beam(sRef): + + frontVs = [] + frontFs = [] + backVs = [] + + y_off = sRef.beamY / 2 # offset from center for vertices + + frontVs = beamEndVs(sRef, y_off) + backVs = beamEndVs(sRef, -y_off) + + # Combine vertices + beamVs = frontVs + backVs + + # Create front face + numofverts = len(frontVs) + verts_front_list = [] + for index in range(numofverts): + verts_front_list.append(index) + + frontFs = beamEndFaces(verts_front_list) + + # Create back face + faces_back_temp = [] + verts_back_list = [] + + numofverts = len(backVs) + for index in range(numofverts): + verts_back_list.append(index + numofverts) + + faces_back_temp = beamEndFaces(verts_back_list) + + # Create side faces + faces_side_temp = [] + + # Object has thickness, create list of outside vertices + numofverts = len(verts_front_list) + halfVerts = int(numofverts / 2) + frontVs = verts_front_list[0:halfVerts] + backVs = verts_back_list[0:halfVerts] + + faces_side_temp = beamSides(frontVs, backVs) + + # Create list of inside vertices + frontVs = verts_front_list[halfVerts:numofverts] + backVs = verts_back_list[halfVerts:numofverts] + + faces_side_temp += beamSides(frontVs, backVs) + + # Combine all faces + beamFs = frontFs + faces_back_temp + faces_side_temp + + return beamVs, beamFs + + +# ##################### +# Taper/angle faces of beam. +# inner vert toward outer vert +# based on percentage of taper. +# +# returns: +# adVert - the calculated vertex + +def beamSlant(sRef, outV, inV): + bTaper = 100 - sRef.edgeA + + # calculate variance & adjust vertex + deltaV = ((inV - outV) / 100) + adVert = outV + (deltaV * bTaper) + + return adVert + + +# ##################### +# Modify location to shape beam. +# +# verts - tuples for one end of beam +# +# returns: +# verts - modified tuples for beam shape. + +def beamSquareEnds(sRef, verts): + + # match 5th & 6th z locations to 1st & 2nd + + vert_orig = verts[0] + vert_temp = verts[4] + vert_x = beamSlant(sRef, vert_orig[0], vert_temp[0]) + verts[4] = (vert_x, vert_temp[1], vert_orig[2]) + + vert_orig = verts[1] + vert_temp = verts[5] + vert_x = beamSlant(sRef, vert_orig[0], vert_temp[0]) + verts[5] = (vert_x, vert_temp[1], vert_orig[2]) + + return verts + + +# ##################### +# +# Create U shaped beam +# Shared with C shape - see beamEndVs +# for sizing and rotate in addBeamObj. +# +# returns: +# beamVs - vertice x, y, z, locations +# beamFs - face vertices + +def create_u_beam(sRef): + + # offset vertices from center + y_off = sRef.beamY / 2 + + frontVtemp = [] + frontFtemp = [] + frontVlist = [] + + backVtemp = [] + backFtemp = [] + backVlist = [] + + sideFs = [] + + frontVtemp = beamEndVs(sRef, y_off) # Box beam + frontVtemp = beamSquareEnds(sRef, frontVtemp) # U shape + + backVtemp = beamEndVs(sRef, -y_off) + backVtemp = beamSquareEnds(sRef, backVtemp) + + beamVs = frontVtemp + backVtemp + + # Create front face + for index in range(len(frontVtemp)): # Build vert list + frontVlist.append(index) + + frontFtemp = beamEndFaces(frontVlist) + frontFtemp = frontFtemp[1:4] # Remove 1st face + + # Create back face + numofverts = len(backVtemp) + for index in range(numofverts): # Build vertex list + backVlist.append(index + numofverts) + + backFtemp = beamEndFaces(backVlist) + backFtemp = backFtemp[1:4] # Remove face + + # Create list vertices for outside faces + numofverts = int(len(frontVlist)) + halfVerts = int(numofverts / 2) + frontVtemp = frontVlist[0:halfVerts] + backVtemp = backVlist[0:halfVerts] + + sideFs = beamSides(frontVtemp, backVtemp) + sideFs = sideFs[1:] # Remove face + + # Create inside verts + frontVtemp = frontVlist[halfVerts:numofverts] + backVtemp = backVlist[halfVerts:numofverts] + + sideFs += beamSides(frontVtemp, backVtemp) + sideFs = sideFs[0:3] + sideFs[4:] # Remove face + + # fill in faces + sideFs.append((0, 4, 12, 8)) + sideFs.append((5, 1, 9, 13)) + + beamFs = frontFtemp + backFtemp + sideFs # Combine faces + + return beamVs, beamFs + + +# ##################### +# returns: +# verts_final - x, y, z, location of each vertice +# faces_final - vertices that make up each face + +def create_L_beam(sRef): + + thick = sRef.beamW + + # offset vertices from center + x_off = sRef.beamX / 2 + y_off = sRef.beamY / 2 + z_off = sRef.beamZ / 2 + + # Create temporarylists to hold vertices locations + verts_front_temp = [] + verts_back_temp = [] + + # Create front vertices by calculation + verts_front_temp = [ + (-x_off, -y_off, z_off), + (-(x_off - thick), -y_off, z_off), + (-(x_off - thick), -y_off, -(z_off - thick)), + (x_off, -y_off, -(z_off - thick)), + (x_off, -y_off, -z_off), + (-x_off, -y_off, -z_off) + ] + + # Adjust taper + vert_outside = verts_front_temp[0] + vert_inside = verts_front_temp[1] + vert_taper = beamSlant(sRef, vert_outside[0], vert_inside[0]) + verts_front_temp[1] = [vert_taper, vert_inside[1], vert_inside[2]] + + vert_outside = verts_front_temp[4] + vert_inside = verts_front_temp[3] + vert_taper = beamSlant(sRef, vert_outside[2], vert_inside[2]) + verts_front_temp[3] = [vert_inside[0], vert_inside[1], vert_taper] + + # Create back vertices by calculation + verts_back_temp = [ + (-x_off, y_off, z_off), + (-(x_off - thick), y_off, z_off), + (-(x_off - thick), y_off, -(z_off - thick)), + (x_off, y_off, -(z_off - thick)), + (x_off, y_off, -z_off), + (-x_off, y_off, -z_off) + ] + + # Adjust taper + vert_outside = verts_back_temp[0] + vert_inside = verts_back_temp[1] + vert_taper = beamSlant(sRef, vert_outside[0], vert_inside[0]) + verts_back_temp[1] = [vert_taper, vert_inside[1], vert_inside[2]] + + vert_outside = verts_back_temp[4] + vert_inside = verts_back_temp[3] + vert_taper = beamSlant(sRef, vert_outside[2], vert_inside[2]) + verts_back_temp[3] = [vert_inside[0], vert_inside[1], vert_taper] + + verts_final = verts_front_temp + verts_back_temp + + # define end faces, only 4 so just coded + faces_front_temp = [] + faces_back_temp = [] + faces_side_temp = [] + + faces_front_temp = [(0, 1, 2, 5), (2, 3, 4, 5)] + faces_back_temp = [(6, 7, 8, 11), (8, 9, 10, 11)] + + verts_front_list = [] + verts_back_list = [] + num_of_verts = len(verts_front_temp) + + # build lists of back and front verts for beamSides function + for index in range(num_of_verts): + verts_front_list.append(index) + for index in range(num_of_verts): + verts_back_list.append(index + 6) + + faces_side_temp = beamSides(verts_front_list, verts_back_list) + + faces_final = faces_front_temp + faces_back_temp + faces_side_temp + + return verts_final, faces_final + + +# ##################### +# returns: +# verts_final - a list of tuples of the x, y, z, location of each vertice +# faces_final - a list of tuples of the vertices that make up each face + +def create_T_beam(sRef): + + thick = sRef.beamW + + # Get offset of vertices from center + x_off = sRef.beamX / 2 + y_off = sRef.beamY / 2 + z_off = sRef.beamZ / 2 + thick_off = thick / 2 + + # Create temporarylists to hold vertices locations + verts_front_temp = [] + verts_back_temp = [] + + # Create front vertices + verts_front_temp = [ + (-x_off, -y_off, z_off), + (-thick_off, -y_off, z_off), + (thick_off, -y_off, z_off), + (x_off, -y_off, z_off), + (x_off, -y_off, z_off - thick), + (thick_off, -y_off, z_off - thick), + (thick_off, -y_off, -z_off), + (-thick_off, -y_off, -z_off), + (-thick_off, -y_off, z_off - thick), + (-x_off, -y_off, z_off - thick) + ] + + # Adjust taper + vert_outside = verts_front_temp[0] + vert_inside = verts_front_temp[9] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_front_temp[9] = [vert_inside[0], vert_inside[1], vert_taper] + + vert_outside = verts_front_temp[3] + vert_inside = verts_front_temp[4] + verts_front_temp[4] = [vert_inside[0], vert_inside[1], vert_taper] + + # Adjust taper of bottom of beam, so 0 the center + # now becomes vert_outside, and vert_inside is calculated + # 1/2 way towards center + vert_outside = (0, -y_off, -z_off) + vert_inside = verts_front_temp[6] + vert_taper = (beamSlant(sRef, vert_outside[0], vert_inside[0])) + verts_front_temp[6] = [vert_taper, vert_inside[1], vert_inside[2]] + + vert_outside = (0, -y_off, -z_off) + vert_inside = verts_front_temp[7] + vert_taper = beamSlant(sRef, vert_outside[0], vert_inside[0]) + verts_front_temp[7] = [vert_taper, vert_inside[1], vert_inside[2]] + + # Create fack vertices by calculation + verts_back_temp = [ + (-x_off, y_off, z_off), + (-thick_off, y_off, z_off), + (thick_off, y_off, z_off), + (x_off, y_off, z_off), + (x_off, y_off, z_off - thick), + (thick_off, y_off, z_off - thick), + (thick_off, y_off, -z_off), + (-thick_off, y_off, -z_off), + (-thick_off, y_off, z_off - thick), + (-x_off, y_off, z_off - thick) + ] + + # Adjust taper + vert_outside = verts_back_temp[0] + vert_inside = verts_back_temp[9] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_back_temp[9] = [vert_inside[0], vert_inside[1], vert_taper] + + vert_outside = verts_back_temp[3] + vert_inside = verts_back_temp[4] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_back_temp[4] = [vert_inside[0], vert_inside[1], vert_taper] + + # Adjust taper of bottom of beam, so 0 the center + # now becomes vert_outside, and vert_inside is calculated + # 1/2 way towards center + vert_outside = (0, -y_off, -z_off) + vert_inside = verts_back_temp[6] + vert_taper = (beamSlant(sRef, vert_outside[0], vert_inside[0])) + verts_back_temp[6] = [vert_taper, vert_inside[1], vert_inside[2]] + + vert_outside = (0, -y_off, -z_off) + vert_inside = verts_back_temp[7] + vert_taper = (beamSlant(sRef, vert_outside[0], vert_inside[0])) + verts_back_temp[7] = [vert_taper, vert_inside[1], vert_inside[2]] + + verts_final = verts_front_temp + verts_back_temp + + # define end faces, only 8 so just coded + faces_front_temp = [] + faces_back_temp = [] + faces_side_temp = [] + + faces_front_temp = [(0, 1, 8, 9), (1, 2, 5, 8), + (2, 3, 4, 5), (5, 6, 7, 8)] + + faces_back_temp = [(10, 11, 18, 19), (11, 12, 15, 18), + (12, 13, 14, 15), (15, 16, 17, 18)] + + verts_front_list = [] + verts_back_list = [] + num_of_verts = len(verts_front_temp) + + # build lists of back and front verts for beamSides function + for index in range(num_of_verts): + verts_front_list.append(index) + for index in range(num_of_verts): + verts_back_list.append(index + 10) + + faces_side_temp = beamSides(verts_front_list, verts_back_list) + + faces_final = faces_front_temp + faces_back_temp + faces_side_temp + + return verts_final, faces_final + + +# ##################### +# returns: +# verts_final - a list of tuples of the x, y, z, location of each vertice +# faces_final - a list of tuples of the vertices that make up each face + +def create_I_beam(sRef): + + thick = sRef.beamW + + # Get offset of vertices from center + x_off = sRef.beamX / 2 + y_off = sRef.beamY / 2 + z_off = sRef.beamZ / 2 + thick_off = thick / 2 + + # Create temporarylists to hold vertices locations + verts_front_temp = [] + verts_back_temp = [] + + # Create front vertices by calculation + verts_front_temp = [ + (-x_off, -y_off, z_off), + (-thick_off, -y_off, z_off), + (thick_off, -y_off, z_off), + (x_off, -y_off, z_off), + (x_off, -y_off, z_off - thick), + (thick_off, -y_off, z_off - thick), + (thick_off, -y_off, -z_off + thick), + (x_off, -y_off, -z_off + thick), + (x_off, -y_off, -z_off), + (thick_off, -y_off, -z_off), + (-thick_off, -y_off, -z_off), + (-x_off, -y_off, -z_off), + (-x_off, -y_off, -z_off + thick), + (-thick_off, -y_off, -z_off + thick), + (-thick_off, -y_off, z_off - thick), + (-x_off, -y_off, z_off - thick) + ] + + # Adjust taper + vert_outside = verts_front_temp[0] + vert_inside = verts_front_temp[15] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_front_temp[15] = [vert_inside[0], vert_inside[1], vert_taper] + + vert_outside = verts_front_temp[3] + vert_inside = verts_front_temp[4] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_front_temp[4] = [vert_inside[0], vert_inside[1], vert_taper] + + vert_outside = verts_front_temp[8] + vert_inside = verts_front_temp[7] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_front_temp[7] = [vert_inside[0], vert_inside[1], vert_taper] + + vert_outside = verts_front_temp[11] + vert_inside = verts_front_temp[12] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_front_temp[12] = [vert_inside[0], vert_inside[1], vert_taper] + + # Create back vertices by calculation + verts_back_temp = [ + (-x_off, y_off, z_off), + (-thick_off, y_off, z_off), + (thick_off, y_off, z_off), + (x_off, y_off, z_off), + (x_off, y_off, z_off - thick), + (thick_off, y_off, z_off - thick), + (thick_off, y_off, -z_off + thick), + (x_off, y_off, -z_off + thick), + (x_off, y_off, -z_off), + (thick_off, y_off, -z_off), + (-thick_off, y_off, -z_off), + (-x_off, y_off, -z_off), + (-x_off, y_off, -z_off + thick), + (-thick_off, y_off, -z_off + thick), + (-thick_off, y_off, z_off - thick), + (-x_off, y_off, z_off - thick) + ] + + # Adjust taper + vert_outside = verts_back_temp[0] + vert_inside = verts_back_temp[15] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_back_temp[15] = [vert_inside[0], vert_inside[1], vert_taper] + + vert_outside = verts_back_temp[3] + vert_inside = verts_back_temp[4] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_back_temp[4] = [vert_inside[0], vert_inside[1], vert_taper] + + vert_outside = verts_back_temp[8] + vert_inside = verts_back_temp[7] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_back_temp[7] = [vert_inside[0], vert_inside[1], vert_taper] + + vert_outside = verts_back_temp[11] + vert_inside = verts_back_temp[12] + vert_taper = (beamSlant(sRef, vert_outside[2], vert_inside[2])) + verts_back_temp[12] = [vert_inside[0], vert_inside[1], vert_taper] + + verts_final = verts_front_temp + verts_back_temp + +# define end faces, only 7 per end, so just coded + faces_front_temp = [] + faces_back_temp = [] + faces_side_temp = [] + + faces_front_temp = [(0, 1, 14, 15), (1, 2, 5, 14), + (2, 3, 4, 5), (6, 7, 8, 9), + (6, 9, 10, 13), (12, 13, 10, 11), + (5, 6, 13, 14)] + + faces_back_temp = [(16, 17, 30, 31), (17, 18, 21, 30), + (18, 19, 20, 21), (22, 23, 24, 25), + (22, 25, 26, 29), (28, 29, 26, 27), + (21, 22, 29, 30)] + + verts_front_list = [] + verts_back_list = [] + num_of_verts = len(verts_front_temp) + + # build lists of back and front verts for beamSides function + for index in range(num_of_verts): + verts_front_list.append(index) + for index in range(num_of_verts): + verts_back_list.append(index + 16) + + faces_side_temp = beamSides(verts_front_list, verts_back_list) + + faces_final = faces_front_temp + faces_back_temp + faces_side_temp + + return verts_final, faces_final + + +# ###################### +# +# Generate beam mesh. + +def addBeamMesh(sRef, context): + verts = [] + faces = [] + + # type of beam to add + if sRef.Type == '0': + verts, faces = create_beam(sRef) + elif sRef.Type == '1': + verts, faces = create_u_beam(sRef) + elif sRef.Type == '2': + verts, faces = create_u_beam(sRef) + elif sRef.Type == '3': + verts, faces = create_L_beam(sRef) + elif sRef.Type == '4': + verts, faces = create_I_beam(sRef) + elif sRef.Type == '5': + verts, faces = create_T_beam(sRef) + else: # unknown type, use default. + verts, faces = create_beam(sRef) + + beamMesh = bpy.data.meshes.new("Beam") + + beamMesh.from_pydata(verts, [], faces) + beamMesh.update(calc_edges=True) + + return beamMesh + + +# ###################### +# Create a beam primitive. +# +# UI functions and object creation. + +class addBeam(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.add_beam" + bl_label = "Beam Builder" + bl_description = "Create beam meshes of various profiles" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + Beam : BoolProperty(name = "Beam", + default = True, + description = "Beam") + change : BoolProperty(name = "Change", + default = False, + description = "change Beam") + + Type: EnumProperty( + name="Beam Type", + items=( + ('0', "Box Profile", "Square Beam"), + ("1", "U Profile", "U Profile Beam"), + ("2", "C Profile", "C Profile Beam"), + ("3", "L Profile", "L Profile Beam"), + ("4", "I Profile", "I Profile Beam"), + ("5", "T Profile", "T Profile Beam") + ), + description="Beam form" + ) + beamZ: FloatProperty( + name="Height", + min=0.01, + #max=100, + default=1 + ) + beamX: FloatProperty( + name="Width", + min=0.01, + #max=100, + default=.5 + ) + beamY: FloatProperty( + name="Depth", + min=0.01, + #max=100, + default=2 + ) + beamW: FloatProperty( + name="Thickness", + min=0.01, + #max=1, + default=0.1 + ) + edgeA: IntProperty( + name="Taper", + min=0, + #max=100, + default=0, + description="Angle beam edges" + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, "Type") + layout.separator() + layout.prop(self, "beamZ") + layout.prop(self, "beamX") + layout.prop(self, "beamY") + layout.prop(self, "beamW") + if self.Type != '0': + layout.prop(self, "edgeA") + + if self.change == False: + # generic transform props + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if bpy.context.mode == "OBJECT": + + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('Beam' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + mesh = addBeamMesh(self, context) + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + mesh = addBeamMesh(self, context) + obj = object_utils.object_data_add(context, mesh, operator=self) + + if self.Type == '2': # Rotate C shape + bpy.ops.transform.rotate(value=1.570796, constraint_axis=[False, True, False]) + bpy.ops.object.transform_apply(location=False, rotation=True, scale=False) + + obj.data["Beam"] = True + obj.data["change"] = False + for prm in BeamParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + mesh = addBeamMesh(self, context) + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def BeamParameters(): + BeamParameters = [ + "Type", + "beamZ", + "beamX", + "beamY", + "beamW", + "edgeA", + ] + return BeamParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_gears.py b/extensions/blender_org/extra_mesh_objects/add_mesh_gears.py new file mode 100644 index 0000000..897d228 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_gears.py @@ -0,0 +1,987 @@ +# SPDX-FileCopyrightText: 2009-2010 Michel J. Anders (varkenvarken) +# +# SPDX-License-Identifier: GPL-2.0-or-later + +import bpy +from bpy.types import Operator +from math import ( + atan, asin, cos, + sin, tan, pi, + radians, + ) +from bpy.props import ( + FloatProperty, + IntProperty, + BoolProperty, + StringProperty, + FloatVectorProperty + ) +from mathutils import ( + Vector, + Matrix, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + +# A very simple "bridge" tool. +# Connects two equally long vertex rows with faces. +# Returns a list of the new faces (list of lists) +# +# vertIdx1 ... First vertex list (list of vertex indices) +# vertIdx2 ... Second vertex list (list of vertex indices) +# closed ... Creates a loop (first & last are closed) +# flipped ... Invert the normal of the face(s) +# +# Note: You can set vertIdx1 to a single vertex index to create +# a fan/star of faces +# Note: If both vertex idx list are the same length they have +# to have at least 2 vertices + +def createFaces(vertIdx1, vertIdx2, closed=False, flipped=False): + faces = [] + + if not vertIdx1 or not vertIdx2: + return None + + if len(vertIdx1) < 2 and len(vertIdx2) < 2: + return None + + fan = False + if (len(vertIdx1) != len(vertIdx2)): + if (len(vertIdx1) == 1 and len(vertIdx2) > 1): + fan = True + else: + return None + + total = len(vertIdx2) + + if closed: + # Bridge the start with the end. + if flipped: + face = [ + vertIdx1[0], + vertIdx2[0], + vertIdx2[total - 1]] + if not fan: + face.append(vertIdx1[total - 1]) + faces.append(face) + + else: + face = [vertIdx2[0], vertIdx1[0]] + if not fan: + face.append(vertIdx1[total - 1]) + face.append(vertIdx2[total - 1]) + faces.append(face) + + # Bridge the rest of the faces. + for num in range(total - 1): + if flipped: + if fan: + face = [vertIdx2[num], vertIdx1[0], vertIdx2[num + 1]] + else: + face = [vertIdx2[num], vertIdx1[num], + vertIdx1[num + 1], vertIdx2[num + 1]] + faces.append(face) + else: + if fan: + face = [vertIdx1[0], vertIdx2[num], vertIdx2[num + 1]] + else: + face = [vertIdx1[num], vertIdx2[num], + vertIdx2[num + 1], vertIdx1[num + 1]] + faces.append(face) + + return faces + + +# Calculate the vertex coordinates for a single +# section of a gear tooth. +# Returns 4 lists of vertex coords (list of tuples): +# *-*---*---* (1.) verts_inner_base +# | | | | +# *-*---*---* (2.) verts_outer_base +# | | | +# *---*---* (3.) verts_middle_tooth +# \ | / +# *-*-* (4.) verts_tip_tooth +# +# a +# t +# d +# radius +# Ad +# De +# base +# p_angle +# rack +# crown + +def add_tooth(a, t, d, radius, Ad, De, base, p_angle, rack=0, crown=0.0): + A = [a, a + t / 4, a + t / 2, a + 3 * t / 4] + C = [cos(i) for i in A] + S = [sin(i) for i in A] + + Ra = radius + Ad + Rd = radius - De + Rb = Rd - base + + # Pressure angle calc + O = Ad * tan(p_angle) + if Ra != 0: + p_angle = atan(O / Ra) + else: + p_angle = atan(O) + + if radius < 0: + p_angle = -p_angle + + if rack: + S = [sin(t / 4) * I for I in range(-2, 3)] + Sp = [0, sin(-t / 4 + p_angle), 0, sin(t / 4 - p_angle)] + + verts_inner_base = [(Rb, radius * S[I], d) for I in range(4)] + verts_outer_base = [(Rd, radius * S[I], d) for I in range(4)] + verts_middle_tooth = [(radius, radius * S[I], d) for I in range(1, 4)] + verts_tip_tooth = [(Ra, radius * Sp[I], d) for I in range(1, 4)] + + else: + Cp = [ + 0, + cos(a + t / 4 + p_angle), + cos(a + t / 2), + cos(a + 3 * t / 4 - p_angle)] + Sp = [0, + sin(a + t / 4 + p_angle), + sin(a + t / 2), + sin(a + 3 * t / 4 - p_angle)] + + verts_inner_base = [(Rb * C[I], Rb * S[I], d) + for I in range(4)] + verts_outer_base = [(Rd * C[I], Rd * S[I], d) + for I in range(4)] + verts_middle_tooth = [(radius * C[I], radius * S[I], d + crown / 3) + for I in range(1, 4)] + verts_tip_tooth = [(Ra * Cp[I], Ra * Sp[I], d + crown) + for I in range(1, 4)] + + return (verts_inner_base, verts_outer_base, + verts_middle_tooth, verts_tip_tooth) + + +# EXPERIMENTAL Calculate the vertex coordinates for a single +# section of a gearspoke. +# Returns them as a list of tuples +# +# a +# t +# d +# radius +# De +# base +# s +# w +# l +# gap +# width +# +# @todo Finish this. + +def add_spoke(a, t, d, radius, De, base, s, w, l, gap=0, width=19): + Rd = radius - De + Rb = Rd - base + + verts = [] + edgefaces = [] + edgefaces2 = [] + sf = [] + + if not gap: + for N in range(width, 1, -2): + edgefaces.append(len(verts)) + ts = t / 4 + tm = a + 2 * ts + te = asin(w / Rb) + td = te - ts + t4 = ts + td * (width - N) / (width - 3.0) + A = [tm + (i - int(N / 2)) * t4 for i in range(N)] + C = [cos(i) for i in A] + S = [sin(i) for i in A] + + verts.extend((Rb * I, Rb * J, d) for (I, J) in zip(C, S)) + edgefaces2.append(len(verts) - 1) + + Rb = Rb - s + + n = 0 + for N in range(width, 3, -2): + sf.extend([(i + n, i + 1 + n, i + 2 + n, i + N + n) + for i in range(0, N - 1, 2)]) + sf.extend([(i + 2 + n, i + N + n, i + N + 1 + n, i + N + 2 + n) + for i in range(0, N - 3, 2)]) + + n = n + N + + return verts, edgefaces, edgefaces2, sf + + +# Create gear geometry. +# Returns: +# * A list of vertices (list of tuples) +# * A list of faces (list of lists) +# * A list (group) of vertices of the tip (list of vertex indices) +# * A list (group) of vertices of the valley (list of vertex indices) +# +# teethNum ... Number of teeth on the gear +# radius ... Radius of the gear, negative for crown gear +# Ad ... Addendum, extent of tooth above radius +# De ... Dedendum, extent of tooth below radius +# base ... Base, extent of gear below radius +# p_angle ... Pressure angle. Skewness of tooth tip. (radiant) +# width ... Width, thickness of gear +# skew ... Skew of teeth. (radiant) +# conangle ... Conical angle of gear. (radiant) +# rack +# crown ... Inward pointing extend of crown teeth +# +# inner radius = radius - (De + base) + +def add_gear(teethNum, radius, Ad, De, base, p_angle, + width=1, skew=0, conangle=0, rack=0, crown=0.0): + + if teethNum < 2: + return None, None, None, None + + t = 2 * pi / teethNum + + if rack: + teethNum = 1 + + #print(radius, width, conangle) + if radius != 0: + scale = (radius - 2 * width * tan(conangle)) / radius + else: + scale = radius - 2 * width * tan(conangle) + + verts = [] + faces = [] + vgroup_top = [] # Vertex group of top/tip? vertices. + vgroup_valley = [] # Vertex group of valley vertices + + verts_bridge_prev = [] + for toothCnt in range(teethNum): + a = toothCnt * t + + verts_bridge_start = [] + verts_bridge_end = [] + + verts_outside_top = [] + verts_outside_bottom = [] + for (s, d, c, top) \ + in [(0, -width, 1, True), (skew, width, scale, False)]: + + verts1, verts2, verts3, verts4 = add_tooth(a + s, t, d, + radius * c, Ad * c, De * c, base * c, p_angle, + rack, crown) + + vertsIdx1 = list(range(len(verts), len(verts) + len(verts1))) + verts.extend(verts1) + vertsIdx2 = list(range(len(verts), len(verts) + len(verts2))) + verts.extend(verts2) + vertsIdx3 = list(range(len(verts), len(verts) + len(verts3))) + verts.extend(verts3) + vertsIdx4 = list(range(len(verts), len(verts) + len(verts4))) + verts.extend(verts4) + + verts_outside = [] + verts_outside.extend(vertsIdx2[:2]) + verts_outside.append(vertsIdx3[0]) + verts_outside.extend(vertsIdx4) + verts_outside.append(vertsIdx3[-1]) + verts_outside.append(vertsIdx2[-1]) + + if top: + # verts_inside_top = vertsIdx1 + verts_outside_top = verts_outside + + verts_bridge_start.append(vertsIdx1[0]) + verts_bridge_start.append(vertsIdx2[0]) + verts_bridge_end.append(vertsIdx1[-1]) + verts_bridge_end.append(vertsIdx2[-1]) + + else: + # verts_inside_bottom = vertsIdx1 + verts_outside_bottom = verts_outside + + verts_bridge_start.append(vertsIdx2[0]) + verts_bridge_start.append(vertsIdx1[0]) + verts_bridge_end.append(vertsIdx2[-1]) + verts_bridge_end.append(vertsIdx1[-1]) + + # Valley = first 2 vertices of outer base: + vgroup_valley.extend(vertsIdx2[:1]) + # Top/tip vertices: + vgroup_top.extend(vertsIdx4) + + faces_tooth_middle_top = createFaces(vertsIdx2[1:], vertsIdx3, + flipped=top) + faces_tooth_outer_top = createFaces(vertsIdx3, vertsIdx4, + flipped=top) + + faces_base_top = createFaces(vertsIdx1, vertsIdx2, flipped=top) + faces.extend(faces_base_top) + + faces.extend(faces_tooth_middle_top) + faces.extend(faces_tooth_outer_top) + + # faces_inside = createFaces(verts_inside_top, verts_inside_bottom) + # faces.extend(faces_inside) + + faces_outside = createFaces(verts_outside_top, verts_outside_bottom, + flipped=True) + faces.extend(faces_outside) + + if toothCnt == 0: + verts_bridge_first = verts_bridge_start + + # Bridge one tooth to the next + if verts_bridge_prev: + faces_bridge = createFaces(verts_bridge_prev, verts_bridge_start) + faces.extend(faces_bridge) + + # Remember "end" vertices for next tooth. + verts_bridge_prev = verts_bridge_end + + # Bridge the first to the last tooth. + faces_bridge_f_l = createFaces(verts_bridge_prev, verts_bridge_first) + faces.extend(faces_bridge_f_l) + + return verts, faces, vgroup_top, vgroup_valley + + +# Create spokes geometry +# Returns: +# * A list of vertices (list of tuples) +# * A list of faces (list of lists) +# +# teethNum ... Number of teeth on the gear. +# radius ... Radius of the gear, negative for crown gear +# De ... Dedendum, extent of tooth below radius +# base ... Base, extent of gear below radius +# width ... Width, thickness of gear +# conangle ... Conical angle of gear. (radiant) +# rack +# spoke +# spbevel +# spwidth +# splength +# spresol +# +# @todo Finish this +# @todo Create a function that takes a "Gear" and creates a +# matching "Gear Spokes" object + +def add_spokes(teethNum, radius, De, base, width=1, conangle=0, rack=0, + spoke=3, spbevel=0.1, spwidth=0.2, splength=1.0, spresol=9): + + if teethNum < 2: + return None, None, None, None + + if spoke < 2: + return None, None, None, None + + t = 2 * pi / teethNum + + if rack: + teethNum = 1 + + scale = (radius - 2 * width * tan(conangle)) / radius + + verts = [] + faces = [] + + c = scale # debug + + fl = len(verts) + for toothCnt in range(teethNum): + a = toothCnt * t + s = 0 # For test + + if toothCnt % spoke == 0: + for d in (-width, width): + sv, edgefaces, edgefaces2, sf = add_spoke(a + s, t, d, + radius * c, De * c, base * c, + spbevel, spwidth, splength, 0, spresol) + verts.extend(sv) + faces.extend([j + fl for j in i] for i in sf) + fl += len(sv) + + d1 = fl - len(sv) + d2 = fl - 2 * len(sv) + + faces.extend([(i + d2, j + d2, j + d1, i + d1) + for (i, j) in zip(edgefaces[:-1], edgefaces[1:])]) + faces.extend([(i + d2, j + d2, j + d1, i + d1) + for (i, j) in zip(edgefaces2[:-1], edgefaces2[1:])]) + + else: + for d in (-width, width): + sv, edgefaces, edgefaces2, sf = add_spoke(a + s, t, d, + radius * c, De * c, base * c, + spbevel, spwidth, splength, 1, spresol) + + verts.extend(sv) + fl += len(sv) + + d1 = fl - len(sv) + d2 = fl - 2 * len(sv) + + faces.extend([[i + d2, i + 1 + d2, i + 1 + d1, i + d1] + for (i) in range(0, 3)]) + faces.extend([[i + d2, i + 1 + d2, i + 1 + d1, i + d1] + for (i) in range(5, 8)]) + + return verts, faces + + +# Create worm geometry. +# Returns: +# * A list of vertices +# * A list of faces +# * A list (group) of vertices of the tip +# * A list (group) of vertices of the valley +# +# teethNum ... Number of teeth on the worm +# radius ... Radius of the gear, negative for crown gear +# Ad ... Addendum, extent of tooth above radius +# De ... Dedendum, extent of tooth below radius +# p_angle ... Pressure angle. Skewness of tooth tip. (radiant) +# width ... Width, thickness of gear +# crown ... Inward pointing extend of crown teeth +# +# @todo: Fix teethNum. Some numbers are not possible yet +# @todo: Create start & end geometry (closing faces) + +def add_worm(teethNum, rowNum, radius, Ad, De, p_angle, + width=1, skew=radians(11.25), crown=0.0): + + worm = teethNum + teethNum = 24 + + t = 2 * pi / teethNum + + verts = [] + faces = [] + vgroup_top = [] # Vertex group of top/tip? vertices. + vgroup_valley = [] # Vertex group of valley vertices + + # width = width / 2.0 + + edgeloop_prev = [] + for Row in range(rowNum): + edgeloop = [] + + for toothCnt in range(teethNum): + a = toothCnt * t + + s = Row * skew + d = Row * width + c = 1 + + isTooth = False + if toothCnt % (teethNum / worm) != 0: + # Flat + verts1, verts2, verts3, verts4 = add_tooth(a + s, t, d, + radius - De, 0.0, 0.0, 0, p_angle) + + # Ignore other verts than the "other base". + verts1 = verts3 = verts4 = [] + + else: + # Tooth + isTooth = True + verts1, verts2, verts3, verts4 = add_tooth(a + s, t, d, + radius * c, Ad * c, De * c, 0 * c, p_angle, 0, crown) + + # Remove various unneeded verts (if we are "inside" the tooth) + del(verts2[2]) # Central vertex in the base of the tooth. + del(verts3[1]) # Central vertex in the middle of the tooth. + + vertsIdx2 = list(range(len(verts), len(verts) + len(verts2))) + verts.extend(verts2) + vertsIdx3 = list(range(len(verts), len(verts) + len(verts3))) + verts.extend(verts3) + vertsIdx4 = list(range(len(verts), len(verts) + len(verts4))) + verts.extend(verts4) + + if isTooth: + verts_current = [] + verts_current.extend(vertsIdx2[:2]) + verts_current.append(vertsIdx3[0]) + verts_current.extend(vertsIdx4) + verts_current.append(vertsIdx3[-1]) + verts_current.append(vertsIdx2[-1]) + + # Valley = first 2 vertices of outer base: + vgroup_valley.extend(vertsIdx2[:1]) + # Top/tip vertices: + vgroup_top.extend(vertsIdx4) + + else: + # Flat + verts_current = vertsIdx2 + + # Valley - all of them. + vgroup_valley.extend(vertsIdx2) + + edgeloop.extend(verts_current) + + # Create faces between rings/rows. + if edgeloop_prev: + faces_row = createFaces(edgeloop, edgeloop_prev, closed=True) + faces.extend(faces_row) + + # Remember last ring/row of vertices for next ring/row iteration. + edgeloop_prev = edgeloop + + return verts, faces, vgroup_top, vgroup_valley + +def AddGearMesh(self, context): + + verts, faces, verts_tip, verts_valley = add_gear( + self.number_of_teeth, + self.radius, + self.addendum, + self.dedendum, + self.base, + self.angle, + width=self.width, + skew=self.skew, + conangle=self.conangle, + crown=self.crown + ) + + mesh = bpy.data.meshes.new("Gear") + mesh.from_pydata(verts, [], faces) + + return mesh, verts_tip, verts_valley + + +class AddGear(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_gear" + bl_label = "Add Gear" + bl_description = "Construct a gear mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + Gear : BoolProperty(name = "Gear", + default = True, + description = "Gear") + + #### change properties + name : StringProperty(name = "Name", + description = "Name") + + change : BoolProperty(name = "Change", + default = False, + description = "change Gear") + + number_of_teeth: IntProperty(name="Teeth", + description="Number of teeth on the gear", + min=2, + soft_max=1000, + default=12 + ) + radius: FloatProperty(name="Radius", + description="Radius of the gear, negative for crown gear", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=1.0 + ) + addendum: FloatProperty(name="Addendum", + description="Addendum, extent of tooth above radius", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=0.1 + ) + dedendum: FloatProperty(name="Dedendum", + description="Dedendum, extent of tooth below radius", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=0.1 + ) + angle: FloatProperty(name="Pressure Angle", + description="Pressure angle, skewness of tooth tip", + soft_min=radians(-45.0), + soft_max=radians(45.0), + unit='ROTATION', + default=radians(20.0) + ) + base: FloatProperty(name="Base", + description="Base, extent of gear below radius", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=0.2 + ) + width: FloatProperty(name="Width", + description="Width, thickness of gear", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=0.2 + ) + skew: FloatProperty(name="Skewness", + description="Skew of teeth", + soft_min=radians(-360.0), + soft_max=radians(360.0), + unit='ROTATION', + default=radians(0.0) + ) + conangle: FloatProperty(name="Conical Angle", + description="Conical angle of gear", + soft_min=radians(-360.0), + soft_max=radians(360.0), + unit='ROTATION', + default=radians(0.0) + ) + crown: FloatProperty(name="Crown", + description="Inward pointing extend of crown teeth", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=0.0 + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'number_of_teeth') + layout.separator() + layout.prop(self, 'radius') + layout.prop(self, 'width') + layout.prop(self, 'base') + layout.separator() + layout.prop(self, 'dedendum') + layout.prop(self, 'addendum') + layout.separator() + layout.prop(self, 'angle') + layout.prop(self, 'skew') + layout.prop(self, 'conangle') + layout.prop(self, 'crown') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + @classmethod + def poll(cls, context): + return context.scene is not None + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('Gear' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + mesh, verts_tip, verts_valley = AddGearMesh(self, context) + obj.data = mesh + try: + bpy.ops.object.vertex_group_remove(all=True) + except: + pass + + for material in oldmesh.materials: + obj.data.materials.append(material) + + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + mesh, verts_tip, verts_valley = AddGearMesh(self, context) + obj = object_utils.object_data_add(context, mesh, operator=self) + + # Create vertex groups from stored vertices. + tipGroup = obj.vertex_groups.new(name='Tips') + tipGroup.add(verts_tip, 1.0, 'ADD') + + valleyGroup = obj.vertex_groups.new(name='Valleys') + valleyGroup.add(verts_valley, 1.0, 'ADD') + + obj.data["Gear"] = True + obj.data["change"] = False + for prm in GearParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + mesh, verts_tip, verts_valley = AddGearMesh(self, context) + obj = object_utils.object_data_add(context, mesh, operator=self) + + # Create vertex groups from stored vertices. + tipGroup = obj.vertex_groups.new(name='Tips') + tipGroup.add(verts_tip, 1.0, 'ADD') + + valleyGroup = obj.vertex_groups.new(name='Valleys') + valleyGroup.add(verts_valley, 1.0, 'ADD') + + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + + def invoke(self, context, event): + self.execute(context) + + return {'FINISHED'} + +def GearParameters(): + GearParameters = [ + "number_of_teeth", + "radius", + "addendum", + "dedendum", + "base", + "angle", + "width", + "skew", + "conangle", + "crown", + ] + return GearParameters + +def AddWormGearMesh(self, context): + + verts, faces, verts_tip, verts_valley = add_worm( + self.number_of_teeth, + self.number_of_rows, + self.radius, + self.addendum, + self.dedendum, + self.angle, + width=self.row_height, + skew=self.skew, + crown=self.crown + ) + + mesh = bpy.data.meshes.new("Worm Gear") + mesh.from_pydata(verts, [], faces) + + return mesh, verts_tip, verts_valley + + +class AddWormGear(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_worm_gear" + bl_label = "Add Worm Gear" + bl_description = "Construct a worm gear mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + WormGear : BoolProperty(name = "WormGear", + default = True, + description = "WormGear") + + #### change properties + name : StringProperty(name = "Name", + description = "Name") + + change : BoolProperty(name = "Change", + default = False, + description = "change WormGear") + + number_of_teeth: IntProperty( + name="Teeth", + description="Number of teeth on the gear", + min=1, + soft_max=1000, + default=12 + ) + number_of_rows: IntProperty( + name="Rows", + description="Number of rows on the worm gear", + min=0, + soft_max=1000, + default=32 + ) + radius: FloatProperty( + name="Radius", + description="Radius of the gear, negative for crown gear", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=1.0 + ) + addendum: FloatProperty( + name="Addendum", + description="Addendum, extent of tooth above radius", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=0.1 + ) + dedendum: FloatProperty( + name="Dedendum", + description="Dedendum, extent of tooth below radius", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=0.1 + ) + angle: FloatProperty( + name="Pressure Angle", + description="Pressure angle, skewness of tooth tip", + soft_min=radians(-45.0), + soft_max=radians(45.0), + default=radians(20.0), + unit='ROTATION' + ) + row_height: FloatProperty( + name="Row Height", + description="Height of each Row", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=0.2 + ) + skew: FloatProperty( + name="Skewness per Row", + description="Skew of each row", + soft_min=radians(-360.0), + soft_max=radians(360.0), + default=radians(11.25), + unit='ROTATION' + ) + crown: FloatProperty( + name="Crown", + description="Inward pointing extend of crown teeth", + soft_min=-1000.0, + soft_max=1000.0, + unit='LENGTH', + default=0.0 + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, "number_of_teeth") + layout.prop(self, "number_of_rows") + layout.separator() + layout.prop(self, "radius") + layout.prop(self, "row_height") + layout.separator() + layout.prop(self, "addendum") + layout.prop(self, "dedendum") + layout.separator() + layout.prop(self, "angle") + layout.prop(self, "skew") + layout.prop(self, "crown") + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('WormGear' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + + mesh, verts_tip, verts_valley = AddWormGearMesh(self, context) + obj.data = mesh + try: + bpy.ops.object.vertex_group_remove(all=True) + except: + pass + + for material in oldmesh.materials: + obj.data.materials.append(material) + + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + mesh, verts_tip, verts_valley = AddWormGearMesh(self, context) + obj = object_utils.object_data_add(context, mesh, operator=self) + + # Create vertex groups from stored vertices. + tipGroup = obj.vertex_groups.new(name = 'Tips') + tipGroup.add(verts_tip, 1.0, 'ADD') + + valleyGroup = obj.vertex_groups.new(name = 'Valleys') + valleyGroup.add(verts_valley, 1.0, 'ADD') + + obj.data["WormGear"] = True + obj.data["change"] = False + for prm in WormGearParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + mesh, verts_tip, verts_valley = AddWormGearMesh(self, context) + obj = object_utils.object_data_add(context, mesh, operator=self) + + # Create vertex groups from stored vertices. + tipGroup = obj.vertex_groups.new(name = 'Tips') + tipGroup.add(verts_tip, 1.0, 'ADD') + + valleyGroup = obj.vertex_groups.new(name = 'Valleys') + valleyGroup.add(verts_valley, 1.0, 'ADD') + + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def WormGearParameters(): + WormGearParameters = [ + "number_of_teeth", + "number_of_rows", + "radius", + "addendum", + "dedendum", + "angle", + "row_height", + "skew", + "crown", + ] + return WormGearParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_gemstones.py b/extensions/blender_org/extra_mesh_objects/add_mesh_gemstones.py new file mode 100644 index 0000000..9c64416 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_gemstones.py @@ -0,0 +1,516 @@ +# SPDX-FileCopyrightText: 2010-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author: Pontiac, Fourmadmen, Dreampainter + +import bpy +from bpy.types import Operator +from mathutils import ( + Vector, + Quaternion, + ) +from math import cos, sin, pi +from bpy.props import ( + FloatProperty, + IntProperty, + BoolProperty, + StringProperty, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + +# Create a new mesh (object) from verts/edges/faces. +# verts/edges/faces ... List of vertices/edges/faces for the +# new mesh (as used in from_pydata) +# name ... Name of the new mesh (& object) + +def create_mesh_object(context, self, verts, edges, faces, name): + + # Create new mesh + mesh = bpy.data.meshes.new(name) + + # Make a mesh from a list of verts/edges/faces. + mesh.from_pydata(verts, edges, faces) + + # Update mesh geometry after adding stuff. + mesh.update() + + from bpy_extras import object_utils + return object_utils.object_data_add(context, mesh, operator=self) + + +# A very simple "bridge" tool. + +def createFaces(vertIdx1, vertIdx2, closed=False, flipped=False): + faces = [] + + if not vertIdx1 or not vertIdx2: + return None + + if len(vertIdx1) < 2 and len(vertIdx2) < 2: + return None + + fan = False + if (len(vertIdx1) != len(vertIdx2)): + if (len(vertIdx1) == 1 and len(vertIdx2) > 1): + fan = True + else: + return None + + total = len(vertIdx2) + + if closed: + # Bridge the start with the end + if flipped: + face = [ + vertIdx1[0], + vertIdx2[0], + vertIdx2[total - 1]] + if not fan: + face.append(vertIdx1[total - 1]) + faces.append(face) + + else: + face = [vertIdx2[0], vertIdx1[0]] + if not fan: + face.append(vertIdx1[total - 1]) + face.append(vertIdx2[total - 1]) + faces.append(face) + + # Bridge the rest of the faces + for num in range(total - 1): + if flipped: + if fan: + face = [vertIdx2[num], vertIdx1[0], vertIdx2[num + 1]] + else: + face = [vertIdx2[num], vertIdx1[num], + vertIdx1[num + 1], vertIdx2[num + 1]] + faces.append(face) + else: + if fan: + face = [vertIdx1[0], vertIdx2[num], vertIdx2[num + 1]] + else: + face = [vertIdx1[num], vertIdx2[num], + vertIdx2[num + 1], vertIdx1[num + 1]] + faces.append(face) + + return faces + + +# @todo Clean up vertex&face creation process a bit. +def add_gem(r1, r2, seg, h1, h2): + """ + r1 = pavilion radius + r2 = crown radius + seg = number of segments + h1 = pavilion height + h2 = crown height + Generates the vertices and faces of the gem + """ + + verts = [] + + a = 2.0 * pi / seg # Angle between segments + offset = a / 2.0 # Middle between segments + + r3 = ((r1 + r2) / 2.0) / cos(offset) # Middle of crown + r4 = (r1 / 2.0) / cos(offset) # Middle of pavilion + h3 = h2 / 2.0 # Middle of crown height + h4 = -h1 / 2.0 # Middle of pavilion height + + # Tip + vert_tip = len(verts) + verts.append(Vector((0.0, 0.0, -h1))) + + # Middle vertex of the flat side (crown) + vert_flat = len(verts) + verts.append(Vector((0.0, 0.0, h2))) + + edgeloop_flat = [] + for i in range(seg): + s1 = sin(i * a) + s2 = sin(offset + i * a) + c1 = cos(i * a) + c2 = cos(offset + i * a) + + verts.append((r4 * s1, r4 * c1, h4)) # Middle of pavilion + verts.append((r1 * s2, r1 * c2, 0.0)) # Pavilion + verts.append((r3 * s1, r3 * c1, h3)) # Middle crown + edgeloop_flat.append(len(verts)) + verts.append((r2 * s2, r2 * c2, h2)) # Crown + + faces = [] + + for index in range(seg): + i = index * 4 + j = ((index + 1) % seg) * 4 + + faces.append([j + 2, vert_tip, i + 2, i + 3]) # Tip -> Middle of pav + faces.append([j + 2, i + 3, j + 3]) # Middle of pav -> pav + faces.append([j + 3, i + 3, j + 4]) # Pav -> Middle crown + faces.append([j + 4, i + 3, i + 4, i + 5]) # Crown quads + faces.append([j + 4, i + 5, j + 5]) # Middle crown -> crown + + faces_flat = createFaces([vert_flat], edgeloop_flat, closed=True, flipped=True) + faces.extend(faces_flat) + + return verts, faces + + +def add_diamond(segments, girdle_radius, table_radius, + crown_height, pavilion_height): + + PI_2 = pi * 2.0 + z_axis = (0.0, 0.0, -1.0) + + verts = [] + faces = [] + + height_flat = crown_height + height_middle = 0.0 + height_tip = -pavilion_height + + # Middle vertex of the flat side (crown) + vert_flat = len(verts) + verts.append(Vector((0.0, 0.0, height_flat))) + + # Tip + vert_tip = len(verts) + verts.append(Vector((0.0, 0.0, height_tip))) + + verts_flat = [] + verts_girdle = [] + + for index in range(segments): + quat = Quaternion(z_axis, (index / segments) * PI_2) + + # angle = PI_2 * index / segments # UNUSED + + # Row for flat side + verts_flat.append(len(verts)) + vec = quat @ Vector((table_radius, 0.0, height_flat)) + verts.append(vec) + + # Row for the middle/girdle + verts_girdle.append(len(verts)) + vec = quat @ Vector((girdle_radius, 0.0, height_middle)) + verts.append(vec) + + # Flat face + faces_flat = createFaces([vert_flat], verts_flat, closed=True, + flipped=True) + # Side face + faces_side = createFaces(verts_girdle, verts_flat, closed=True) + # Tip faces + faces_tip = createFaces([vert_tip], verts_girdle, closed=True) + + faces.extend(faces_tip) + faces.extend(faces_side) + faces.extend(faces_flat) + + return verts, faces + + +class AddDiamond(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_diamond_add" + bl_label = "Add Diamond" + bl_description = "Construct a diamond mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + Diamond : BoolProperty(name = "Diamond", + default = True, + description = "Diamond") + + #### change properties + name : StringProperty(name = "Name", + description = "Name") + + change : BoolProperty(name = "Change", + default = False, + description = "change Diamond") + + segments: IntProperty( + name="Segments", + description="Number of segments for the diamond", + min=3, + max=256, + default=32 + ) + girdle_radius: FloatProperty( + name="Girdle Radius", + description="Girdle radius of the diamond", + min=0.01, + max=9999.0, + default=1.0 + ) + table_radius: FloatProperty( + name="Table Radius", + description="Girdle radius of the diamond", + min=0.01, + max=9999.0, + default=0.6 + ) + crown_height: FloatProperty( + name="Crown Height", + description="Crown height of the diamond", + min=0.01, + max=9999.0, + default=0.35 + ) + pavilion_height: FloatProperty( + name="Pavilion Height", + description="Pavilion height of the diamond", + min=0.01, + max=9999.0, + default=0.8 + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, "segments") + col = layout.column(align=True) + col.prop(self, "girdle_radius", text='Radius Girdle') + col.prop(self, "table_radius", text='Table') + col = layout.column(align=True) + col.prop(self, "crown_height", text='Height Crown') + col.prop(self, "pavilion_height", text='Pavilion') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('Diamond' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + + verts, faces = add_diamond(self.segments, + self.girdle_radius, + self.table_radius, + self.crown_height, + self.pavilion_height) + mesh = bpy.data.meshes.new("TMP") + mesh.from_pydata(verts, [], faces) + mesh.update() + obj.data = mesh + + for material in oldmesh.materials: + obj.data.materials.append(material) + + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + verts, faces = add_diamond(self.segments, + self.girdle_radius, + self.table_radius, + self.crown_height, + self.pavilion_height) + + obj = create_mesh_object(context, self, verts, [], faces, "Diamond") + + obj.data["Diamond"] = True + obj.data["change"] = False + for prm in DiamondParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + verts, faces = add_diamond(self.segments, + self.girdle_radius, + self.table_radius, + self.crown_height, + self.pavilion_height) + + obj = create_mesh_object(context, self, verts, [], faces, "TMP") + + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def DiamondParameters(): + DiamondParameters = [ + "segments", + "girdle_radius", + "table_radius", + "crown_height", + "pavilion_height", + ] + return DiamondParameters + + +class AddGem(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_gem_add" + bl_label = "Add Gem" + bl_description = "Construct an offset faceted gem mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + Gem : BoolProperty(name = "Gem", + default = True, + description = "Gem") + + #### change properties + name : StringProperty(name = "Name", + description = "Name") + + change : BoolProperty(name = "Change", + default = False, + description = "change Gem") + + segments: IntProperty( + name="Segments", + description="Longitudial segmentation", + min=3, + max=265, + default=8 + ) + pavilion_radius: FloatProperty( + name="Radius", + description="Radius of the gem", + min=0.01, + max=9999.0, + default=1.0 + ) + crown_radius: FloatProperty( + name="Table Radius", + description="Radius of the table(top)", + min=0.01, + max=9999.0, + default=0.6 + ) + crown_height: FloatProperty( + name="Table height", + description="Height of the top half", + min=0.01, + max=9999.0, + default=0.35 + ) + pavilion_height: FloatProperty( + name="Pavilion height", + description="Height of bottom half", + min=0.01, + max=9999.0, + default=0.8 + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, "segments") + col = layout.column(align=True) + col.prop(self, "crown_radius", text='Radius Crown') + col.prop(self, "pavilion_radius", text='Pavilion') + col = layout.column(align=True) + col.prop(self, "crown_height", text='Height Crown') + col.prop(self, "pavilion_height", text='Pavilion') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('Gem' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + verts, faces = add_gem( + self.pavilion_radius, + self.crown_radius, + self.segments, + self.pavilion_height, + self.crown_height) + mesh = bpy.data.meshes.new("TMP") + mesh.from_pydata(verts, [], faces) + mesh.update() + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + verts, faces = add_gem( + self.pavilion_radius, + self.crown_radius, + self.segments, + self.pavilion_height, + self.crown_height) + + obj = create_mesh_object(context, self, verts, [], faces, "Gem") + + obj.data["Gem"] = True + obj.data["change"] = False + for prm in GemParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + verts, faces = add_gem( + self.pavilion_radius, + self.crown_radius, + self.segments, + self.pavilion_height, + self.crown_height) + + obj = create_mesh_object(context, self, verts, [], faces, "TMP") + + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def GemParameters(): + GemParameters = [ + "segments", + "pavilion_radius", + "crown_radius", + "crown_height", + "pavilion_height", + ] + return GemParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_honeycomb.py b/extensions/blender_org/extra_mesh_objects/add_mesh_honeycomb.py new file mode 100644 index 0000000..e0a92be --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_honeycomb.py @@ -0,0 +1,341 @@ +# SPDX-FileCopyrightText: 2012-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author: Kayo Phoenix + +import bpy +from bpy_extras import object_utils +from math import ( + pi, sin, + cos, + ) +from bpy.props import ( + IntProperty, + BoolProperty, + BoolVectorProperty, + FloatProperty, + FloatVectorProperty, + StringProperty, + ) +from .interface import draw_transform_props + + +class honeycomb_geometry(): + def __init__(self, rows, cols, D, E): + self.rows = rows + self.cols = cols + self.D = D + self.E = E + + self.hE = 0.5 * self.E + self.R = 0.5 * self.D + + self.a = sin(pi / 3) + + self.d = self.a * self.D + self.hd = 0.5 * self.d + self.e = self.hE / self.a + self.he = 0.5 * self.e + self.r = self.R - self.e + self.hr = 0.5 * self.r + + self.H = self.R * (1.5 * self.rows + 0.5) + self.e + if self.rows > 1: + self.W = self.d * (self.cols + 0.5) + self.E + else: + self.W = self.d * self.cols + self.E + + self.hH = 0.5 * self.H + self.hW = 0.5 * self.W + + self.sy = -self.hH + self.he + self.R + self.sx = -self.hW + self.hE + self.hd + + self.gx = self.hd + + self.dy = 1.5 * self.R + self.dx = self.d + + def vert(self, row, col): + # full cell + if row >= 0 and row < self.rows and col >= 0 and col < self.cols: + return [0, 1, 2, 3, 4, 5] + # right down corner + if row == -1 and col == self.cols - 1: + return [1, 2] + if row == 0 and self.rows > 1 and col == self.cols: + return [1, 2, 3] + # left down corner + if row == -1 and col == -1: + return [0, 1] + if self.rows % 2: + # left up corner + if row == self.rows and col == -1: + return [4, 5] + # right up corner + if row == self.rows and col == self.cols - 1: + return [3, 4] + if row == self.rows - 1 and self.rows > 1 and col == self.cols: + return [2, 3, 4] + else: + # left up corner + if row == self.rows and col == 0: + return [4, 5] + if row == self.rows - 1 and self.rows > 1 and col == -1: + return [0, 4, 5] + # right up corner + if row == self.rows and col == self.cols: + return [3, 4] + # horizontal lines + if col >= 0 and col < self.cols: + if row == -1: + return [0, 1, 2] + if row == self.rows: + return [3, 4, 5] + # vertical lines + if row >= 0 and row < self.rows: + if col == -1: + if row % 2: + return [0, 1, 4, 5] + else: + return [0, 5] + if col == self.cols: + if row % 2 or self.rows == 1: + return [2, 3] + else: + return [1, 2, 3, 4] + return [] + + def cell(self, row, col, idx): + cp = [self.sx + self.dx * col, self.sy + self.dy * row, 0] # central point + if row % 2: + cp[0] += self.gx + co = [] # vertices coords + vi = self.vert(row, col) + ap = {} + + for i in vi: + a = pi / 6 + i * pi / 3 # angle + ap[i] = idx + len(co) + co.append((cp[0] + cos(a) * self.r, cp[1] + sin(a) * self.r, cp[2])) + return co, ap + + def generate(self): + ar = 1 + ac = 1 + + cells = [] + verts = [] + faces = [] + + for row in range(-ar, self.rows + ar): + level = [] + for col in range(-ac, self.cols + ac): + co, ap = self.cell(row, col, len(verts)) + verts += co + level.append(ap) + cells.append(level) + + # bottom row + row = 0 + for col in range(1, len(cells[row]) - 1): + s = cells[row][col] + l = cells[row][col - 1] + u = cells[row + 1][col] + + faces.append((s[1], u[5], u[4], s[2])) + faces.append((s[2], u[4], l[0])) + + # top row + row = len(cells) - 1 + cs = 0 + if row % 2: + cs += 1 + for col in range(1 + cs, len(cells[row]) - 1): + s = cells[row][col] + l = cells[row][col - 1] + d = cells[row - 1][col - cs] + faces.append((s[3], l[5], d[1])) + faces.append([s[3], d[1], d[0], s[4]]) + + # middle rows + for row in range(1, len(cells) - 1): + cs = 0 + if row % 2: + cs += 1 + for col in range(1, len(cells[row]) - 1): + s = cells[row][col] + l = cells[row][col - 1] + u = cells[row + 1][col - cs] + d = cells[row - 1][col - cs] + + faces.append((s[1], u[5], u[4], s[2])) + faces.append((s[2], u[4], l[0])) + faces.append([s[2], l[0], l[5], s[3]]) + faces.append((s[3], l[5], d[1])) + faces.append([s[3], d[1], d[0], s[4]]) + + # right column + row = 0 + col = len(cells[row]) - 1 + for row in range(1, len(cells) - 1): + cs = 0 + if row % 2: + cs += 1 + + s = cells[row][col] + l = cells[row][col - 1] + u = cells[row + 1][col - cs] + d = cells[row - 1][col - cs] + + if row % 2 and row < len(cells) - 2: + faces.append((s[1], u[5], u[4], s[2])) + faces.append((s[2], u[4], l[0])) + faces.append([s[2], l[0], l[5], s[3]]) + faces.append((s[3], l[5], d[1])) + if row % 2 and row > 1: + faces.append([s[3], d[1], d[0], s[4]]) + + # final fix + if not self.rows % 2: + row = len(cells) - 1 + s = cells[row][col] + l = cells[row][col - 1] + d = cells[row - 1][col - 1] + faces.append((s[3], l[5], d[1])) + faces.append([s[3], d[1], d[0], s[4]]) + + return verts, faces + + +def edge_max(diam): + return diam * sin(pi / 3) + + +class add_mesh_honeycomb(bpy.types.Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.honeycomb_add" + bl_label = "Add Honeycomb" + bl_description = "Simple honeycomb mesh generator" + bl_options = {'REGISTER', 'UNDO'} + + def fix_edge(self, context): + m = edge_max(self.diam) + if self.edge > m: + self.edge = m + + HoneyComb : BoolProperty(name = "HoneyComb", + default = True, + description = "HoneyComb") + change : BoolProperty(name = "Change", + default = False, + description = "change HoneyComb") + + rows: IntProperty( + name="Rows", + default=2, + min=1, max=100, + description='Number of the rows' + ) + cols: IntProperty( + name='Columns', + default=2, + min=1, max=100, + description='Number of the columns' + ) + diam: FloatProperty( + name='Cell Diameter', + default=1.0, + min=0.0, update=fix_edge, + description='Diameter of the cell' + ) + edge: FloatProperty( + name='Edge Width', + default=0.1, + min=0.0, update=fix_edge, + description='Width of the edge' + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.prop(self, 'rows', expand=True) + layout.prop(self, 'cols', expand=True) + layout.prop(self, 'diam', expand=True) + layout.prop(self, 'edge', expand=True) + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + @classmethod + def poll(cls, context): + return context.scene is not None + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('HoneyComb' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + comb = honeycomb_geometry(self.rows, self.cols, self.diam, self.edge) + verts, faces = comb.generate() + mesh = bpy.data.meshes.new('HoneyComb') + mesh.from_pydata(verts, [], faces) + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + comb = honeycomb_geometry(self.rows, self.cols, self.diam, self.edge) + verts, faces = comb.generate() + mesh = bpy.data.meshes.new('HoneyComb') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + + obj.data["HoneyComb"] = True + obj.data["change"] = False + for prm in HoneyCombParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + comb = honeycomb_geometry(self.rows, self.cols, self.diam, self.edge) + verts, faces = comb.generate() + mesh = bpy.data.meshes.new('HoneyComb') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def HoneyCombParameters(): + HoneyCombParameters = [ + "rows", + "cols", + "diam", + "edge", + ] + return HoneyCombParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_menger_sponge.py b/extensions/blender_org/extra_mesh_objects/add_mesh_menger_sponge.py new file mode 100644 index 0000000..22e1933 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_menger_sponge.py @@ -0,0 +1,198 @@ +# SPDX-FileCopyrightText: 2015 Sugiany +# +# SPDX-License-Identifier: MIT + +import bpy + +from bpy_extras.object_utils import ( + AddObjectHelper, + object_data_add, + ) + +from bpy.props import ( + IntProperty, + BoolProperty, + BoolVectorProperty, + FloatVectorProperty, + FloatProperty, + ) + +import mathutils +import copy + +from .interface import draw_transform_props + + +class MengerSponge(object): + FACE_INDICES = [ + [3, 7, 4, 0], + [5, 6, 2, 1], + [1, 2, 3, 0], + [7, 6, 5, 4], + [4, 5, 1, 0], + [2, 6, 7, 3], + ] + + def __init__(self, level): + self.__level = level + self.__max_point_number = 3 ** level + self.__vertices_map = {} + self.__indices = [] + self.__face_visibility = {} + self.__faces = [] + + for x in range(3): + for y in range(3): + for z in range(3): + self.__face_visibility[(x, y, z)] = [ + x == 0 or x == 2 and (y == 1 or z == 1), + x == 2 or x == 0 and (y == 1 or z == 1), + y == 0 or y == 2 and (x == 1 or z == 1), + y == 2 or y == 0 and (x == 1 or z == 1), + z == 0 or z == 2 and (y == 1 or x == 1), + z == 2 or z == 0 and (y == 1 or x == 1), + ] + + def create(self, width, height): + m = self.__max_point_number + points = [ + (0, 0, 0), + (m, 0, 0), + (m, 0, m), + (0, 0, m), + (0, m, 0), + (m, m, 0), + (m, m, m), + (0, m, m), + ] + self.__make_sub_sponge(points, None, self.__level) + vertices = self.__make_vertices(width, height) + return vertices, self.__faces + + def __get_vindex(self, p): + if p in self.__vertices_map: + return self.__vertices_map[p] + index = len(self.__vertices_map) + self.__vertices_map[p] = index + return index + + def __make_vertices(self, width, height): + vertices = [None] * len(self.__vertices_map) + w2 = width / 2 + h2 = height / 2 + w_step = width / self.__max_point_number + h_step = height / self.__max_point_number + for p, i in sorted(self.__vertices_map.items(), key=lambda x: x[1]): + vertices[i] = mathutils.Vector([ + p[0] * w_step - w2, + p[1] * w_step - w2, + p[2] * h_step - h2, + ]) + return vertices + + def __make_sub_sponge(self, cur_points, face_vis, depth): + if depth <= 0: + if not face_vis: + face_vis = [True] * 6 + cur_point_indices = [] + for p in cur_points: + cur_point_indices.append(self.__get_vindex(p)) + for i, vis in enumerate(face_vis): + if vis: + f = [] + for vi in self.FACE_INDICES[i]: + f.append(cur_point_indices[vi]) + self.__faces.append(f) + return + + base = cur_points[0] + width = (cur_points[1][0] - base[0]) / 3 + local_vert_map = {} + for z in range(4): + for y in range(4): + for x in range(4): + local_vert_map[(x, y, z)] = ( + width * x + base[0], + width * y + base[1], + width * z + base[2], + ) + + for x in range(3): + for y in range(3): + for z in range(3): + if [x, y, z].count(1) > 1: + continue + next_points = [ + local_vert_map[(x, y, z)], + local_vert_map[(x + 1, y, z)], + local_vert_map[(x + 1, y, z + 1)], + local_vert_map[(x, y, z + 1)], + local_vert_map[(x, y + 1, z)], + local_vert_map[(x + 1, y + 1, z)], + local_vert_map[(x + 1, y + 1, z + 1)], + local_vert_map[(x, y + 1, z + 1)], + ] + visibility = copy.copy(self.__face_visibility[(x, y, z)]) + if face_vis: + visibility[0] = visibility[0] and (face_vis[0] or x != 0) + visibility[1] = visibility[1] and (face_vis[1] or x != 2) + visibility[2] = visibility[2] and (face_vis[2] or y != 0) + visibility[3] = visibility[3] and (face_vis[3] or y != 2) + visibility[4] = visibility[4] and (face_vis[4] or z != 0) + visibility[5] = visibility[5] and (face_vis[5] or z != 2) + self.__make_sub_sponge( + next_points, + visibility, + depth - 1) + + +class AddMengerSponge(bpy.types.Operator, AddObjectHelper): + bl_idname = "mesh.menger_sponge_add" + bl_label = "Menger Sponge" + bl_description = "Construct a menger sponge mesh" + bl_options = {'REGISTER', 'UNDO'} + + level: IntProperty( + name="Level", + description="Sponge Level", + min=0, max=4, + default=1, + ) + radius: FloatProperty( + name="Width", + description="Sponge Radius", + min=0.01, max=100.0, + default=1.0, + ) + layers: BoolVectorProperty( + name="Layers", + size=20, + subtype='LAYER', + options={'HIDDEN', 'SKIP_SAVE'}, + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.prop(self, 'level') + layout.prop(self, 'radius') + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + sponger = MengerSponge(self.level) + vertices, faces = sponger.create(self.radius * 2, self.radius * 2) + del sponger + + mesh = bpy.data.meshes.new(name='Sponge') + mesh.from_pydata(vertices, [], faces) + uvs = [(0.0, 0.0), (0.0, 1.0), (1.0, 1.0), (1.0, 0.0)] + mesh.uv_layers.new() + for i, uvloop in enumerate(mesh.uv_layers.active.data): + uvloop.uv = uvs[i % 4] + + object_data_add(context, mesh, operator=self) + + return {'FINISHED'} diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_pipe_joint.py b/extensions/blender_org/extra_mesh_objects/add_mesh_pipe_joint.py new file mode 100644 index 0000000..a41d063 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_pipe_joint.py @@ -0,0 +1,1428 @@ +# SPDX-FileCopyrightText: 2010-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author: Buerbaum Martin (Pontiac) + +import bpy, bmesh +from math import sin, cos, tan, pi, radians +from bpy.types import Operator +from bpy.props import ( + FloatProperty, + IntProperty, + BoolProperty, + StringProperty, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + +# Create a new mesh (object) from verts/edges/faces. +# verts/edges/faces ... List of vertices/edges/faces for the +# new mesh (as used in from_pydata) +# name ... Name of the new mesh (& object) + +def create_mesh(context, verts, edges, faces, name): + # Create new mesh + mesh = bpy.data.meshes.new(name) + + # Make a mesh from a list of verts/edges/faces. + mesh.from_pydata(verts, edges, faces) + + # Update mesh geometry after adding stuff. + mesh.update() + + return mesh + +# A very simple "bridge" tool. + +def createFaces(vertIdx1, vertIdx2, closed=False, flipped=False): + faces = [] + + if not vertIdx1 or not vertIdx2: + return None + + if len(vertIdx1) < 2 and len(vertIdx2) < 2: + return None + + fan = False + if (len(vertIdx1) != len(vertIdx2)): + if (len(vertIdx1) == 1 and len(vertIdx2) > 1): + fan = True + else: + return None + + total = len(vertIdx2) + + if closed: + # Bridge the start with the end. + if flipped: + face = [ + vertIdx1[0], + vertIdx2[0], + vertIdx2[total - 1]] + if not fan: + face.append(vertIdx1[total - 1]) + faces.append(face) + + else: + face = [vertIdx2[0], vertIdx1[0]] + if not fan: + face.append(vertIdx1[total - 1]) + face.append(vertIdx2[total - 1]) + faces.append(face) + + # Bridge the rest of the faces. + for num in range(total - 1): + if flipped: + if fan: + face = [vertIdx2[num], vertIdx1[0], vertIdx2[num + 1]] + else: + face = [vertIdx2[num], vertIdx1[num], + vertIdx1[num + 1], vertIdx2[num + 1]] + faces.append(face) + else: + if fan: + face = [vertIdx1[0], vertIdx2[num], vertIdx2[num + 1]] + else: + face = [vertIdx1[num], vertIdx2[num], + vertIdx2[num + 1], vertIdx1[num + 1]] + faces.append(face) + + return faces + + +# Create the vertices and polygons for a simple elbow (bent pipe) +def ElbowJointParameters(): + ElbowJointParameters = [ + "radius", + "div", + "angle", + "startLength", + "endLength", + ] + return ElbowJointParameters + +class AddElbowJoint(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_elbow_joint_add" + bl_label = "Add Pipe Elbow" + bl_description = "Construct an elbow pipe mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + ElbowJoint : BoolProperty(name = "ElbowJoint", + default = True, + description = "ElbowJoint") + + #### change properties + change : BoolProperty(name = "Change", + default = False, + description = "change ElbowJoint") + + radius: FloatProperty( + name="Radius", + description="The radius of the pipe", + default=1.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + div: IntProperty( + name="Divisions", + description="Number of vertices (divisions)", + default=32, min=3, max=256 + ) + angle: FloatProperty( + name="Angle", + description="The angle of the branching pipe (i.e. the 'arm' - " + "Measured from the center line of the main pipe", + default=radians(45.0), + min=radians(-179.9), + max=radians(179.9), + unit="ROTATION" + ) + startLength: FloatProperty( + name="Length Start", + description="Length of the beginning of the pipe", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + endLength: FloatProperty( + name="End Length", + description="Length of the end of the pipe", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'radius') + layout.prop(self, 'div') + layout.prop(self, 'angle') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'startLength') + col.prop(self, 'endLength', text='End') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + radius = self.radius + div = self.div + + angle = self.angle + + startLength = self.startLength + endLength = self.endLength + + verts = [] + faces = [] + + loop1 = [] # The starting circle + loop2 = [] # The elbow circle + loop3 = [] # The end circle + + # Create start circle + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = cos(curVertAngle) + locZ = -startLength + loop1.append(len(verts)) + verts.append([locX * radius, locY * radius, locZ]) + + # Create deformed joint circle + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = cos(curVertAngle) + locZ = locX * tan(angle / 2.0) + loop2.append(len(verts)) + verts.append([locX * radius, locY * radius, locZ * radius]) + + # Create end circle + baseEndLocX = -endLength * sin(angle) + baseEndLocZ = endLength * cos(angle) + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + # Create circle + locX = sin(curVertAngle) * radius + locY = cos(curVertAngle) * radius + locZ = 0.0 + + # Rotate circle + locZ = locX * cos(pi / 2.0 - angle) + locX = locX * sin(pi / 2.0 - angle) + + loop3.append(len(verts)) + # Translate and add circle vertices to the list. + verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ]) + + # Create faces + faces.extend(createFaces(loop1, loop2, closed=True)) + faces.extend(createFaces(loop2, loop3, closed=True)) + + if bpy.context.mode == "OBJECT": + if (context.selected_objects != []) and context.active_object and \ + (context.active_object.data is not None) and ('ElbowJoint' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + mesh = create_mesh(context, verts, [], faces, "Elbow Joint") + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + mesh = create_mesh(context, verts, [], faces, "Elbow Joint") + obj = object_utils.object_data_add(context, mesh, operator=self) + + mesh.update() + + obj.data["ElbowJoint"] = True + obj.data["change"] = False + for prm in ElbowJointParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + mesh = create_mesh(context, verts, [], faces, "TMP") + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + + +# Create the vertices and polygons for a simple tee (T) joint +# The base arm of the T can be positioned in an angle if needed though +def TeeJointParameters(): + TeeJointParameters = [ + "radius", + "div", + "angle", + "startLength", + "endLength", + "branchLength", + ] + return TeeJointParameters + +class AddTeeJoint(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_tee_joint_add" + bl_label = "Add Pipe T-Joint" + bl_description = "Construct a tee-joint pipe mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + TeeJoint : BoolProperty(name = "TeeJoint", + default = True, + description = "TeeJoint") + + #### change properties + change : BoolProperty(name = "Change", + default = False, + description = "change TeeJoint") + + radius: FloatProperty( + name="Radius", + description="The radius of the pipe", + default=1.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + div: IntProperty( + name="Divisions", + description="Number of vertices (divisions)", + default=32, + min=4, + max=256 + ) + angle: FloatProperty( + name="Angle", + description="The angle of the branching pipe (i.e. the 'arm' - " + "Measured from the center line of the main pipe", + default=radians(90.0), + min=radians(0.1), + max=radians(179.9), + unit="ROTATION" + ) + startLength: FloatProperty( + name="Length Start", + description="Length of the beginning of the" + " main pipe (the straight one)", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + endLength: FloatProperty( + name="End Length", + description="Length of the end of the" + " main pipe (the straight one)", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + branchLength: FloatProperty( + name="Arm Length", + description="Length of the arm pipe (the bent one)", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'radius') + layout.prop(self, 'div') + layout.prop(self, 'angle') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'startLength') + col.prop(self, 'endLength', text='End') + col.prop(self, 'branchLength', text='Branch') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + radius = self.radius + div = self.div + + angle = self.angle + + startLength = self.startLength + endLength = self.endLength + branchLength = self.branchLength + + if (div % 2): + # Odd vertice number not supported (yet) + self.report({'INFO'}, "Odd vertices number is not yet supported") + return {'CANCELLED'} + + verts = [] + faces = [] + + # List of vert indices of each cross section + loopMainStart = [] # Vert indices for the beginning of the main pipe + loopJoint1 = [] # Vert indices for joint that is used to connect the joint & loopMainStart + loopJoint2 = [] # Vert indices for joint that is used to connect the joint & loopArm + loopJoint3 = [] # Vert index for joint that is used to connect the joint & loopMainEnd + loopArm = [] # Vert indices for the end of the arm + loopMainEnd = [] # Vert indices for the end of the main pipe. + + # Create start circle (main pipe) + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = cos(curVertAngle) + locZ = -startLength + loopMainStart.append(len(verts)) + verts.append([locX * radius, locY * radius, locZ]) + + # Create deformed joint circle + vertTemp1 = None + vertTemp2 = None + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = cos(curVertAngle) + + if vertIdx == 0: + vertTemp1 = len(verts) + if vertIdx == div / 2: + # @todo: This will possibly break if we + # ever support odd divisions. + vertTemp2 = len(verts) + + loopJoint1.append(len(verts)) + if (vertIdx < div / 2): + # Straight side of main pipe. + locZ = 0 + loopJoint3.append(len(verts)) + else: + # Branching side + locZ = locX * tan(angle / 2.0) + loopJoint2.append(len(verts)) + + verts.append([locX * radius, locY * radius, locZ * radius]) + + # Create 2. deformed joint (half-)circle + loopTemp = [] + for vertIdx in range(div): + if (vertIdx > div / 2): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = -cos(curVertAngle) + locZ = -(radius * locX * tan((pi - angle) / 2.0)) + loopTemp.append(len(verts)) + verts.append([locX * radius, locY * radius, locZ]) + + loopTemp2 = loopTemp[:] + + # Finalise 2. loop + loopTemp.reverse() + loopTemp.append(vertTemp1) + loopJoint2.reverse() + loopJoint2.extend(loopTemp) + loopJoint2.reverse() + + # Finalise 3. loop + loopTemp2.append(vertTemp2) + loopTemp2.reverse() + loopJoint3.extend(loopTemp2) + + # Create end circle (branching pipe) + baseEndLocX = -branchLength * sin(angle) + baseEndLocZ = branchLength * cos(angle) + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + # Create circle + locX = sin(curVertAngle) * radius + locY = cos(curVertAngle) * radius + locZ = 0.0 + + # Rotate circle + locZ = locX * cos(pi / 2.0 - angle) + locX = locX * sin(pi / 2.0 - angle) + + loopArm.append(len(verts)) + + # Add translated circle. + verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ]) + + # Create end circle (main pipe) + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = cos(curVertAngle) + locZ = endLength + loopMainEnd.append(len(verts)) + verts.append([locX * radius, locY * radius, locZ]) + + # Create faces + faces.extend(createFaces(loopMainStart, loopJoint1, closed=True)) + faces.extend(createFaces(loopJoint2, loopArm, closed=True)) + faces.extend(createFaces(loopJoint3, loopMainEnd, closed=True)) + + if bpy.context.mode == "OBJECT": + if (context.selected_objects != []) and context.active_object and \ + (context.active_object.data is not None) and ('TeeJoint' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + mesh = create_mesh(context, verts, [], faces, "Tee Joint") + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + mesh = create_mesh(context, verts, [], faces, "Tee Joint") + obj = object_utils.object_data_add(context, mesh, operator=self) + + mesh.update() + + obj.data["TeeJoint"] = True + obj.data["change"] = False + for prm in TeeJointParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + mesh = create_mesh(context, verts, [], faces, "TMP") + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def WyeJointParameters(): + WyeJointParameters = [ + "radius", + "div", + "angle1", + "angle2", + "startLength", + "branch1Length", + "branch2Length", + ] + return WyeJointParameters + +class AddWyeJoint(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_wye_joint_add" + bl_label = "Add Pipe Y-Joint" + bl_description = "Construct a wye-joint pipe mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + WyeJoint : BoolProperty(name = "WyeJoint", + default = True, + description = "WyeJoint") + + #### change properties + change : BoolProperty(name = "Change", + default = False, + description = "change WyeJoint") + + radius: FloatProperty( + name="Radius", + description="The radius of the pipe", + default=1.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + div: IntProperty( + name="Divisions", + description="Number of vertices (divisions)", + default=32, + min=4, + max=256 + ) + angle1: FloatProperty( + name="Angle 1", + description="The angle of the 1. branching pipe " + "(measured from the center line of the main pipe)", + default=radians(45.0), + min=radians(-179.9), + max=radians(179.9), + unit="ROTATION" + ) + angle2: FloatProperty( + name="Angle 2", + description="The angle of the 2. branching pipe " + "(measured from the center line of the main pipe) ", + default=radians(45.0), + min=radians(-179.9), + max=radians(179.9), + unit="ROTATION" + ) + startLength: FloatProperty( + name="Length Start", + description="Length of the beginning of the" + " main pipe (the straight one)", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + branch1Length: FloatProperty( + name="Length Arm 1", + description="Length of the 1. arm", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + branch2Length: FloatProperty( + name="Length Arm 2", + description="Length of the 2. arm", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'radius') + layout.prop(self, 'div') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'angle1') + col.prop(self, 'angle2', text='2') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'startLength', text='Length Base') + col.prop(self, 'branch1Length', text='Arm 1') + col.prop(self, 'branch2Length', text='Arm 2') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + radius = self.radius + div = self.div + + angle1 = self.angle1 + angle2 = self.angle2 + + startLength = self.startLength + branch1Length = self.branch1Length + branch2Length = self.branch2Length + + if (div % 2): + # Odd vertice number not supported (yet) + self.report({'INFO'}, "Odd vertices number is not yet supported") + return {'CANCELLED'} + + verts = [] + faces = [] + + # List of vert indices of each cross section + loopMainStart = [] # Vert indices for the beginning of the main pipe + loopJoint1 = [] # Vert index for joint that is used to connect the joint & loopMainStart + loopJoint2 = [] # Vert index for joint that is used to connect the joint & loopArm1 + loopJoint3 = [] # Vert index for joint that is used to connect the joint & loopArm2 + loopArm1 = [] # Vert idxs for end of the 1. arm + loopArm2 = [] # Vert idxs for end of the 2. arm + + # Create start circle + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = cos(curVertAngle) + locZ = -startLength + loopMainStart.append(len(verts)) + verts.append([locX * radius, locY * radius, locZ]) + + # Create deformed joint circle + vertTemp1 = None + vertTemp2 = None + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = cos(curVertAngle) + + if vertIdx == 0: + vertTemp2 = len(verts) + if vertIdx == div / 2: + # @todo: This will possibly break if we + # ever support odd divisions. + vertTemp1 = len(verts) + + loopJoint1.append(len(verts)) + if (vertIdx > div / 2): + locZ = locX * tan(angle1 / 2.0) + loopJoint2.append(len(verts)) + else: + locZ = locX * tan(-angle2 / 2.0) + loopJoint3.append(len(verts)) + + verts.append([locX * radius, locY * radius, locZ * radius]) + + # Create 2. deformed joint (half-)circle + loopTemp = [] + angleJoint = (angle2 - angle1) / 2.0 + for vertIdx in range(div): + if (vertIdx > div / 2): + curVertAngle = vertIdx * (2.0 * pi / div) + + locX = (-sin(curVertAngle) * sin(angleJoint) / sin(angle2 - angleJoint)) + locY = -cos(curVertAngle) + locZ = (-(sin(curVertAngle) * cos(angleJoint) / sin(angle2 - angleJoint))) + + loopTemp.append(len(verts)) + verts.append([locX * radius, locY * radius, locZ * radius]) + + loopTemp2 = loopTemp[:] + + # Finalise 2. loop + loopTemp.append(vertTemp1) + loopTemp.reverse() + loopTemp.append(vertTemp2) + loopJoint2.reverse() + loopJoint2.extend(loopTemp) + loopJoint2.reverse() + + # Finalise 3. loop + loopTemp2.reverse() + loopJoint3.extend(loopTemp2) + + # Create end circle (1. branching pipe) + baseEndLocX = -branch1Length * sin(angle1) + baseEndLocZ = branch1Length * cos(angle1) + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + # Create circle + locX = sin(curVertAngle) * radius + locY = cos(curVertAngle) * radius + locZ = 0.0 + + # Rotate circle + locZ = locX * cos(pi / 2.0 - angle1) + locX = locX * sin(pi / 2.0 - angle1) + + loopArm1.append(len(verts)) + # Add translated circle. + verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ]) + + # Create end circle (2. branching pipe) + baseEndLocX = branch2Length * sin(angle2) + baseEndLocZ = branch2Length * cos(angle2) + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + # Create circle + locX = sin(curVertAngle) * radius + locY = cos(curVertAngle) * radius + locZ = 0.0 + + # Rotate circle + locZ = locX * cos(pi / 2.0 + angle2) + locX = locX * sin(pi / 2.0 + angle2) + + loopArm2.append(len(verts)) + # Add translated circle + verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ]) + + # Create faces + faces.extend(createFaces(loopMainStart, loopJoint1, closed=True)) + faces.extend(createFaces(loopJoint2, loopArm1, closed=True)) + faces.extend(createFaces(loopJoint3, loopArm2, closed=True)) + + if bpy.context.mode == "OBJECT": + if (context.selected_objects != []) and context.active_object and \ + (context.active_object.data is not None) and ('WyeJoint' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + mesh = create_mesh(context, verts, [], faces, "Wye Joint") + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + mesh = create_mesh(context, verts, [], faces, "Wye Joint") + obj = object_utils.object_data_add(context, mesh, operator=self) + + mesh.update() + + obj.data["WyeJoint"] = True + obj.data["change"] = False + for prm in WyeJointParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + mesh = create_mesh(context, verts, [], faces, "TMP") + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + + +# Create the vertices and polygons for a cross (+ or X) pipe joint +def CrossJointParameters(): + CrossJointParameters = [ + "radius", + "div", + "angle1", + "angle2", + "angle3", + "startLength", + "branch1Length", + "branch2Length", + "branch3Length", + ] + return CrossJointParameters + +class AddCrossJoint(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_cross_joint_add" + bl_label = "Add Pipe Cross-Joint" + bl_description = "Construct a cross-joint pipe mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + CrossJoint : BoolProperty(name = "CrossJoint", + default = True, + description = "CrossJoint") + + #### change properties + change : BoolProperty(name = "Change", + default = False, + description = "change CrossJoint") + + radius: FloatProperty( + name="Radius", + description="The radius of the pipe", + default=1.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + div: IntProperty( + name="Divisions", + description="Number of vertices (divisions)", + default=32, + min=4, + max=256 + ) + angle1: FloatProperty( + name="Angle 1", + description="The angle of the 1. arm (from the main axis)", + default=radians(90.0), + min=radians(-179.9), + max=radians(179.9), + unit="ROTATION" + ) + angle2: FloatProperty(name="Angle 2", + description="The angle of the 2. arm (from the main axis)", + default=radians(90.0), + min=radians(-179.9), + max=radians(179.9), + unit="ROTATION" + ) + angle3: FloatProperty(name="Angle 3 (center)", + description="The angle of the center arm (from the main axis)", + default=radians(0.0), + min=radians(-179.9), + max=radians(179.9), + unit="ROTATION" + ) + startLength: FloatProperty( + name="Length Start", + description="Length of the beginning of the " + "main pipe (the straight one)", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + branch1Length: FloatProperty(name="Length Arm 1", + description="Length of the 1. arm", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + branch2Length: FloatProperty( + name="Length Arm 2", + description="Length of the 2. arm", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + branch3Length: FloatProperty( + name="Length Arm 3 (center)", + description="Length of the center arm", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'radius') + layout.prop(self, 'div') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'angle1', text='Angle Arm 1') + col.prop(self, 'angle2', text='Arm 2') + col.prop(self, 'angle3', text='Center') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'startLength') + col.prop(self, 'branch1Length', text='Arm 1') + col.prop(self, 'branch2Length', text='Arm 2') + col.prop(self, 'branch3Length', text='Center') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + radius = self.radius + div = self.div + + angle1 = self.angle1 + angle2 = self.angle2 + angle3 = self.angle3 + + startLength = self.startLength + branch1Length = self.branch1Length + branch2Length = self.branch2Length + branch3Length = self.branch3Length + if (div % 2): + # Odd vertice number not supported (yet) + self.report({'INFO'}, "Odd vertices number is not yet supported") + return {'CANCELLED'} + + verts = [] + faces = [] + + # List of vert indices of each cross section + loopMainStart = [] # Vert indices for the beginning of the main pipe + loopJoint1 = [] # Vert index for joint that is used to connect the joint & loopMainStart + loopJoint2 = [] # Vert index for joint that is used to connect the joint & loopArm1 + loopJoint3 = [] # Vert index for joint that is used to connect the joint & loopArm2 + loopJoint4 = [] # Vert index for joint that is used to connect the joint & loopArm3 + loopArm1 = [] # Vert idxs for the end of the 1. arm + loopArm2 = [] # Vert idxs for the end of the 2. arm + loopArm3 = [] # Vert idxs for the center arm end + + # Create start circle + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = cos(curVertAngle) + locZ = -startLength + loopMainStart.append(len(verts)) + verts.append([locX * radius, locY * radius, locZ]) + + # Create 1. deformed joint circle + vertTemp1 = None + vertTemp2 = None + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = cos(curVertAngle) + + if vertIdx == 0: + vertTemp2 = len(verts) + if vertIdx == div / 2: + # @todo: This will possibly break if we + # ever support odd divisions. + vertTemp1 = len(verts) + + loopJoint1.append(len(verts)) + if (vertIdx > div / 2): + locZ = locX * tan(angle1 / 2.0) + loopJoint2.append(len(verts)) + else: + locZ = locX * tan(-angle2 / 2.0) + loopJoint3.append(len(verts)) + + verts.append([locX * radius, locY * radius, locZ * radius]) + + # Create 2. deformed joint circle + loopTempA = [] + loopTempB = [] + angleJoint1 = (angle1 - angle3) / 2.0 + angleJoint2 = (angle2 + angle3) / 2.0 + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + + # Skip pole vertices + # @todo: This will possibly break if + # we ever support odd divisions + if not (vertIdx == 0) and not (vertIdx == div / 2): + + if (vertIdx > div / 2): + angleJoint = angleJoint1 + angle = angle1 + Z = -1.0 + loopTempA.append(len(verts)) + + else: + angleJoint = angleJoint2 + angle = angle2 + Z = 1.0 + loopTempB.append(len(verts)) + + locX = (sin(curVertAngle) * sin(angleJoint) / sin(angle - angleJoint)) + locY = -cos(curVertAngle) + locZ = (Z * (sin(curVertAngle) * cos(angleJoint) / sin(angle - angleJoint))) + + verts.append([locX * radius, locY * radius, locZ * radius]) + + loopTempA2 = loopTempA[:] + loopTempB2 = loopTempB[:] + loopTempB3 = loopTempB[:] + + # Finalise 2. loop + loopTempA.append(vertTemp1) + loopTempA.reverse() + loopTempA.append(vertTemp2) + loopJoint2.reverse() + loopJoint2.extend(loopTempA) + loopJoint2.reverse() + + # Finalise 3. loop + loopJoint3.extend(loopTempB3) + + # Finalise 4. loop + loopTempA2.append(vertTemp1) + loopTempA2.reverse() + loopTempB2.append(vertTemp2) + loopJoint4.extend(reversed(loopTempB2)) + loopJoint4.extend(loopTempA2) + + # Create end circle (1. branching pipe) + baseEndLocX = -branch1Length * sin(angle1) + baseEndLocZ = branch1Length * cos(angle1) + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + # Create circle + locX = sin(curVertAngle) * radius + locY = cos(curVertAngle) * radius + locZ = 0.0 + + # Rotate circle + locZ = locX * cos(pi / 2.0 - angle1) + locX = locX * sin(pi / 2.0 - angle1) + + loopArm1.append(len(verts)) + # Add translated circle. + verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ]) + + # Create end circle (2. branching pipe) + baseEndLocX = branch2Length * sin(angle2) + baseEndLocZ = branch2Length * cos(angle2) + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + # Create circle + locX = sin(curVertAngle) * radius + locY = cos(curVertAngle) * radius + locZ = 0.0 + + # Rotate circle + locZ = locX * cos(pi / 2.0 + angle2) + locX = locX * sin(pi / 2.0 + angle2) + + loopArm2.append(len(verts)) + # Add translated circle + verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ]) + + # Create end circle (center pipe) + baseEndLocX = branch3Length * sin(angle3) + baseEndLocZ = branch3Length * cos(angle3) + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + # Create circle + locX = sin(curVertAngle) * radius + locY = cos(curVertAngle) * radius + locZ = 0.0 + + # Rotate circle + locZ = locX * cos(pi / 2.0 + angle3) + locX = locX * sin(pi / 2.0 + angle3) + + loopArm3.append(len(verts)) + # Add translated circle + verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ]) + + # Create faces + faces.extend(createFaces(loopMainStart, loopJoint1, closed=True)) + faces.extend(createFaces(loopJoint2, loopArm1, closed=True)) + faces.extend(createFaces(loopJoint3, loopArm2, closed=True)) + faces.extend(createFaces(loopJoint4, loopArm3, closed=True)) + + if bpy.context.mode == "OBJECT": + if (context.selected_objects != []) and context.active_object and \ + (context.active_object.data is not None) and ('CrossJoint' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + mesh = create_mesh(context, verts, [], faces, "Cross Joint") + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + mesh = create_mesh(context, verts, [], faces, "Cross Joint") + obj = object_utils.object_data_add(context, mesh, operator=self) + + mesh.update() + + obj.data["CrossJoint"] = True + obj.data["change"] = False + for prm in CrossJointParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + mesh = create_mesh(context, verts, [], faces, "TMP") + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + + +# Create the vertices and polygons for a regular n-joint +def NJointParameters(): + NJointParameters = [ + "radius", + "div", + "number", + "length", + ] + return NJointParameters + +class AddNJoint(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_n_joint_add" + bl_label = "Add Pipe N-Joint" + bl_description = "Construct a n-joint pipe mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + NJoint : BoolProperty(name = "NJoint", + default = True, + description = "NJoint") + + #### change properties + change : BoolProperty(name = "Change", + default = False, + description = "change NJoint") + + radius: FloatProperty( + name="Radius", + description="The radius of the pipe", + default=1.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + div: IntProperty( + name="Divisions", + description="Number of vertices (divisions)", + default=32, + min=4, + max=256 + ) + number: IntProperty( + name="Arms", + description="Number of joints / arms", + default=5, + min=2, + max=99999 + ) + length: FloatProperty( + name="Length", + description="Length of each joint / arm", + default=3.0, + min=0.01, + max=100.0, + unit="LENGTH" + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'radius') + layout.prop(self, 'div') + layout.prop(self, 'number') + layout.prop(self, 'length') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + radius = self.radius + div = self.div + number = self.number + length = self.length + + if (div % 2): + # Odd vertice number not supported (yet) + self.report({'INFO'}, "Odd vertices number is not yet supported") + return {'CANCELLED'} + + if (number < 2): + return {'CANCELLED'} + + verts = [] + faces = [] + + loopsEndCircles = [] + loopsJointsTemp = [] + loopsJoints = [] + + vertTemp1 = None + vertTemp2 = None + + angleDiv = (2.0 * pi / number) + + # Create vertices for the end circles + for num in range(number): + circle = [] + # Create start circle + angle = num * angleDiv + + baseEndLocX = length * sin(angle) + baseEndLocZ = length * cos(angle) + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + # Create circle + locX = sin(curVertAngle) * radius + locY = cos(curVertAngle) * radius + locZ = 0.0 + + # Rotate circle + locZ = locX * cos(pi / 2.0 + angle) + locX = locX * sin(pi / 2.0 + angle) + + circle.append(len(verts)) + # Add translated circle + verts.append([baseEndLocX + locX, locY, baseEndLocZ + locZ]) + + loopsEndCircles.append(circle) + + # Create vertices for the joint circles + loopJoint = [] + for vertIdx in range(div): + curVertAngle = vertIdx * (2.0 * pi / div) + locX = sin(curVertAngle) + locY = cos(curVertAngle) + + skipVert = False + # Store pole vertices + if vertIdx == 0: + if (num == 0): + vertTemp2 = len(verts) + else: + skipVert = True + elif vertIdx == div / 2: + # @todo: This will possibly break if we + # ever support odd divisions + if (num == 0): + vertTemp1 = len(verts) + else: + skipVert = True + + if not skipVert: + if (vertIdx > div / 2): + locZ = -locX * tan((pi - angleDiv) / 2.0) + loopJoint.append(len(verts)) + + # Rotate the vert + cosAng = cos(-angle) + sinAng = sin(-angle) + LocXnew = locX * cosAng - locZ * sinAng + LocZnew = locZ * cosAng + locX * sinAng + locZ = LocZnew + locX = LocXnew + + verts.append([ + locX * radius, + locY * radius, + locZ * radius]) + else: + # These two vertices will only be + # added the very first time. + if vertIdx == 0 or vertIdx == div / 2: + verts.append([locX * radius, locY * radius, locZ]) + + loopsJointsTemp.append(loopJoint) + + # Create complete loops (loopsJoints) out of the + # double number of half loops in loopsJointsTemp + for halfLoopIdx in range(len(loopsJointsTemp)): + if (halfLoopIdx == len(loopsJointsTemp) - 1): + idx1 = halfLoopIdx + idx2 = 0 + else: + idx1 = halfLoopIdx + idx2 = halfLoopIdx + 1 + + loopJoint = [] + loopJoint.append(vertTemp2) + loopJoint.extend(reversed(loopsJointsTemp[idx2])) + loopJoint.append(vertTemp1) + loopJoint.extend(loopsJointsTemp[idx1]) + + loopsJoints.append(loopJoint) + + # Create faces from the two + # loop arrays (loopsJoints -> loopsEndCircles) + for loopIdx in range(len(loopsEndCircles)): + faces.extend( + createFaces(loopsJoints[loopIdx], + loopsEndCircles[loopIdx], closed=True)) + + if bpy.context.mode == "OBJECT": + if (context.selected_objects != []) and context.active_object and \ + (context.active_object.data is not None) and ('NJoint' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + mesh = create_mesh(context, verts, [], faces, "N Joint") + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + mesh = create_mesh(context, verts, [], faces, "N Joint") + obj = object_utils.object_data_add(context, mesh, operator=self) + + obj.data["NJoint"] = True + obj.data["change"] = False + for prm in NJointParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + mesh = create_mesh(context, verts, [], faces, "TMP") + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_pyramid.py b/extensions/blender_org/extra_mesh_objects/add_mesh_pyramid.py new file mode 100644 index 0000000..5272346 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_pyramid.py @@ -0,0 +1,223 @@ +# SPDX-FileCopyrightText: 2011-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author: Phil Cote, cotejrp1, (http://www.blenderaddons.com) + +import bpy +import bmesh +from bpy.props import ( + FloatProperty, + IntProperty, + StringProperty, + BoolProperty, + ) +from math import pi +from mathutils import ( + Quaternion, + Vector, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + + +def create_step(width, base_level, step_height, num_sides): + + axis = [0, 0, -1] + PI2 = pi * 2 + rad = width / 2 + + quat_angles = [(cur_side / num_sides) * PI2 + for cur_side in range(num_sides)] + + quaternions = [Quaternion(axis, quat_angle) + for quat_angle in quat_angles] + + init_vectors = [Vector([rad, 0, base_level])] * len(quaternions) + + quat_vector_pairs = list(zip(quaternions, init_vectors)) + vectors = [quaternion @ vec for quaternion, vec in quat_vector_pairs] + bottom_list = [(vec.x, vec.y, vec.z) for vec in vectors] + top_list = [(vec.x, vec.y, vec.z + step_height) for vec in vectors] + full_list = bottom_list + top_list + + return full_list + + +def split_list(l, n): + """ + split the blocks up. Credit to oremj for this one. + http://stackoverflow.com/questions/312443/how-do-you-split-a-list-into-evenly-sized-chunks-in-python + """ + n *= 2 + returned_list = [l[i: i + n] for i in range(0, len(l), n)] + return returned_list + + +def get_connector_pairs(lst, n_sides): + # chop off the verts that get used for the base and top + lst = lst[n_sides:] + lst = lst[:-n_sides] + lst = split_list(lst, n_sides) + return lst + + +def pyramid_mesh(self, context): + all_verts = [] + + height_offset = 0 + cur_width = self.width + + for i in range(self.num_steps): + verts_loc = create_step(cur_width, height_offset, self.height, + self.num_sides) + height_offset += self.height + cur_width -= self.reduce_by + all_verts.extend(verts_loc) + + mesh = bpy.data.meshes.new("Pyramid") + bm = bmesh.new() + + for v_co in all_verts: + bm.verts.new(v_co) + + def add_faces(n, block_vert_sets): + for bvs in block_vert_sets: + for i in range(self.num_sides - 1): + bm.faces.new([bvs[i], bvs[i + n], bvs[i + n + 1], bvs[i + 1]]) + bm.faces.new([bvs[n - 1], bvs[(n * 2) - 1], bvs[n], bvs[0]]) + + # get the base and cap faces done. + bm.faces.new(bm.verts[0:self.num_sides]) + bm.faces.new(reversed(bm.verts[-self.num_sides:])) # otherwise normal faces intern... T44619. + + # side faces + block_vert_sets = split_list(bm.verts, self.num_sides) + add_faces(self.num_sides, block_vert_sets) + + # connector faces between faces and faces of the block above it. + connector_pairs = get_connector_pairs(bm.verts, self.num_sides) + add_faces(self.num_sides, connector_pairs) + + bm.to_mesh(mesh) + mesh.update() + + return mesh + + +class AddPyramid(bpy.types.Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_steppyramid_add" + bl_label = "Pyramid" + bl_description = "Construct a step pyramid mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + Pyramid : BoolProperty(name = "Pyramid", + default = True, + description = "Pyramid") + change : BoolProperty(name = "Change", + default = False, + description = "change Pyramid") + + num_sides: IntProperty( + name="Sides", + description="How many sides each step will have", + min=3, + default=4 + ) + num_steps: IntProperty( + name="Steps", + description="How many steps for the overall pyramid", + min=1, + default=10 + ) + width: FloatProperty( + name="Width", + description="Initial base step width", + min=0.01, + default=2 + ) + height: FloatProperty( + name="Height", + description="How tall each step will be", + min=0.01, + default=0.1 + ) + reduce_by: FloatProperty( + name="Taper", + description="How much to reduce each succeeding step by", + min=.01, + default=.20 + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'num_sides') + layout.prop(self, 'num_steps') + layout.prop(self, 'width') + layout.prop(self, 'height') + layout.prop(self, 'reduce_by') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('Pyramid' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + obj.data = pyramid_mesh(self, context) + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + mesh = pyramid_mesh(self, context) + obj = object_utils.object_data_add(context, mesh, operator=self) + + obj.data["Pyramid"] = True + obj.data["change"] = False + for prm in PyramidParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + mesh = pyramid_mesh(self, context) + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def PyramidParameters(): + PyramidParameters = [ + "num_sides", + "num_steps", + "width", + "height", + "reduce_by", + ] + return PyramidParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/__init__.py b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/__init__.py new file mode 100644 index 0000000..fe66928 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/__init__.py @@ -0,0 +1,36 @@ +# SPDX-FileCopyrightText: 2019-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Paul "BrikBot" Marshall +# Created: July 1, 2011 +# Last Modified: September 26, 2013 +# Homepage (blog): http://post.darkarsenic.com/ +# //blog.darkarsenic.com/ +# Thanks to Meta-Androco, RickyBlender, Ace Dragon, and PKHG for ideas +# and testing. +# +# Coded in IDLE, tested in Blender 2.68a. NumPy Recommended. +# Search for "@todo" to quickly find sections that need work. + +if "bpy" in locals(): + import importlib + importlib.reload(rockgen) + +else: + from . import rockgen + +import bpy + + +# Register: +def register(): + rockgen.register() + + +def unregister(): + rockgen.unregister() + + +if __name__ == "__main__": + register() diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/add_mesh_rocks.xml b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/add_mesh_rocks.xml new file mode 100644 index 0000000..08eb22e --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/add_mesh_rocks.xml @@ -0,0 +1,403 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + Default + + + X + 1.0 + 1.0 + + + Y + 1.0 + 1.0 + + + Z + 1.0 + 1.0 + + + X + 0.0 + + + Y + 0.0 + + + Z + 0.0 + + False + [1.0, 1.0, 1.0] + + + 5.0 + 2.5 + 3 + 2 + 0.0 + 0 + + + False + [0.5, 0.5, 0.5] + 0.85 + 1.0 + 0.2 + 50 + False + 0.0 + 0.0 + 1.0 + 0.0 + + + True + True + 1 + + + + River Rock + + + X + 0.5 + 1.25 + + + Y + 0.5 + 1.25 + + + Z + 0.5 + 1.25 + + + X + -0.5 + + + Y + -0.5 + + + Z + -0.5 + + False + [1.0, 1.0, 1.0] + + + 3.0 + 2.0 + 2 + 2 + 2.0 + 2 + + + True + [0.5, 0.5, 0.5] + 0.85 + 0.125 + 0.5 + 50 + False + 0.0 + 0.0 + 1.0 + 0.0 + + + True + True + 1 + + + + Asteroid + + + X + 1.0 + 5.0 + + + Y + 1.0 + 5.0 + + + Z + 1.0 + 5.0 + + + X + 0.0 + + + Y + 0.0 + + + Z + 0.0 + + False + [1.0, 1.0, 1.0] + + + 7.5 + 3.0 + 4 + 3 + 0.0 + 0 + + + True + [0.3, 0.25, 0.2] + 0.85 + 1.5 + 0.25 + 30 + False + 0.0 + 0.0 + 1.0 + 0.0 + + + True + True + 1 + + + + Sandstone + + + X + 1.0 + 1.0 + + + Y + 1.0 + 1.0 + + + Z + 1.0 + 1.0 + + + X + 0.0 + + + Y + 0.0 + + + Z + 0.0 + + True + [5.0, 5.0, 0.1] + + + 0.5 + 1.0 + 3 + 3 + 2.0 + 2 + + + True + [0.5, 0.4, 0.35] + 0.85 + 0.1 + 0.2 + 50 + False + 0.0 + 0.0 + 1.0 + 0.0 + + + True + True + 1 + + + + Ice + + + X + 0.0 + 2.0 + + + Y + 0.0 + 2.0 + + + Z + 0.0 + 2.0 + + + X + 0.0 + + + Y + 0.0 + + + Z + 0.0 + + False + [1.0, 1.0, 1.0] + + + 5.0 + 1.0 + 3 + 2 + 2.0 + 1 + + + True + [0.9, 0.95, 1.0] + 0.85 + 0.25 + 0.2 + 50 + True + 0.9 + 0.1 + 1.31 + 0.0 + + + True + True + 1 + + + + Fake Ocean + + + X + 10.0 + 10.0 + + + Y + 10.0 + 10.0 + + + Z + 0.0 + 0.0 + + + X + 0.0 + + + Y + 0.0 + + + Z + 0.0 + + False + [1.0, 1.0, 1.0] + + + 7.5 + 3.0 + 4 + 3 + 0.0 + 0 + + + True + [0.1, 0.12, 0.125] + 0.85 + 1.5 + 0.25 + 30 + True + 0.5 + 0.5 + 1.333 + 0.0 + + + True + True + 1 + + + diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/factory.xml b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/factory.xml new file mode 100644 index 0000000..08eb22e --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/factory.xml @@ -0,0 +1,403 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + Default + + + X + 1.0 + 1.0 + + + Y + 1.0 + 1.0 + + + Z + 1.0 + 1.0 + + + X + 0.0 + + + Y + 0.0 + + + Z + 0.0 + + False + [1.0, 1.0, 1.0] + + + 5.0 + 2.5 + 3 + 2 + 0.0 + 0 + + + False + [0.5, 0.5, 0.5] + 0.85 + 1.0 + 0.2 + 50 + False + 0.0 + 0.0 + 1.0 + 0.0 + + + True + True + 1 + + + + River Rock + + + X + 0.5 + 1.25 + + + Y + 0.5 + 1.25 + + + Z + 0.5 + 1.25 + + + X + -0.5 + + + Y + -0.5 + + + Z + -0.5 + + False + [1.0, 1.0, 1.0] + + + 3.0 + 2.0 + 2 + 2 + 2.0 + 2 + + + True + [0.5, 0.5, 0.5] + 0.85 + 0.125 + 0.5 + 50 + False + 0.0 + 0.0 + 1.0 + 0.0 + + + True + True + 1 + + + + Asteroid + + + X + 1.0 + 5.0 + + + Y + 1.0 + 5.0 + + + Z + 1.0 + 5.0 + + + X + 0.0 + + + Y + 0.0 + + + Z + 0.0 + + False + [1.0, 1.0, 1.0] + + + 7.5 + 3.0 + 4 + 3 + 0.0 + 0 + + + True + [0.3, 0.25, 0.2] + 0.85 + 1.5 + 0.25 + 30 + False + 0.0 + 0.0 + 1.0 + 0.0 + + + True + True + 1 + + + + Sandstone + + + X + 1.0 + 1.0 + + + Y + 1.0 + 1.0 + + + Z + 1.0 + 1.0 + + + X + 0.0 + + + Y + 0.0 + + + Z + 0.0 + + True + [5.0, 5.0, 0.1] + + + 0.5 + 1.0 + 3 + 3 + 2.0 + 2 + + + True + [0.5, 0.4, 0.35] + 0.85 + 0.1 + 0.2 + 50 + False + 0.0 + 0.0 + 1.0 + 0.0 + + + True + True + 1 + + + + Ice + + + X + 0.0 + 2.0 + + + Y + 0.0 + 2.0 + + + Z + 0.0 + 2.0 + + + X + 0.0 + + + Y + 0.0 + + + Z + 0.0 + + False + [1.0, 1.0, 1.0] + + + 5.0 + 1.0 + 3 + 2 + 2.0 + 1 + + + True + [0.9, 0.95, 1.0] + 0.85 + 0.25 + 0.2 + 50 + True + 0.9 + 0.1 + 1.31 + 0.0 + + + True + True + 1 + + + + Fake Ocean + + + X + 10.0 + 10.0 + + + Y + 10.0 + 10.0 + + + Z + 0.0 + 0.0 + + + X + 0.0 + + + Y + 0.0 + + + Z + 0.0 + + False + [1.0, 1.0, 1.0] + + + 7.5 + 3.0 + 4 + 3 + 0.0 + 0 + + + True + [0.1, 0.12, 0.125] + 0.85 + 1.5 + 0.25 + 30 + True + 0.5 + 0.5 + 1.333 + 0.0 + + + True + True + 1 + + + diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/randomize_texture.py b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/randomize_texture.py new file mode 100644 index 0000000..47862b7 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/randomize_texture.py @@ -0,0 +1,161 @@ +# SPDX-FileCopyrightText: 2019-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# This try block allows for the script to psudo-intelligently select the +# appropriate random to use. If Numpy's random is present it will use that. +# If Numpy's random is not present, it will through a "module not found" +# exception and instead use the slower built-in random that Python has. +try: + from numpy.random import random_integers as randint + from numpy.random import normal as gauss + from numpy.random import ( + beta, + uniform, + ) +except: + from random import ( + randint, + gauss, + uniform, + ) + from random import betavariate as beta + +from .utils import skewedGauss + + +def randomizeTexture(texture, level=1): + ''' + Set the values for a texture from parameters. + + param: texture - bpy.data.texture to modify. + level - designated tweaked settings to use + -> Below 10 is a displacement texture + -> Between 10 and 20 is a base material texture + ''' + noises = ['BLENDER_ORIGINAL', 'ORIGINAL_PERLIN', 'IMPROVED_PERLIN', + 'VORONOI_F1', 'VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4', + 'VORONOI_F2_F1', 'VORONOI_CRACKLE'] + if texture.type == 'CLOUDS': + if randint(0, 1) == 0: + texture.noise_type = 'SOFT_NOISE' + else: + texture.noise_type = 'HARD_NOISE' + if level != 11: + tempInt = randint(0, 6) + else: + tempInt = randint(0, 8) + texture.noise_basis = noises[tempInt] + texture.noise_depth = 8 + + if level == 0: + texture.noise_scale = gauss(0.625, 1 / 24) + elif level == 2: + texture.noise_scale = 0.15 + elif level == 11: + texture.noise_scale = gauss(0.5, 1 / 24) + + if texture.noise_basis in ['BLENDER_ORIGINAL', 'ORIGINAL_PERLIN', + 'IMPROVED_PERLIN', 'VORONOI_F1']: + texture.intensity = gauss(1, 1 / 6) + texture.contrast = gauss(4, 1 / 3) + elif texture.noise_basis in ['VORONOI_F2', 'VORONOI_F3', 'VORONOI_F4']: + texture.intensity = gauss(0.25, 1 / 12) + texture.contrast = gauss(2, 1 / 6) + elif texture.noise_basis == 'VORONOI_F2_F1': + texture.intensity = gauss(0.5, 1 / 6) + texture.contrast = gauss(2, 1 / 6) + elif texture.noise_basis == 'VORONOI_CRACKLE': + texture.intensity = gauss(0.5, 1 / 6) + texture.contrast = gauss(2, 1 / 6) + elif texture.type == 'MUSGRAVE': + # musgraveType = ['MULTIFRACTAL', 'RIDGED_MULTIFRACTAL', + # 'HYBRID_MULTIFRACTAL', 'FBM', 'HETERO_TERRAIN'] + texture.musgrave_type = 'MULTIFRACTAL' + texture.dimension_max = abs(gauss(0, 0.6)) + 0.2 + texture.lacunarity = beta(3, 8) * 8.2 + 1.8 + + if level == 0: + texture.noise_scale = gauss(0.625, 1 / 24) + texture.noise_intensity = 0.2 + texture.octaves = 1.0 + elif level == 2: + texture.intensity = gauss(1, 1 / 6) + texture.contrast = 0.2 + texture.noise_scale = 0.15 + texture.octaves = 8.0 + elif level == 10: + texture.intensity = gauss(0.25, 1 / 12) + texture.contrast = gauss(1.5, 1 / 6) + texture.noise_scale = 0.5 + texture.octaves = 8.0 + elif level == 12: + texture.octaves = uniform(1, 3) + elif level > 12: + texture.octaves = uniform(2, 8) + else: + texture.intensity = gauss(1, 1 / 6) + texture.contrast = 0.2 + texture.octaves = 8.0 + elif texture.type == 'DISTORTED_NOISE': + tempInt = randint(0, 8) + texture.noise_distortion = noises[tempInt] + tempInt = randint(0, 8) + texture.noise_basis = noises[tempInt] + texture.distortion = skewedGauss(2.0, 2.6666, (0.0, 10.0), False) + + if level == 0: + texture.noise_scale = gauss(0.625, 1 / 24) + elif level == 2: + texture.noise_scale = 0.15 + elif level >= 12: + texture.noise_scale = gauss(0.2, 1 / 48) + elif texture.type == 'STUCCI': + stucciTypes = ['PLASTIC', 'WALL_IN', 'WALL_OUT'] + if randint(0, 1) == 0: + texture.noise_type = 'SOFT_NOISE' + else: + texture.noise_type = 'HARD_NOISE' + tempInt = randint(0, 2) + texture.stucci_type = stucciTypes[tempInt] + + if level == 0: + tempInt = randint(0, 6) + texture.noise_basis = noises[tempInt] + texture.noise_scale = gauss(0.625, 1 / 24) + elif level == 2: + tempInt = randint(0, 6) + texture.noise_basis = noises[tempInt] + texture.noise_scale = 0.15 + elif level >= 12: + tempInt = randint(0, 6) + texture.noise_basis = noises[tempInt] + texture.noise_scale = gauss(0.2, 1 / 30) + else: + tempInt = randint(0, 6) + texture.noise_basis = noises[tempInt] + elif texture.type == 'VORONOI': + metrics = ['DISTANCE', 'DISTANCE_SQUARED', 'MANHATTAN', 'CHEBYCHEV', + 'MINKOVSKY_HALF', 'MINKOVSKY_FOUR', 'MINKOVSKY'] + # Settings for first displacement level: + if level == 0: + tempInt = randint(0, 1) + texture.distance_metric = metrics[tempInt] + texture.noise_scale = gauss(0.625, 1 / 24) + texture.contrast = 0.5 + texture.intensity = 0.7 + elif level == 2: + texture.noise_scale = 0.15 + tempInt = randint(0, 6) + texture.distance_metric = metrics[tempInt] + elif level >= 12: + tempInt = randint(0, 1) + texture.distance_metric = metrics[tempInt] + texture.noise_scale = gauss(0.125, 1 / 48) + texture.contrast = 0.5 + texture.intensity = 0.7 + else: + tempInt = randint(0, 6) + texture.distance_metric = metrics[tempInt] + + return diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/rockgen.py b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/rockgen.py new file mode 100644 index 0000000..60393e4 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/rockgen.py @@ -0,0 +1,1178 @@ +# SPDX-FileCopyrightText: 2019-2023 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Blender rock creation tool +# +# Based on BlenderGuru's asteroid tutorial and personal experimentation. +# Tutorial: http://www.blenderguru.com/how-to-make-a-realistic-asteroid/ +# Update with another tutorial shared by "rusted" of BlenderArtists: +# Tutorial: http://saschahenrichs.blogspot.com/2010/03/3dsmax-environment-modeling-1.html +# +# Uses the NumPy Gaussian random number generator to generate a +# a rock within a given range and give some randomness to the displacement +# texture values. NumPy's gaussian generator was chosen as, based on +# profiling I performed, it runs in about half the time as the built in +# Python gaussian equivalent. I would like to shift the script to use the +# NumPy beta distribution as it ran in about half the time as the NumPy +# gaussian once the skew calculations are added. +# +# Set lower and upper bounds to the same for no randomness. +# +# Tasks: +# Generate meshes with random scaling between given values. +# - Allow for a skewed distribution +# *** Completed on 4/17/2011 *** +# - Create a set of meshes that can be used +# Give the user the ability to set the subsurf level (detail level) +# *** Completed on 4/29/2011 *** +# - Set subsurf modifiers to default at view:3, render:3. +# *** Completed on 4/17/2011 *** +# - Set crease values to allow for hard edges on first subsurf. +# *** Completed on 4/29/2011 *** +# Be able to generate and add a texture to the displacement modifiers. +# *** Completed 5/17/2011 *** +# - Generate three displacement modifiers. +# - The first only uses a Musgrave for initial intentations. +# *** Now generating four displacement modifiers *** +# *** Completed on 5/17/2011 *** +# - Set a randomness for the type and values of the displacement texture. +# *** Completed 5/9/2011 *** +# - Allow the user to set a value for the range of displacement. +# -> Modification: have user set "roughness" and "roughness range". +# *** Compleded on 4/23/2011 *** +# Set material settings and assign material textures +# *** Completed 6/9/2011 *** +# - Mossiness of the rocks. +# *** Completed 6/9/2011 *** +# - Color of the rocks. +# *** Completed 5/16/2011 *** +# - Wetness/shinyness of the rock. +# *** Completed 5/6/2011 *** +# - For all the user provides a mean value for a skewed distribution. +# *** Removed to lessen usage complexity *** +# Add some presets (mesh) to make it easier to use +# - Examples: river rock, asteroid, quaried rock, etc +# *** Completed 7/12/2011 *** +# +# Code Optimization: +# Remove all "bpy.ops" operations with "bpy.data" base operations. +# Remove material/texture cataloging with building a list of +# returned values from bpy.data.*.new() operations. +# *** Completed on 9/6/2011 *** +# Search for places where list comprehensions can be used. +# Look for alternate methods +# - Possible alternate and more efficient data structures +# - Possible alternate algorithms may realize greater performance +# - Look again at multi-processing. Without bpy.ops is might +# be viable. +# +# Future tasks: +# Multi-thread the script +# *** Will not be implemented. Multi-processing is adding to much +# overhead to realize a performance increase *** +# - Learn basic multi-threading in Python (multiprocessing) +# - Break material generation into separate threads (processes) +# - Break mesh generation into separate threads (processes) +# - Move name generation, texture ID generation, etc to process first +# - Roll version to 2.0 on completion +# +# Paul "BrikBot" Marshall +# Created: April 17, 2011 +# Last Modified: November 17, 2011 +# Homepage (blog): http://post.darkarsenic.com/ +# //blog.darkarsenic.com/ +# Thanks to Meta-Androco, RickyBlender, Ace Dragon, and PKHG for ideas +# and testing. +# +# Coded in IDLE, tested in Blender 2.59. NumPy Recommended. +# Search for "@todo" to quickly find sections that need work. +# +# Remember - +# Functional code comes before fast code. Once it works, then worry about +# making it faster/more efficient. + +import bpy +import time +from .. import __package__ as base_package +from . import ( + settings, + utils +) +from .utils import skewedGauss +from .randomize_texture import randomizeTexture +from bpy_extras import object_utils +from mathutils import ( + Vector +) +from bpy.props import ( + BoolProperty, + IntProperty, + FloatProperty, + FloatVectorProperty, + EnumProperty +) + +# This try block allows for the script to psudo-intelligently select the +# appropriate random to use. If Numpy's random is present it will use that. +# If Numpy's random is not present, it will through a "module not found" +# exception and instead use the slower built-in random that Python has. +try: + from numpy.random import random_integers as randint + from numpy.random import normal as gauss + from numpy.random import ( + seed, + weibull) +# print("Rock Generator: Numpy found.") + numpy = True +except: + from random import ( + randint, + gauss, + seed) + from random import weibullvariate as weibull + print("Rock Generator: Numpy not found. Using Python's random.") + numpy = False + +# Global variables: +LASTROCK = 0 + + +# Creates a new mesh: +# +# param: verts - Vector of vertices for the mesh. +# edges - Edges for the mesh. Can be "[]". +# faces - Face tuples corresponding to vertices. +# name - Name of the mesh. +def createMeshObject(context, verts, edges, faces, name): + # Create new mesh + mesh = bpy.data.meshes.new(name) + + # Make a mesh from a list of verts/edges/faces. + mesh.from_pydata(verts, edges, faces) + + # Update mesh geometry after adding stuff. + mesh.update() + + if bpy.context.mode == "EDIT_MESH": + bpy.ops.object.mode_set(mode='OBJECT') + + return object_utils.object_data_add(context, mesh, operator=None) + + +# Generates an object based on one of several different mesh types. +# All meshes have exactly eight vertices, and may be built from either +# tri's or quads. +# +# param: muX - mean X offset value +# sigmaX - X offset standard deviation +# scaleX - X upper and lower bounds +# upperSkewX - Is the distribution upperskewed? +# muY - mean Y offset value +# sigmaY - Y offset standard deviation +# scaleY - Y upper and lower bounds +# upperSkewY - Is the distribution upperskewed? +# muZ - mean Z offset value +# sigmaZ - Z offset standard deviation +# scaleZ - Z upper and lower bounds +# upperSkewY - Is the distribution upperskewed? +# base - base number on the end of the object name +# shift - Addition to the base number for multiple runs. +# scaleDisplace - Scale the displacement maps +# +# return: name - the built name of the object +def generateObject(context, muX, sigmaX, scaleX, upperSkewX, muY, sigmaY, + scaleY, upperSkewY, muZ, sigmaZ, scaleZ, upperSkewZ, base, + shift, scaleDisplace, scale_fac): + x = [] + y = [] + z = [] + shape = randint(0, 11) + + # Cube + # Use parameters to re-scale cube: + # Reversed if/for nesting. Should be a little faster. + if shape == 0: + for j in range(8): + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif shape == 1: + for j in range(8): + if j in [0, 1, 3, 4]: + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif j in [2, 5]: + if sigmaX == 0: + x.append(0) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 4) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif j in [6, 7]: + if sigmaX == 0: + x.append(0) + else: + x.append(skewedGauss(0, sigmaX, scaleX, upperSkewX) / 4) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 4) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif shape == 2: + for j in range(8): + if j in [0, 2, 5, 7]: + if sigmaX == 0: + x.append(scaleX[0] / 4) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 4) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 4) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 4) + elif j in [1, 3, 4, 6]: + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif shape == 3: + for j in range(8): + if j > 0: + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + else: + if sigmaX == 0: + x.append(0) + else: + x.append(skewedGauss(0, sigmaX, scaleX, upperSkewX) / 8) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 8) + if sigmaZ == 0: + z.append(0) + else: + z.append(skewedGauss(0, sigmaZ, scaleZ, upperSkewZ) / 8) + elif shape == 4: + for j in range(10): + if j in [0, 9]: + if sigmaX == 0: + x.append(0) + else: + x.append(skewedGauss(0, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif j in [1, 2, 3, 4]: + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif j in [5, 7]: + if sigmaX == 0: + x.append(0) + else: + x.append(skewedGauss(0, sigmaX, scaleX, upperSkewX) / 3) + if sigmaY == 0: + y.append(scaleY[0] / 3) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 3) + if sigmaZ == 0: + z.append(0) + else: + z.append(skewedGauss(0, sigmaZ, scaleZ, upperSkewZ) / 6) + elif j in [6, 8]: + if sigmaX == 0: + x.append(scaleX[0] / 3) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 3) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 3) + if sigmaZ == 0: + z.append(0) + else: + z.append(skewedGauss(0, sigmaZ, scaleZ, upperSkewZ) / 6) + elif shape == 5: + for j in range(10): + if j == 0: + if sigmaX == 0: + x.append(0) + else: + x.append(skewedGauss(0, sigmaX, scaleX, upperSkewX) / 8) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 8) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif j in [1, 2]: + if sigmaX == 0: + x.append(scaleZ[0] * .125) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) * 0.125) + if sigmaY == 0: + y.append(scaleZ[0] * 0.2165) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) * 0.2165) + if sigmaZ == 0: + z.append(0) + else: + z.append(skewedGauss(0, sigmaZ, scaleZ, upperSkewZ) / 4) + elif j == 3: + if sigmaX == 0: + x.append(scaleX[0] / 4) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 4) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 4) + if sigmaZ == 0: + z.append(0) + else: + z.append(skewedGauss(0, sigmaZ, scaleZ, upperSkewZ) / 4) + elif j in [4, 6]: + if sigmaX == 0: + x.append(scaleX[0] * 0.25) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) * 0.25) + if sigmaY == 0: + y.append(scaleY[0] * 0.433) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) * 0.433) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif j == 5: + if sigmaX == 0: + x.append(scaleX[0] / 4) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 4) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif j in [7, 9]: + if sigmaX == 0: + x.append(scaleX[0] * 0.10825) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) * 0.10825) + if sigmaY == 0: + y.append(scaleY[0] * 0.2165) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) * 0.2165) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif j == 8: + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 4) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif shape == 6: + for j in range(7): + if j > 0: + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + else: + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif shape == 7: + for j in range(10): + if j in [1, 3, 4, 5, 8, 9]: + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + else: + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(0) + else: + y.append(skewedGauss(0, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif shape == 8: + for j in range(7): + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif shape == 9: + for j in range(8): + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif shape == 10: + for j in range(7): + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + elif shape == 11: + for j in range(7): + if sigmaX == 0: + x.append(scaleX[0] / 2) + else: + x.append(skewedGauss(muX, sigmaX, scaleX, upperSkewX) / 2) + if sigmaY == 0: + y.append(scaleY[0] / 2) + else: + y.append(skewedGauss(muY, sigmaY, scaleY, upperSkewY) / 2) + if sigmaZ == 0: + z.append(scaleZ[0] / 2) + else: + z.append(skewedGauss(muZ, sigmaZ, scaleZ, upperSkewZ) / 2) + + # This is for scaling the displacement textures. + # Scale the vertices so that their average is equal to 1 * scale factor. + if scaleDisplace: + averageX = (sum(x) / len(x)) * scale_fac[0] + for i in range(len(x)): + x[i] /= averageX + averageY = (sum(y) / len(y)) * scale_fac[1] + for i in range(len(y)): + y[i] /= averageY + averageZ = (sum(z) / len(z)) * scale_fac[2] + for i in range(len(z)): + z[i] /= averageZ + + # Build vertex and face arrays: + if shape == 1: + verts = [(-x[0], -y[0], -z[0]), (x[1], -y[1], -z[1]), (x[2], -y[2], z[2]), + (-x[3], y[3], -z[3]), (x[4], y[4], -z[4]), (x[5], y[5], z[5]), + (x[6], y[6], z[6]), (x[7], y[7], -z[7])] + faces = [[0, 1, 2], [0, 1, 7], [3, 0, 7], [3, 4, 7], [1, 4, 7], [3, 4, 5], [1, 2, 6], + [1, 4, 6], [4, 5, 6], [0, 2, 6], [0, 3, 6], [3, 5, 6]] + elif shape == 2: + verts = [(-x[0], y[0], -z[0]), (x[1], -y[1], -z[1]), (x[2], y[2], -z[2]), + (-x[3], y[3], -z[3]), (-x[4], -y[4], z[4]), (x[5], y[5], z[5]), + (x[6], y[6], z[6]), (-x[7], y[7], z[7])] + faces = [[0, 1, 2], [0, 2, 3], [0, 3, 7], [0, 7, 4], [1, 4, 5], [0, 1, 4], [5, 1, 2], + [5, 2, 6], [3, 2, 6], [3, 6, 7], [5, 4, 7], [5, 6, 7]] + elif shape == 3: + verts = [(x[0], y[0], z[0]), (x[1], -y[1], -z[1]), (x[2], y[2], -z[2]), + (-x[3], y[3], -z[3]), (x[4], -y[4], z[4]), (x[5], y[5], z[5]), + (-x[6], y[6], z[6]), (-x[7], -y[7], z[7])] + faces = [[0, 1, 2], [0, 2, 3], [0, 3, 6], [0, 6, 7], [0, 7, 4], [0, 4, 1], [5, 4, 1, 2], + [5, 6, 3, 2], [5, 4, 7, 6]] + elif shape == 4: + verts = [(x[0], y[0], z[0]), (x[1], -y[1], -z[1]), (x[2], y[2], -z[2]), + (-x[3], y[3], -z[3]), (-x[4], -y[4], -z[4]), (x[5], -y[5], -z[5]), + (x[6], y[6], -z[6]), (x[7], y[7], -z[7]), (-x[8], y[8], -z[8]), + (x[9], y[9], -z[9])] + faces = [[0, 1, 6], [0, 6, 2], [0, 2, 7], [0, 7, 3], [0, 3, 8], [0, 8, 4], [0, 4, 5], + [0, 5, 1], [1, 9, 2], [2, 9, 3], [3, 9, 4], [4, 9, 1], [1, 6, 2], [2, 7, 3], + [3, 8, 4], [4, 5, 1]] + elif shape == 5: + verts = [(x[0], y[0], z[0]), (x[1], -y[1], z[1]), (x[2], y[2], z[2]), + (-x[3], y[3], z[3]), (x[4], -y[4], -z[4]), (x[5], y[5], -z[5]), + (x[6], y[6], -z[6]), (-x[7], y[7], -z[7]), (-x[8], y[8], -z[8]), + (-x[9], -y[9], -z[9])] + faces = [[0, 1, 2], [0, 2, 3], [0, 3, 1], [1, 4, 5], [1, 5, 2], [2, 5, 6], [2, 6, 7], + [2, 7, 3], [3, 7, 8], [3, 8, 9], [3, 9, 1], [1, 9, 4], [4, 5, 9], [5, 6, 7], + [7, 8, 9], [9, 5, 7]] + elif shape == 6: + verts = [(x[0], y[0], z[0]), (x[1], -y[1], -z[1]), (x[2], y[2], -z[2]), + (-x[3], y[3], -z[3]), (-x[4], y[4], z[4]), (-x[5], -y[5], z[5]), + (-x[6], -y[6], -z[6])] + faces = [[0, 1, 2], [0, 2, 3, 4], [0, 1, 6, 5], [0, 4, 5], [1, 2, 3, 6], [3, 4, 5, 6]] + elif shape == 7: + verts = [(x[0], y[0], z[0]), (x[1], -y[1], -z[1]), (x[2], y[2], -z[2]), + (x[3], y[3], -z[3]), (-x[4], y[4], -z[4]), (-x[5], y[5], z[5]), + (-x[6], y[6], z[6]), (-x[7], y[7], -z[7]), (-x[8], -y[8], -z[8]), + (-x[9], -y[9], z[9])] + faces = [[0, 1, 2], [0, 2, 3], [0, 5, 6], [0, 6, 9], [0, 1, 8, 9], [0, 3, 4, 5], + [1, 2, 7, 8], [2, 3, 4, 7], [4, 5, 6, 7], [6, 7, 8, 9]] + elif shape == 8: + verts = [(x[0], y[0], z[0]), (x[1], -y[1], -z[1]), (x[2], y[2], -z[2]), + (-x[3], y[3], -z[3]), (-x[4], -y[4], -z[4]), (-x[5], -y[5], z[5]), + (-x[6], y[6], z[6])] + faces = [[0, 2, 1], [0, 1, 4], [0, 4, 5], [0, 5, 6], [0, 6, 3, 2], [2, 1, 4, 3], + [3, 6, 5, 4]] + elif shape == 9: + verts = [(-x[0], -y[0], -z[0]), (-x[1], y[1], -z[1]), (-x[2], y[2], z[2]), + (-x[3], -y[3], z[3]), (x[4], -y[4], -z[4]), (x[5], y[5], -z[5]), + (x[6], y[6], z[6]), (x[7], -y[7], z[7])] + faces = [[0, 1, 6, 2], [1, 5, 7, 6], [5, 4, 3, 7], [4, 0, 2, 3], [0, 1, 5, 4], [3, 2, 6, 7]] + elif shape == 10: + verts = [(-x[0], -y[0], -z[0]), (-x[1], y[1], -z[1]), (-x[2], y[2], z[2]), + (x[3], -y[3], z[3]), (x[4], y[4], z[4]), (x[5], y[5], -z[5]), + (x[6], -y[6], -z[6])] + faces = [[0, 2, 3], [0, 3, 6], [0, 1, 5, 6], [2, 3, 4], [0, 1, 2], [1, 2, 4, 5], [3, 4, 5, 6]] + elif shape == 11: + verts = [(-x[0], -y[0], -z[0]), (-x[1], y[1], -z[1]), (-x[2], y[2], z[2]), + (x[3], -y[3], z[3]), (x[4], y[4], z[4]), (x[5], y[5], -z[5]), + (x[6], -y[6], -z[6])] + faces = [[0, 2, 3], [0, 3, 6], [0, 1, 5, 6], [2, 3, 4], [5, 6, 3], [1, 5, 3, 4], [0, 1, 4, 2]] + else: + verts = [(-x[0], -y[0], -z[0]), (-x[1], y[1], -z[1]), (-x[2], -y[2], z[2]), + (-x[3], y[3], z[3]), (x[4], -y[4], -z[4]), (x[5], y[5], -z[5]), + (x[6], -y[6], z[6]), (x[7], y[7], z[7])] + faces = [[0, 1, 3, 2], [0, 1, 5, 4], [0, 4, 6, 2], [7, 5, 4, 6], [7, 3, 2, 6], [7, 5, 1, 3]] + + # name = "Rock." + str(base + shift).zfill(3) + name = "rock" + + # Make object: + obj = createMeshObject(context, verts, [], faces, name) + + if scaleDisplace: + # bpy.data.objects[name].scale = Vector((averageX, averageY, averageZ)) + obj.scale = Vector((averageX, averageY, averageZ)) + + # For a slight speed bump / Readability: + # mesh = bpy.data.meshes[name] + mesh = obj.data + + creases = mesh.edge_creases_ensure().data + + # Apply creasing: + if shape == 0: + for i in range(12): + # todo: "0.375 / 3"? WTF? That = 0.125. . . . + # *** Completed 7/15/2011: Changed second one *** + creases[i].value = gauss(0.125, 0.125) + elif shape == 1: + for i in [0, 2]: + creases[i].value = gauss(0.5, 0.125) + for i in [6, 9, 11, 12]: + creases[i].value = gauss(0.25, 0.05) + for i in [5, 7, 15, 16]: + creases[i].value = gauss(0.125, 0.025) + elif shape == 2: + for i in range(18): + creases[i].value = gauss(0.125, 0.025) + elif shape == 3: + for i in [0, 1, 6, 10, 13]: + creases[i].value = gauss(0.25, 0.05) + creases[8].value = gauss(0.5, 0.125) + elif shape == 4: + for i in [5, 6, 7, 10, 14, 16, 19, 21]: + creases[i].value = gauss(0.5, 0.125) + elif shape == 7: + for i in range(18): + if i in [0, 1, 2, 3, 6, 7, 8, 9, 13, 16]: + creases[i].value = gauss(0.5, 0.125) + elif i in [11, 17]: + creases[i].value = gauss(0.25, 0.05) + else: + creases[i].value = gauss(0.125, 0.025) + elif shape == 8: + for i in range(12): + if i in [0, 3, 8, 9, 10]: + creases[i].value = gauss(0.5, 0.125) + elif i == 11: + creases[i].value = gauss(0.25, 0.05) + else: + creases[i].value = gauss(0.125, 0.025) + elif shape == 9: + for i in range(12): + if i in [0, 3, 4, 11]: + creases[i].value = gauss(0.5, 0.125) + else: + creases[i].value = gauss(0.25, 0.05) + elif shape == 10: + for i in range(12): + if i in [0, 2, 3, 4, 8, 11]: + creases[i].value = gauss(0.5, 0.125) + elif i in [1, 5, 7]: + creases[i].value = gauss(0.25, 0.05) + else: + creases[i].value = gauss(0.125, 0.025) + elif shape == 11: + for i in range(11): + if i in [1, 2, 3, 4, 8, 11]: + creases[i].value = gauss(0.25, 0.05) + else: + creases[i].value = gauss(0.125, 0.025) + + return obj + + +# Creates rock objects: +def generateRocks(context, scaleX, skewX, scaleY, skewY, scaleZ, skewZ, + scale_fac, detail, display_detail, deform, rough, + smooth_fac, smooth_it, + numOfRocks=1, userSeed=1.0, + scaleDisplace=False, randomSeed=True, use_enter_edit_mode=False): + global LASTROCK + sigmaX = 0 + sigmaY = 0 + sigmaZ = 0 + upperSkewX = False + upperSkewY = False + upperSkewZ = False + shift = 0 + # vertexScaling = [] + + # Seed the random Gaussian value generator: + if randomSeed: + seed(int(time.time())) + else: + seed(userSeed) + + # These values need to be really small to look good. + # So the user does not have to use such ridiculously small values: + deform /= 10 + rough /= 100 + + # Verify that the min really is the min: + if scaleX[1] < scaleX[0]: + scaleX[0], scaleX[1] = scaleX[1], scaleX[0] + if scaleY[1] < scaleY[0]: + scaleY[0], scaleY[1] = scaleY[1], scaleY[0] + if scaleZ[1] < scaleZ[0]: + scaleZ[0], scaleZ[1] = scaleZ[1], scaleZ[0] + + # todo: edit below to allow for skewing the distribution + # *** todo completed 4/22/2011 *** + # *** Code now generating "int not scriptable error" in Blender *** + # + # Calculate mu and sigma for a Gaussian distributed random number + # generation: + # If the lower and upper bounds are the same, skip the math. + # + # sigma is the standard deviation of the values. The 95% interval is three + # standard deviations, which is what we want most generated values to fall + # in. Since it might be skewed we are going to use half the difference + # between the mean and the furthest bound and scale the other side down + # post-number generation. + if scaleX[0] != scaleX[1]: + skewX = (skewX + 1) / 2 + muX = scaleX[0] + ((scaleX[1] - scaleX[0]) * skewX) + if skewX < 0.5: + sigmaX = (scaleX[1] - muX) / 3 + else: + sigmaX = (muX - scaleX[0]) / 3 + upperSkewX = True + else: + muX = scaleX[0] + if scaleY[0] != scaleY[1]: + skewY = (skewY + 1) / 2 + muY = scaleY[0] + ((scaleY[1] - scaleY[0]) * skewY) + if skewY < 0.5: + sigmaY = (scaleY[1] - muY) / 3 + else: + sigmaY = (muY - scaleY[0]) / 3 + upperSkewY = True + else: + muY = scaleY[0] + if scaleZ[0] != scaleZ[1]: + skewZ = (skewZ + 1) / 2 + muZ = scaleZ[0] + ((scaleZ[1] - scaleZ[0]) * skewZ) + if skewZ < 0.5: + sigmaZ = (scaleZ[1] - muZ) / 3 + else: + sigmaZ = (muZ - scaleZ[0]) / 3 + upperSkewZ = True + else: + muZ = scaleZ + + rocks = [] + + for i in range(numOfRocks): + # todo: enable different random values for each (x,y,z) coordinate for + # each vertex. This will add additional randomness to the shape of the + # generated rocks. + # *** todo completed 4/19/2011 *** + # *** Code is notably slower at high rock counts *** + + # name = generateObject(context, muX, sigmaX, scaleX, upperSkewX, muY, + rock = generateObject( + context, muX, sigmaX, scaleX, upperSkewX, muY, + sigmaY, scaleY, upperSkewY, muZ, sigmaZ, scaleZ, + upperSkewZ, i, LASTROCK, scaleDisplace, scale_fac) + + # rock = bpy.data.objects[name] + + # todo Map what the two new textures will be: + # This is not working. It works on paper so . . . ??? + # *** todo completed on 4/23/2011 *** + # *** todo re-added as the first rock is getting + # 'Texture.001' twice. *** + # *** todo completed on 4/25/2011 *** + # *** Script no longer needs to map new texture names 9/6/2011 *** + + # Create the four new textures: + # todo Set displacement texture parameters: + # *** todo completed on 5/31/2011 *** + # Voronoi has been removed from being an option for the fine detail + # texture. + texTypes = ['CLOUDS', 'MUSGRAVE', 'DISTORTED_NOISE', 'STUCCI', 'VORONOI'] + newTex = [] + # The first texture is to give a more ranodm base shape appearance: + newTex.append(bpy.data.textures.new( + name='rock_displacement', + type=texTypes[1])) + randomizeTexture(newTex[0], 0) + newTex.append(bpy.data.textures.new( + name='rock_displacement', + type=texTypes[4])) + randomizeTexture(newTex[1], 0) + if numpy: + newTex.append(bpy.data.textures.new( + name='rock_displacement', + type=texTypes[int(round(weibull(1, 1)[0] / 2.125))])) + randomizeTexture(newTex[2], 1) + newTex.append(bpy.data.textures.new( + name='rock_displacement', + type=texTypes[int(round(weibull(1, 1)[0] / 2.125))])) + randomizeTexture(newTex[3], 2) + else: + newTex.append(bpy.data.textures.new( + name='rock_displacement', + type=texTypes[int(round(weibull(1, 1) / 2.125))])) + randomizeTexture(newTex[2], 1) + newTex.append(bpy.data.textures.new( + name='rock_displacement', + type=texTypes[int(round(weibull(1, 1) / 2.125))])) + randomizeTexture(newTex[3], 2) + + # Add modifiers: + rock.modifiers.new(name="Subsurf", type='SUBSURF') + rock.modifiers.new(name="Subsurf", type='SUBSURF') + rock.modifiers.new(name="Displace", type='DISPLACE') + rock.modifiers.new(name="Displace", type='DISPLACE') + rock.modifiers.new(name="Displace", type='DISPLACE') + rock.modifiers.new(name="Displace", type='DISPLACE') + + # If smoothing is enabled, allow a little randomness into the + # smoothing factor. Then add the smoothing modifier. + if smooth_fac > 0.0 and smooth_it > 0: + rock.modifiers.new(name="Smooth", type='SMOOTH') + rock.modifiers[6].factor = gauss(smooth_fac, (smooth_fac ** 0.5) / 12) + rock.modifiers[6].iterations = smooth_it + # Make a call to random to keep things consistent: + else: + gauss(0, 1) + + # Set subsurf modifier parameters: + rock.modifiers[0].levels = display_detail + rock.modifiers[0].render_levels = detail + rock.modifiers[1].levels = display_detail + rock.modifiers[1].render_levels = detail + + # todo Set displacement modifier parameters: + # *** todo completed on 4/23/2011 *** + # *** toned down the variance on 4/26/2011 *** + # *** added third modifier on 4/28/2011 *** + # *** texture access changed on 9/6/2011 *** + rock.modifiers[2].texture = newTex[0] + rock.modifiers[2].strength = gauss(deform / 100, (1 / 300) * deform) + rock.modifiers[2].mid_level = 0 + rock.modifiers[3].texture = newTex[1] + rock.modifiers[3].strength = gauss(deform, (1 / 3) * deform) + rock.modifiers[3].mid_level = 0 + rock.modifiers[4].texture = newTex[2] + rock.modifiers[4].strength = gauss(rough * 2, (1 / 3) * rough) + rock.modifiers[5].texture = newTex[3] + rock.modifiers[5].strength = gauss(rough, (1 / 3) * rough) + + # Set mesh to be smooth and fix the normals: + utils.smooth(rock.data) + # utils.smooth(bpy.data.meshes[name]) + bpy.ops.object.editmode_toggle() + bpy.ops.mesh.normals_make_consistent() + bpy.ops.object.editmode_toggle() + + if use_enter_edit_mode: + for m in rock.modifiers: + m.show_in_editmode = True + m.show_on_cage = True + + # Store the last value of i: + shift = i + + rocks.append(rock) + + # Add the shift to LASTROCK: + LASTROCK += shift + 1 + + return rocks + + +# Much of the code below is more-or-less imitation of other addons and as such +# I have left it undocumented. + +class OBJECT_OT_add_mesh_rock(bpy.types.Operator): + """Add rock objects""" + bl_idname = "mesh.add_mesh_rock" + bl_label = "Add Rocks" + bl_options = {'REGISTER', 'UNDO'} + bl_description = "Add rocks" + + # Get the preset values from the XML file. + # -> The script was morphed into a Python module + # to support this. + # Tell settings.py to parse the XML file with the settings. + # Then get the default values resulting from the parsing. + # Make a list containing the default values and append to that + # the presets specified in the same XML file. This list will + # be used to load preset values. + settings.parse() + defaults = settings.getDefault() + presetsList = [defaults] + presetsList += settings.getPresetLists() + presets = [] + lastPreset = 0 + + # Build the presets list for the enum property. + # This needs to be a for loop as the user might add presets to + # the XML file and those should show here: + for i, preset in enumerate(presetsList): + presets.append((str(i), preset[0], preset[0] + " preset values")) + + preset_values: EnumProperty( + name="Presets", + items=presets, + description="Preset values for some rock types") + + num_of_rocks: IntProperty( + name="Number of Rocks", + description="Number of rocks to generate. WARNING: Slow at high values!", + min=1, max=1048576, + soft_max=20, + default=1) + + scale_X: FloatVectorProperty( + name="X scale", + description="X axis scaling range", + min=0.0, max=256.0, step=1, + default=defaults[1], size=2) + skew_X: FloatProperty( + name="X skew", + description="X Skew ratio. 0.5 is no skew", + min=-1.0, max=1.0, default=defaults[4]) + scale_Y: FloatVectorProperty( + name="Y scale", + description="Y axis scaling range", + min=.0, max=256.0, step=1, + default=defaults[2], size=2) + skew_Y: FloatProperty( + name="Y skew", + description="Y Skew ratio. 0.5 is no skew", + min=-1.0, max=1.0, default=defaults[5]) + scale_Z: FloatVectorProperty( + name="Z scale", + description="Z axis scaling range", + min=0.0, max=256.0, step=1, + default=defaults[3], size=2) + skew_Z: FloatProperty( + name="Z skew", + description="Z Skew ratio. 0.5 is no skew", + min=-1.0, max=1.0, default=defaults[6]) + use_scale_dis: BoolProperty( + name="Scale Textures", + description="Scale displacement textures with dimensions. May cause stretched textures", + default=defaults[7]) + scale_fac: FloatVectorProperty( + name="Scaling Factor", + description="XYZ scaling factor. 1: no scaling", + min=0.0001, max=256.0, step=0.1, + default=defaults[8], size=3) + + # @todo Possible to title this section "Physical Properties:"? + deform: FloatProperty( + name="Deformation", + description="Rock deformation", + min=0.0, soft_max=50, max=1024.0, default=defaults[9]) + rough: FloatProperty( + name="Roughness", + description="Rock roughness", + min=0.0, soft_max=50, max=1024.0, default=defaults[10]) + detail: IntProperty( + name="Detail Level", + description="Detail level. WARNING: Slow at high values!", + min=1, soft_max=4, max=10, default=defaults[11]) + display_detail: IntProperty( + name="Display Detail", + description="Display detail. Use a lower value for high numbers of rocks", + min=1, soft_max=4, max=10, default=defaults[12]) + smooth_fac: FloatProperty( + name="Smooth Factor", + description="Smoothing factor. A value of 0 disables", + min=0.0, max=128.0, default=defaults[13]) + smooth_it: IntProperty( + name="Smooth Iterations", + description="Smoothing iterations. A value of 0 disables", + min=0, max=50, default=defaults[14]) + + use_generate: BoolProperty( + name="Generate Rocks", + description="Enable actual generation", + default=defaults[15]) + use_random_seed: BoolProperty( + name="Use a random seed", + description="Create a seed based on time. Causes user seed to be ignored", + default=defaults[16]) + user_seed: IntProperty( + name="User seed", + description="Use a specific seed for the generator", + min=0, max=1048576, default=defaults[17]) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.prop(self, 'preset_values') + layout.separator() + layout.prop(self, 'num_of_rocks') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'scale_X', text='Scale X') + col.prop(self, 'scale_Y', text='Y') + col.prop(self, 'scale_Z', text='Z') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'skew_X', text='Skew X') + col.prop(self, 'skew_Y', text='Y') + col.prop(self, 'skew_Z', text='Z') + layout.separator() + row = layout.row(heading='Textures') + row.prop(self, 'use_scale_dis', text='Scale') + if self.use_scale_dis: + layout.prop(self, 'scale_fac') + else: + row = layout.row() + row.enabled = False + row.prop(self, 'scale_fac') + self.scale_fac = utils.toFloats(self.defaults[8]) + layout.separator() + layout.prop(self, 'deform') + layout.prop(self, 'rough') + layout.prop(self, 'smooth_fac') + layout.prop(self, 'smooth_it') + layout.separator() + col = layout.column(align=True) + col.prop(self, 'display_detail', text='Detail Viewport') + col.prop(self, 'detail', text='Render') + layout.separator() + # layout.prop(self, 'use_generate') Errors out when disabled + layout.prop(self, 'use_random_seed', text='Random Seed') + row = layout.row() + row.enabled = not self.use_random_seed + row.prop(self, 'user_seed', text='Seed') + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + # The following "if" block loads preset values: + if self.lastPreset != int(self.preset_values): + self.scale_X = utils.toFloats(self.presetsList[int(self.preset_values)][1]) + self.scale_Y = utils.toFloats(self.presetsList[int(self.preset_values)][2]) + self.scale_Z = utils.toFloats(self.presetsList[int(self.preset_values)][3]) + self.skew_X = float(self.presetsList[int(self.preset_values)][4]) + self.skew_Y = float(self.presetsList[int(self.preset_values)][5]) + self.skew_Z = float(self.presetsList[int(self.preset_values)][6]) + self.use_scale_dis = bool(self.presetsList[int(self.preset_values)][7]) + self.scale_fac = utils.toFloats(self.presetsList[int(self.preset_values)][8]) + self.deform = float(self.presetsList[int(self.preset_values)][9]) + self.rough = float(self.presetsList[int(self.preset_values)][10]) + self.detail = int(self.presetsList[int(self.preset_values)][11]) + self.display_detail = int(self.presetsList[int(self.preset_values)][12]) + self.smooth_fac = float(self.presetsList[int(self.preset_values)][13]) + self.smooth_it = int(self.presetsList[int(self.preset_values)][14]) + self.use_generate = bool(self.presetsList[int(self.preset_values)][15]) + self.use_random_seed = bool(self.presetsList[int(self.preset_values)][16]) + self.user_seed = int(self.presetsList[int(self.preset_values)][17]) + self.lastPreset = int(self.preset_values) + + # todo Add deform, deform_Var, rough, and rough_Var: + # *** todo completed 4/23/2011 *** + # *** Eliminated "deform_Var" and "rough_Var" so the script is not + # as complex to use. May add in again as advanced features. *** + if self.use_generate: + rocks = generateRocks(context, + self.scale_X, + self.skew_X, + self.scale_Y, + self.skew_Y, + self.scale_Z, + self.skew_Z, + self.scale_fac, + self.detail, + self.display_detail, + self.deform, + self.rough, + self.smooth_fac, + self.smooth_it, + self.num_of_rocks, + self.user_seed, + self.use_scale_dis, + self.use_random_seed, + use_enter_edit_mode) + + for rock in rocks: + rock.select_set(True) + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + + +classes = ( + OBJECT_OT_add_mesh_rock, +) + + +def register(): + from bpy.utils import register_class + for cls in classes: + register_class(cls) + + +def unregister(): + from bpy.utils import unregister_class + for cls in reversed(classes): + unregister_class(cls) + + +if __name__ == "__main__": + register() diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/settings.py b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/settings.py new file mode 100644 index 0000000..2f7058f --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/settings.py @@ -0,0 +1,144 @@ +# SPDX-FileCopyrightText: 2019-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Paul "BrikBot" Marshall +# Created: July 1, 2011 +# Last Modified: November 17, 2011 +# Homepage (blog): http://post.darkarsenic.com/ +# //blog.darkarsenic.com/ +# Thanks to Meta-Androco, RickyBlender, Ace Dragon, and PKHG for ideas +# and testing. +# +# Coded in IDLE, tested in Blender 2.59. NumPy Recommended. +# Search for "@todo" to quickly find sections that need work. + +import inspect +import shutil +from . import utils +from xml.dom import minidom + +basePath = inspect.getfile(inspect.currentframe())[0:-len("settings.py")] +path = basePath + "add_mesh_rocks.xml" + +try: + source = minidom.parse(path) +# print("Rock generator settings file found:\n" + path) +except: + print("Rock generator settings file not found. Creating settings file.") + shutil.copy(basePath + "factory.xml", path) + source = minidom.parse(path) + +xmlDefault = source.getElementsByTagName('default')[0] +xmlPresets = source.getElementsByTagName('preset') +default = [] +presets = [] + +# ----- Gets and Sets -----# + + +def getDefault(): + global default + return default + + +def getPresetLists(): + global presets + return presets + + +def getPreset(ID=0): + global presets + return presets[ID] + +# ---------- Core ----------# + + +def parse(): + global xmlDefault + global xmlPresets + global default + global presets + + # Parse default values + default = parseNode(xmlDefault) + + # Parse preset values + for setting in xmlPresets: + presets.append(parseNode(setting)) + + return '{FINISHED}' + + +# Takes a node and parses it for data. Relies on that setting.xml has +# a valid format as specified by the DTD. +# For some reason minidom places an empty child node for every other node. +def parseNode(setting, title=True): + loc = 1 + + if title: + # Preset name (xmlPreset.childNodes[1]): + title = setting.childNodes[loc].childNodes[0].data + loc += 2 + + # Preset size values (xmlPreset.childNodes[3]): + scaleX = [float(setting.childNodes[loc].childNodes[1].childNodes[3].childNodes[0].data), + float(setting.childNodes[loc].childNodes[1].childNodes[5].childNodes[0].data)] + scaleY = [float(setting.childNodes[loc].childNodes[3].childNodes[3].childNodes[0].data), + float(setting.childNodes[loc].childNodes[3].childNodes[5].childNodes[0].data)] + scaleZ = [float(setting.childNodes[loc].childNodes[5].childNodes[3].childNodes[0].data), + float(setting.childNodes[loc].childNodes[5].childNodes[5].childNodes[0].data)] + skewX = float(setting.childNodes[loc].childNodes[7].childNodes[3].childNodes[0].data) + skewY = float(setting.childNodes[loc].childNodes[9].childNodes[3].childNodes[0].data) + skewZ = float(setting.childNodes[loc].childNodes[11].childNodes[3].childNodes[0].data) + if setting.childNodes[loc].childNodes[13].childNodes[0].data == 'False': + use_scale_dis = False + else: + use_scale_dis = True + scale_fac = utils.toList(setting.childNodes[loc].childNodes[15].childNodes[0].data) + loc += 2 + + # Presst shape values (xmlPreset.childNodes[5]): + deform = float(setting.childNodes[loc].childNodes[1].childNodes[0].data) + rough = float(setting.childNodes[loc].childNodes[3].childNodes[0].data) + detail = int(setting.childNodes[loc].childNodes[5].childNodes[0].data) + display_detail = int(setting.childNodes[loc].childNodes[7].childNodes[0].data) + smooth_fac = float(setting.childNodes[loc].childNodes[9].childNodes[0].data) + smooth_it = int(setting.childNodes[loc].childNodes[11].childNodes[0].data) + loc += 2 + + # Preset material values (xmlPreset.childNodes[7]): + loc += 2 + + # Preset random values (xmlPreset.childNodes[9]): + if setting.childNodes[loc].childNodes[1].childNodes[0].data == 'True': + use_generate = True + else: + use_generate = False + if setting.childNodes[loc].childNodes[3].childNodes[0].data == 'False': + use_random_seed = False + else: + use_random_seed = True + user_seed = int(setting.childNodes[loc].childNodes[5].childNodes[0].data) + + if title: + parsed = [title, scaleX, scaleY, scaleZ, skewX, skewY, skewZ, + use_scale_dis, scale_fac, deform, rough, detail, + display_detail, smooth_fac, smooth_it, + use_generate, use_random_seed, user_seed] + else: + parsed = [scaleX, scaleY, scaleZ, skewX, skewY, skewZ, use_scale_dis, + scale_fac, deform, rough, detail, display_detail, smooth_fac, + smooth_it, use_generate, use_random_seed, user_seed] + + return parsed + + +def save(): + return '{FINISHED}' + + +def _print(): + for i in presets: + print(i) + return '{FINISHED}' diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/utils.py b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/utils.py new file mode 100644 index 0000000..eb748b0 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_rocks/utils.py @@ -0,0 +1,141 @@ +# SPDX-FileCopyrightText: 2019-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Converts a formatted string to a float tuple: +# IN - '(0.5, 0.2)' -> CONVERT -> OUT - (0.5, 0.2) +def toTuple(stringIn): + sTemp = str(stringIn)[1:len(str(stringIn)) - 1].split(', ') + fTemp = [] + for i in sTemp: + fTemp.append(float(i)) + return tuple(fTemp) + + +# Converts a formatted string to a float tuple: +# IN - '[0.5, 0.2]' -> CONVERT -> OUT - [0.5, 0.2] +def toList(stringIn): + sTemp = str(stringIn)[1:len(str(stringIn)) - 1].split(', ') + fTemp = [] + for i in sTemp: + fTemp.append(float(i)) + return fTemp + + +# Converts each item of a list into a float: +def toFloats(inList): + outList = [] + for i in inList: + outList.append(float(i)) + return outList + + +# Converts each item of a list into an integer: +def toInts(inList): + outList = [] + for i in inList: + outList.append(int(i)) + return outList + + +# Sets all faces smooth. Done this way since I can't +# find a simple way without using bpy.ops: +def smooth(mesh): + import bmesh + bm = bmesh.new() + bm.from_mesh(mesh) + for f in bm.faces: + f.smooth = True + bm.to_mesh(mesh) + return mesh + + +# This try block allows for the script to psudo-intelligently select the +# appropriate random to use. If Numpy's random is present it will use that. +# If Numpy's random is not present, it will through a "module not found" +# exception and instead use the slower built-in random that Python has. +try: + # from numpy.random import random_integers as randint + from numpy.random import normal as gauss + # from numpy.random import (beta, + # uniform, + # seed, + # weibull) + # print("Rock Generator: Numpy found.") + numpy = True +except: + from random import ( + # randint, + gauss, + # uniform, + # seed + ) + # from random import betavariate as beta + # from random import weibullvariate as weibull + print("Rock Generator: Numpy not found. Using Python's random.") + numpy = False +# Artificially skews a normal (gaussian) distribution. This will not create +# a continuous distribution curve but instead acts as a piecewise finction. +# This linearly scales the output on one side to fit the bounds. +# +# Example output histograms: +# +# Upper skewed: Lower skewed: +# | ▄ | _ +# | █ | █ +# | █_ | █ +# | ██ | _█ +# | _██ | ██ +# | _▄███_ | ██ _ +# | ▄██████ | ▄██▄█▄_ +# | _█▄███████ | ███████ +# | _██████████_ | ████████▄▄█_ _ +# | _▄▄████████████ | ████████████▄█_ +# | _▄_ ▄███████████████▄_ | _▄███████████████▄▄_ +# ------------------------- ----------------------- +# |mu |mu +# Histograms were generated in R (http://www.r-project.org/) based on the +# calculations below and manually duplicated here. +# +# param: mu - mu is the mean of the distribution. +# sigma - sigma is the standard deviation of the distribution. +# bounds - bounds[0] is the lower bound and bounds[1] +# is the upper bound. +# upperSkewed - if the distribution is upper skewed. +# return: out - Rondomly generated value from the skewed distribution. +# +# @todo: Because NumPy's random value generators are faster when called +# a bunch of times at once, maybe allow this to generate and return +# multiple values at once? + + +def skewedGauss(mu, sigma, bounds, upperSkewed=True): + raw = gauss(mu, sigma) + + # Quicker to check an extra condition than do unnecessary math. . . . + if raw < mu and not upperSkewed: + out = ((mu - bounds[0]) / (3 * sigma)) * raw + ((mu * (bounds[0] - (mu - 3 * sigma))) / (3 * sigma)) + elif raw > mu and upperSkewed: + out = ((mu - bounds[1]) / (3 * -sigma)) * raw + ((mu * (bounds[1] - (mu + 3 * sigma))) / (3 * -sigma)) + else: + out = raw + + return out + + +# @todo create a def for generating an alpha and beta for a beta distribution +# given a mu, sigma, and an upper and lower bound. This proved faster in +# profiling in addition to providing a much better distribution curve +# provided multiple iterations happen within this function; otherwise it was +# slower. +# This might be a scratch because of the bounds placed on mu and sigma: +# +# For alpha > 1 and beta > 1: +# mu^2 - mu^3 mu^3 - mu^2 + mu +# ----------- < sigma < ---------------- +# 1 + mu 2 - mu +# +# def generateBeta(mu, sigma, scale, repitions=1): + # results = [] +# + # return results diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_round_brilliant.py b/extensions/blender_org/extra_mesh_objects/add_mesh_round_brilliant.py new file mode 100644 index 0000000..2614fc7 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_round_brilliant.py @@ -0,0 +1,500 @@ +# SPDX-FileCopyrightText: 2015-2023 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +import bpy +from math import ( + pi, sin, + cos, tan, + ) +from bpy.types import Operator +from mathutils import ( + Vector, + Euler, + ) +from bpy.props import ( + IntProperty, + FloatProperty, + BoolProperty, + StringProperty, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + +# mesh generating function, returns mesh +def add_mesh_Brilliant(context, s, table_w, crown_h, girdle_t, pavi_d, bezel_f, + pavi_f, culet, girdle_real, keep_lga, g_real_smooth): + + # # possible user inputs ( output 100% = 2 blender units ) + # s # no. of girdle facets (steps) default: 16 + # table_w # table width default: 0.530 + # crown_h # crown height default: 0.162 + # girdle_t # girdle thickness default: 0.017 + # pavi_d # pavilion depth default: 0.431 + # bezel_f # bezel factor default: 0.250 + # pavi_f # pavilion factor default: 0.400 + # culet # culet size default: 0.000 + # girdle_real # type of girdle flat/real default: True + # g_real_smooth # smooth or flat shading default: False + # keep_lga # when culet > 0, keep lga default: False + + # variables / shortcuts + if s % 2: # prevent odd number of steps (messes up mesh) + s = s - 1 + if not girdle_real: + g_real_smooth = False + ang = 2 * pi / s # angle step size + Verts = [] # collect all vertices + Faces = [] # collect all faces + ca = cos(ang) + ca2 = cos(ang / 2) + sa4 = sin(ang / 4) + ta4 = tan(ang / 4) + ta8 = tan(ang / 8) + + def fa(*vs): # shortcut Faces.append + v = [] + for u in vs: + v.append(u) + Faces.append(v) + + def va(vx, vz, iang, sang, n): # shortcut Verts.append + for i in range(n): + v = Vector((vx, 0, vz)) + ai = sang + iang * i + E_rot = Euler((0, 0, ai), 'XYZ') + v.rotate(E_rot) + Verts.append((v.x, v.y, v.z)) + + # upper girdle angle + uga = (1 - bezel_f) * crown_h * 2 / (ca2 - + (table_w + (1 - table_w) * bezel_f) * ca2 / ca) + + # lower girdle angle + if keep_lga: + if pavi_f > 0 and pavi_f < 1: + lga = (1 - pavi_f) * pavi_d * 2 / (ca2 - pavi_f * ca2 / ca) + elif pavi_f == 1: + lga = 0 + else: + lga = 2 * pavi_d * ca + else: + lga = (1 - pavi_f) * pavi_d * 2 / (ca2 - + (culet + (1 - culet) * pavi_f) * ca2 / ca) + + # append girdle vertices + va(1, 0, ang, 0, s) + va(1, 2 * girdle_t, ang, 0, s) + + # append real girdle vertices + if girdle_real: + dnu = uga * (1 - ca2) + dfu = uga * (ta8 + ta4) * sa4 + dnl = lga * (1 - ca2) + dfl = lga * (ta8 + ta4) * sa4 + if abs(dnu) + abs(dnl) > 2 * girdle_t or dnu < 0 or dnl < 0: + girdle_real = False + else: + va(1, dnl, ang, ang / 2, s) + va(1, 2 * girdle_t - dnu, ang, ang / 2, s) + va(1, dfl, ang / 2, ang / 4, 2 * s) + va(1, 2 * girdle_t - dfu, ang / 2, ang / 4, 2 * s) + + # make girdle faces + l1 = len(Verts) # 2*s / 8*s + for i in range(l1): + if girdle_real: + if i < s: + fa(i, i + s, 2 * i + 6 * s, 2 * i + 4 * s) + if i == 0: + fa(i, s, l1 - 1, 6 * s - 1) + else: + fa(i, i + s, 2 * i + 6 * s - 1, 2 * i + 4 * s - 1) + elif i > 2 * s - 1 and i < 3 * s: + fa(i, i + s, 2 * (i + s), 2 * i) + fa(i, i + s, 2 * (i + s) + 1, 2 * i + 1) + else: + if i < s - 1: + fa(i, i + s, i + s + 1, i + 1) + elif i == s - 1: + fa(i, i + s, s, 0) + + # append upper girdle facet vertices + va((table_w + (1 - table_w) * bezel_f) / ca, (1 - bezel_f) * 2 * crown_h + + 2 * girdle_t, 2 * ang, ang, int(s / 2)) + + # make upper girdle facet faces + l2 = len(Verts) # 2.5*s / 8.5*s + for i in range(l2): + if i > s and i < 2 * s - 1 and i % 2 != 0: + if girdle_real: + fa(i, 2 * (i + 2 * s), i + 2 * s, 2 * (i + 2 * s) + 1, i + 1, + int(7.5 * s) + int((i - 1) / 2)) + fa(i, 2 * (i + 2 * s) - 1, i + 2 * s - 1, 2 * (i + 2 * s - 1), + i - 1, int(7.5 * s) + int((i - 1) / 2)) + else: + fa(i, i + 1, int((i + 3 * s) / 2)) + fa(i, i - 1, int((i + 3 * s) / 2)) + elif i == s: + if girdle_real: + fa(i, l1 - 1, 4 * s - 1, l1 - 2, 2 * i - 1, l2 - 1) + fa(2 * i - 2, l1 - 4, 4 * s - 2, l1 - 3, 2 * i - 1, l2 - 1) + else: + fa(i, 2 * i - 1, l2 - 1) + fa(2 * i - 1, 2 * i - 2, l2 - 1) + + # append table vertices + va(table_w, (crown_h + girdle_t) * 2, 2 * ang, 0, int(s / 2)) + + # make bezel facet faces and star facet faces + l3 = len(Verts) # 3*s / 9*s + for i in range(l3): + if i > l2 - 1 and i < l3 - 1: + fa(i, i + 1, i - int(s / 2)) + fa(i + 1, i - int(s / 2), 2 * (i - l2) + 2 + s, i - int(s / 2) + 1) + elif i == l3 - 1: + fa(i, l2, l2 - 1) + fa(s, l2 - 1, l2, l2 - int(s / 2)) + + # make table facet face + tf = [] + for i in range(l3): + if i > l2 - 1: + tf.append(i) + fa(*tf) + + # append lower girdle facet vertices + if keep_lga: + va(pavi_f / ca, (pavi_f - 1) * pavi_d * 2, 2 * ang, ang, int(s / 2)) + else: + va((pavi_f * (1 - culet) + culet) / ca, (pavi_f - 1) * pavi_d * 2, 2 * ang, + ang, int(s / 2)) + + # make lower girdle facet faces + l4 = len(Verts) # 3.5*s / 9.5*s + for i in range(l4): + if i > 0 and i < s - 1 and i % 2 == 0: + if girdle_real: + fa(i, 2 * (i + 2 * s), i + 2 * s, 2 * (i + 2 * s) + 1, i + 1, + int(i / 2) + 9 * s) + fa(i, 2 * (i + 2 * s) - 1, i + 2 * s - 1, 2 * (i + 2 * s - 1), + i - 1, int(i / 2) + 9 * s - 1) + else: + fa(i, i + 1, int(i / 2) + l4 - int(s / 2)) + fa(i, i - 1, int(i / 2) + l4 - int(s / 2) - 1) + elif i == 0: + if girdle_real: + fa(0, 4 * s, 2 * s, 4 * s + 1, 1, 9 * s) + fa(0, 6 * s - 1, 3 * s - 1, 6 * s - 2, s - 1, l4 - 1) + else: + fa(0, 1, l4 - int(s / 2)) + fa(0, s - 1, l4 - 1) + + # append culet vertice(s) + if culet == 0: + va(0, pavi_d * (-2), 0, 0, 1) + else: + if keep_lga: + va(culet * pavi_f / ca, pavi_d * (-2) + culet * pavi_f * 2 * pavi_d, + 2 * ang, ang, int(s / 2)) + else: + va(culet / ca, pavi_d * (-2), 2 * ang, ang, int(s / 2)) + + # make pavilion facet face + l5 = len(Verts) # 4*s / 10*s //if !culet: 3.5*s+1 / 9.5*s+1 + for i in range(l5): + if i > 0 and i < s - 1 and i % 2 == 0: + if culet: + fa(i, l3 + int(i / 2), l3 + int((s + i) / 2), + l3 + int((s + i) / 2) - 1, l3 + int(i / 2) - 1) + else: + fa(i, l3 + int(i / 2), l5 - 1, l3 + int(i / 2) - 1) + elif i == 0: + if culet: + fa(i, l3, l4, l5 - 1, l4 - 1) + else: + fa(i, l3, l5 - 1, l4 - 1) + + # make culet facet face + if culet: + cf = [] + for i in range(l5): + if i > l4 - 1: + cf.append(i) + fa(*cf) + + # create actual mesh and object based on Verts and Faces given + dmesh = bpy.data.meshes.new("dmesh") + dmesh.from_pydata(Verts, [], Faces) + dmesh.update() + + return dmesh + +# object generating function, returns final object +def addBrilliant(context, self, s, table_w, crown_h, girdle_t, pavi_d, bezel_f, + pavi_f, culet, girdle_real, keep_lga, g_real_smooth): + + # deactivate possible active Objects + bpy.context.view_layer.objects.active = None + + # create actual mesh and object based on Verts and Faces given + dmesh = add_mesh_Brilliant(context, s, table_w, crown_h, girdle_t, pavi_d, bezel_f, + pavi_f, culet, girdle_real, keep_lga, g_real_smooth) + + # Create object and link it into scene. + dobj = object_utils.object_data_add(context, dmesh, operator=self, name="dobj") + + # activate and select object + bpy.context.view_layer.objects.active = dobj + dobj.select_set(True) + obj = bpy.context.active_object + + # flip all face normals outside + bpy.ops.object.mode_set(mode='EDIT', toggle=False) + sel_mode = bpy.context.tool_settings.mesh_select_mode + bpy.context.tool_settings.mesh_select_mode = [False, False, True] + bpy.ops.object.mode_set(mode='OBJECT', toggle=False) + for i, face in enumerate(obj.data.polygons): + face.select = True + bpy.ops.object.mode_set(mode='EDIT', toggle=False) + bpy.ops.mesh.normals_make_consistent(inside=False) + bpy.context.tool_settings.mesh_select_mode = sel_mode + bpy.ops.object.mode_set(mode='OBJECT', toggle=False) + + # make girdle smooth for complex girdle + if girdle_real and g_real_smooth: + + bpy.ops.object.mode_set(mode='EDIT', toggle=False) + + bpy.ops.mesh.select_all(action='DESELECT') # deselect all mesh data + bpy.ops.object.mode_set(mode='OBJECT') + pls = [] + dp = obj.data.polygons[:4 * s] # only consider faces of girdle + ov = obj.data.vertices + + for i, p in enumerate(dp): + pls.extend(p.vertices) # list all verts of girdle + + for i, e in enumerate(obj.data.edges): # select edges to mark sharp + if e.vertices[0] in pls and e.vertices[1] in pls and abs( + ov[e.vertices[0]].co.x - ov[e.vertices[1]].co.x): + obj.data.edges[i].select = True + continue + obj.data.edges[i].select = False + + bpy.ops.object.mode_set(mode='EDIT', toggle=False) + bpy.ops.mesh.mark_sharp() + + bpy.context.tool_settings.mesh_select_mode = [False, False, True] + bpy.ops.object.mode_set(mode='OBJECT', toggle=False) + bpy.ops.object.select_all(action='DESELECT') + for i, face in enumerate(obj.data.polygons): + if i < 4 * s: + face.select = True + continue + face.select = False + bpy.ops.object.mode_set(mode='EDIT', toggle=False) + bpy.ops.mesh.faces_shade_smooth() + + edge_split_modifier = context.object.modifiers.new("", 'EDGE_SPLIT') + + bpy.context.tool_settings.mesh_select_mode = sel_mode + bpy.ops.object.mode_set(mode='OBJECT', toggle=False) + + bpy.ops.object.modifier_apply(modifier=edge_split_modifier.name) + + return dobj + + +# add new operator for object +class MESH_OT_primitive_brilliant_add(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_brilliant_add" + bl_label = "Brilliant" + bl_description = "Construct a custom brilliant mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + Brilliant : BoolProperty(name = "Brilliant", + default = True, + description = "Brilliant") + change : BoolProperty(name = "Change", + default = False, + description = "change Brilliant") + + s: IntProperty( + name="Segments", + description="Longitudial segmentation", + step=1, + min=6, + max=128, + default=16 + ) + table_w: FloatProperty( + name="Table Width", + description="Width of table", + min=0.001, + max=1.0, + default=0.53, + subtype='FACTOR' + ) + crown_h: FloatProperty( + name="Crown Height", + description="Height of crown", + min=0.0, + max=1.0, + default=0.162, + subtype='FACTOR' + ) + girdle_t: FloatProperty( + name="Girdle Height", + description="Height of girdle", + min=0.0, + max=0.5, + default=0.017, + subtype='FACTOR' + ) + girdle_real: BoolProperty( + name="Real Girdle", + description="More beautiful girdle; has more polygons", + default=True + ) + g_real_smooth: BoolProperty( + name="Smooth Girdle", + description="smooth shading for girdle, only available for real girdle", + default=False + ) + pavi_d: FloatProperty( + name="Pavilion Depth", + description="Height of pavilion", + min=0.0, + max=1.0, + default=0.431, + subtype='FACTOR' + ) + bezel_f: FloatProperty( + name="Upper Facet Factor", + description="Determines the form of bezel and upper girdle facets", + min=0.0, + max=1.0, + default=0.250, + subtype='FACTOR' + ) + pavi_f: FloatProperty( + name="Lower Facet Factor", + description="Determines the form of pavilion and lower girdle facets", + min=0.001, + max=1.0, + default=0.400, + subtype='FACTOR' + ) + culet: FloatProperty( + name="Culet Size", + description="0: no culet (default)", + min=0.0, + max=0.999, + default=0.0, + subtype='FACTOR' + ) + keep_lga: BoolProperty( + name="Retain Lower Angle", + description="If culet > 0, retains angle of pavilion facets", + default=False + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, "s") + layout.prop(self, "table_w") + col = layout.column(align=True) + col.prop(self, "crown_h", text='Height Crown') + col.prop(self, "girdle_t", text='Girdle') + col.prop(self, "pavi_d", text='Pavilion') + layout.prop(self, "girdle_real") + layout.prop(self, "g_real_smooth") + col = layout.column(align=True) + col.prop(self, "bezel_f", text='Facet Upper') + col.prop(self, "pavi_f", text='Lower') + layout.prop(self, "culet") + layout.prop(self, "keep_lga") + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + # call mesh/object generator function with user inputs + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('Brilliant' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + mesh = add_mesh_Brilliant(context, self.s, self.table_w, self.crown_h, + self.girdle_t, self.pavi_d, self.bezel_f, + self.pavi_f, self.culet, self.girdle_real, + self.keep_lga, self.g_real_smooth + ) + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + obj = addBrilliant(context, self, self.s, self.table_w, self.crown_h, + self.girdle_t, self.pavi_d, self.bezel_f, + self.pavi_f, self.culet, self.girdle_real, + self.keep_lga, self.g_real_smooth + ) + + obj.data["Brilliant"] = True + obj.data["change"] = False + for prm in BrilliantParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + obj = addBrilliant(context, self, self.s, self.table_w, self.crown_h, + self.girdle_t, self.pavi_d, self.bezel_f, + self.pavi_f, self.culet, self.girdle_real, + self.keep_lga, self.g_real_smooth + ) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def BrilliantParameters(): + BrilliantParameters = [ + "s", + "table_w", + "crown_h", + "girdle_t", + "girdle_real", + "g_real_smooth", + "pavi_d", + "bezel_f", + "pavi_f", + "culet", + "keep_lga", + ] + return BrilliantParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_round_cube.py b/extensions/blender_org/extra_mesh_objects/add_mesh_round_cube.py new file mode 100644 index 0000000..07be4c6 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_round_cube.py @@ -0,0 +1,521 @@ +# SPDX-FileCopyrightText: 2015-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author: Alain Ducharme (phymec) + +import bpy +from bpy_extras import object_utils +from itertools import permutations +from math import ( + copysign, pi, + sqrt, + ) +from bpy.types import Operator +from bpy.props import ( + BoolProperty, + EnumProperty, + FloatProperty, + FloatVectorProperty, + IntProperty, + StringProperty, + ) +from .interface import draw_transform_props + + +def round_cube(radius=1.0, arcdiv=4, lindiv=0., size=(0., 0., 0.), + div_type='CORNERS', odd_axis_align=False, info_only=False): + # subdiv bitmasks + CORNERS, EDGES, ALL = 0, 1, 2 + try: + subdiv = ('CORNERS', 'EDGES', 'ALL').index(div_type) + except ValueError: + subdiv = CORNERS # fallback + + radius = max(radius, 0.) + if not radius: + # No sphere + arcdiv = 1 + odd_axis_align = False + + if arcdiv <= 0: + arcdiv = max(round(pi * radius * lindiv * 0.5), 1) + arcdiv = max(round(arcdiv), 1) + if lindiv <= 0. and radius: + lindiv = 1. / (pi / (arcdiv * 2.) * radius) + lindiv = max(lindiv, 0.) + if not lindiv: + subdiv = CORNERS + + odd = arcdiv % 2 # even = arcdiv % 2 ^ 1 + step_size = 2. / arcdiv + + odd_aligned = 0 + vi = -1. + steps = arcdiv + 1 + if odd_axis_align and odd: + odd_aligned = 1 + vi += 0.5 * step_size + steps = arcdiv + axis_aligned = not odd or odd_aligned + + if arcdiv == 1 and not odd_aligned and subdiv == EDGES: + subdiv = CORNERS + + half_chord = 0. # ~ spherical cap base radius + sagitta = 0. # ~ spherical cap height + if not axis_aligned: + half_chord = sqrt(3.) * radius / (3. * arcdiv) + id2 = 1. / (arcdiv * arcdiv) + sagitta = radius - radius * sqrt(id2 * id2 / 3. - id2 + 1.) + + # Extrusion per axis + exyz = [0. if s < 2. * (radius - sagitta) else (s - 2. * (radius - sagitta)) * 0.5 for s in size] + ex, ey, ez = exyz + + dxyz = [0, 0, 0] # extrusion divisions per axis + dssxyz = [0., 0., 0.] # extrusion division step sizes per axis + + for i in range(3): + sc = 2. * (exyz[i] + half_chord) + dxyz[i] = round(sc * lindiv) if subdiv else 0 + if dxyz[i]: + dssxyz[i] = sc / dxyz[i] + dxyz[i] -= 1 + else: + dssxyz[i] = sc + + if info_only: + ec = sum(1 for n in exyz if n) + if subdiv: + fxyz = [d + (e and axis_aligned) for d, e in zip(dxyz, exyz)] + dvc = arcdiv * 4 * sum(fxyz) + if subdiv == ALL: + dvc += sum(p1 * p2 for p1, p2 in permutations(fxyz, 2)) + elif subdiv == EDGES and axis_aligned: + # (0, 0, 2, 4) * sum(dxyz) + (0, 0, 2, 6) + dvc += ec * ec // 2 * sum(dxyz) + ec * (ec - 1) + else: + dvc = (arcdiv * 4) * ec + ec * (ec - 1) if axis_aligned else 0 + vert_count = int(6 * arcdiv * arcdiv + (0 if odd_aligned else 2) + dvc) + if not radius and not max(size) > 0: + vert_count = 1 + return arcdiv, lindiv, vert_count + + if not radius and not max(size) > 0: + # Single vertex + return [(0, 0, 0)], [] + + # uv lookup table + uvlt = [] + v = vi + for j in range(1, steps + 1): + v2 = v * v + uvlt.append((v, v2, radius * sqrt(18. - 6. * v2) / 6.)) + v = vi + j * step_size # v += step_size # instead of accumulating errors + # clear fp errors / signs at axis + if abs(v) < 1e-10: + v = 0.0 + + # Sides built left to right bottom up + # xp yp zp xd yd zd + sides = ((0, 2, 1, (-1, 1, 1)), # Y+ Front + (1, 2, 0, (-1, -1, 1)), # X- Left + (0, 2, 1, (1, -1, 1)), # Y- Back + (1, 2, 0, (1, 1, 1)), # X+ Right + (0, 1, 2, (-1, 1, -1)), # Z- Bottom + (0, 1, 2, (-1, -1, 1))) # Z+ Top + + # side vertex index table (for sphere) + svit = [[[] for i in range(steps)] for i in range(6)] + # Extend svit rows for extrusion + yer = zer = 0 + if ey: + yer = axis_aligned + (dxyz[1] if subdiv else 0) + svit[4].extend([[] for i in range(yer)]) + svit[5].extend([[] for i in range(yer)]) + if ez: + zer = axis_aligned + (dxyz[2] if subdiv else 0) + for side in range(4): + svit[side].extend([[] for i in range(zer)]) + # Extend svit rows for odd_aligned + if odd_aligned: + for side in range(4): + svit[side].append([]) + + hemi = steps // 2 + + # Create vertices and svit without dups + vert = [0., 0., 0.] + verts = [] + + if arcdiv == 1 and not odd_aligned and subdiv == ALL: + # Special case: Grid Cuboid + for side, (xp, yp, zp, dir) in enumerate(sides): + svitc = svit[side] + rows = len(svitc) + if rows < dxyz[yp] + 2: + svitc.extend([[] for i in range(dxyz[yp] + 2 - rows)]) + vert[zp] = (half_chord + exyz[zp]) * dir[zp] + for j in range(dxyz[yp] + 2): + vert[yp] = (j * dssxyz[yp] - half_chord - exyz[yp]) * dir[yp] + for i in range(dxyz[xp] + 2): + vert[xp] = (i * dssxyz[xp] - half_chord - exyz[xp]) * dir[xp] + if (side == 5) or ((i < dxyz[xp] + 1 and j < dxyz[yp] + 1) and (side < 4 or (i and j))): + svitc[j].append(len(verts)) + verts.append(tuple(vert)) + else: + for side, (xp, yp, zp, dir) in enumerate(sides): + svitc = svit[side] + exr = exyz[xp] + eyr = exyz[yp] + ri = 0 # row index + rij = zer if side < 4 else yer + + if side == 5: + span = range(steps) + elif side < 4 or odd_aligned: + span = range(arcdiv) + else: + span = range(1, arcdiv) + ri = 1 + + for j in span: # rows + v, v2, mv2 = uvlt[j] + tv2mh = 1. / 3. * v2 - 0.5 + hv2 = 0.5 * v2 + + if j == hemi and rij: + # Jump over non-edge row indices + ri += rij + + for i in span: # columns + u, u2, mu2 = uvlt[i] + vert[xp] = u * mv2 + vert[yp] = v * mu2 + vert[zp] = radius * sqrt(u2 * tv2mh - hv2 + 1.) + + vert[0] = (vert[0] + copysign(ex, vert[0])) * dir[0] + vert[1] = (vert[1] + copysign(ey, vert[1])) * dir[1] + vert[2] = (vert[2] + copysign(ez, vert[2])) * dir[2] + rv = tuple(vert) + + if exr and i == hemi: + rx = vert[xp] # save rotated x + vert[xp] = rxi = (-exr - half_chord) * dir[xp] + if axis_aligned: + svitc[ri].append(len(verts)) + verts.append(tuple(vert)) + if subdiv: + offsetx = dssxyz[xp] * dir[xp] + for k in range(dxyz[xp]): + vert[xp] += offsetx + svitc[ri].append(len(verts)) + verts.append(tuple(vert)) + if eyr and j == hemi and axis_aligned: + vert[xp] = rxi + vert[yp] = -eyr * dir[yp] + svitc[hemi].append(len(verts)) + verts.append(tuple(vert)) + if subdiv: + offsety = dssxyz[yp] * dir[yp] + ry = vert[yp] + for k in range(dxyz[yp]): + vert[yp] += offsety + svitc[hemi + axis_aligned + k].append(len(verts)) + verts.append(tuple(vert)) + vert[yp] = ry + for k in range(dxyz[xp]): + vert[xp] += offsetx + svitc[hemi].append(len(verts)) + verts.append(tuple(vert)) + if subdiv & ALL: + for l in range(dxyz[yp]): + vert[yp] += offsety + svitc[hemi + axis_aligned + l].append(len(verts)) + verts.append(tuple(vert)) + vert[yp] = ry + vert[xp] = rx # restore + + if eyr and j == hemi: + vert[yp] = (-eyr - half_chord) * dir[yp] + if axis_aligned: + svitc[hemi].append(len(verts)) + verts.append(tuple(vert)) + if subdiv: + offsety = dssxyz[yp] * dir[yp] + for k in range(dxyz[yp]): + vert[yp] += offsety + if exr and i == hemi and not axis_aligned and subdiv & ALL: + vert[xp] = rxi + for l in range(dxyz[xp]): + vert[xp] += offsetx + svitc[hemi + k].append(len(verts)) + verts.append(tuple(vert)) + vert[xp] = rx + svitc[hemi + axis_aligned + k].append(len(verts)) + verts.append(tuple(vert)) + + svitc[ri].append(len(verts)) + verts.append(rv) + ri += 1 + + # Complete svit edges (shared vertices) + # Sides' right edge + for side, rows in enumerate(svit[:4]): + for j, row in enumerate(rows[:-1]): + svit[3 if not side else side - 1][j].append(row[0]) + # Sides' top edge + svit[0][-1].extend(svit[5][0]) + svit[2][-1].extend(svit[5][-1][::-1]) + for row in svit[5]: + svit[3][-1].insert(0, row[0]) + svit[1][-1].append(row[-1]) + if odd_aligned: + for side in svit[:4]: + side[-1].append(-1) + # Bottom edges + if odd_aligned: + svit[4].insert(0, [-1] + svit[2][0][-2::-1] + [-1]) + for i, col in enumerate(svit[3][0][:-1]): + svit[4][i + 1].insert(0, col) + svit[4][i + 1].append(svit[1][0][-i - 2]) + svit[4].append([-1] + svit[0][0][:-1] + [-1]) + else: + svit[4][0].extend(svit[2][0][::-1]) + for i, col in enumerate(svit[3][0][1:-1]): + svit[4][i + 1].insert(0, col) + svit[4][i + 1].append(svit[1][0][-i - 2]) + svit[4][-1].extend(svit[0][0]) + + # Build faces + faces = [] + if not axis_aligned: + hemi -= 1 + for side, rows in enumerate(svit): + xp, yp = sides[side][:2] + oa4 = odd_aligned and side == 4 + if oa4: # special case + hemi += 1 + for j, row in enumerate(rows[:-1]): + tri = odd_aligned and (oa4 and not j or rows[j + 1][-1] < 0) + for i, vi in enumerate(row[:-1]): + # odd_aligned triangle corners + if vi < 0: + if not j and not i: + faces.append((row[i + 1], rows[j + 1][i + 1], rows[j + 1][i])) + elif oa4 and not i and j == len(rows) - 2: + faces.append((vi, row[i + 1], rows[j + 1][i + 1])) + elif tri and i == len(row) - 2: + if j: + faces.append((vi, row[i + 1], rows[j + 1][i])) + else: + if oa4 or arcdiv > 1: + faces.append((vi, rows[j + 1][i + 1], rows[j + 1][i])) + else: + faces.append((vi, row[i + 1], rows[j + 1][i])) + # subdiv = EDGES (not ALL) + elif subdiv and len(rows[j + 1]) < len(row) and (i >= hemi): + if (i == hemi): + faces.append((vi, row[i + 1 + dxyz[xp]], rows[j + 1 + dxyz[yp]][i + 1 + dxyz[xp]], + rows[j + 1 + dxyz[yp]][i])) + elif i > hemi + dxyz[xp]: + faces.append((vi, row[i + 1], rows[j + 1][i + 1 - dxyz[xp]], rows[j + 1][i - dxyz[xp]])) + elif subdiv and len(rows[j + 1]) > len(row) and (i >= hemi): + if (i > hemi): + faces.append((vi, row[i + 1], rows[j + 1][i + 1 + dxyz[xp]], rows[j + 1][i + dxyz[xp]])) + elif subdiv and len(row) < len(rows[0]) and i == hemi: + pass + else: + # Most faces... + faces.append((vi, row[i + 1], rows[j + 1][i + 1], rows[j + 1][i])) + if oa4: + hemi -= 1 + + return verts, faces + + +class AddRoundCube(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_round_cube_add" + bl_label = "Add Round Cube" + bl_description = ("Create mesh primitives: Quadspheres, " + "Capsules, Rounded Cuboids, 3D Grids etc") + bl_options = {"REGISTER", "UNDO", "PRESET"} + + sanity_check_verts = 200000 + vert_count = 0 + + Roundcube : BoolProperty(name = "Roundcube", + default = True, + description = "Roundcube") + change : BoolProperty(name = "Change", + default = False, + description = "change Roundcube") + + radius: FloatProperty( + name="Radius", + description="Radius of vertices for sphere, capsule or cuboid bevel", + default=1, min=0.0, soft_min=0.01, step=10 + ) + size: FloatVectorProperty( + name="Size", + description="Size", + subtype='XYZ', + default=(0.0, 0.0, 0.0), + ) + arc_div: IntProperty( + name="Arc Divisions", + description="Arc curve divisions, per quadrant, 0=derive from Linear", + default=8, min=1 + ) + lin_div: FloatProperty( + name="Linear Divisions", + description="Linear unit divisions (Edges/Faces), 0=derive from Arc", + default=0.0, min=0.0, step=100, precision=1 + ) + no_limit: BoolProperty( + name='No Vertex Limit', + description='Do not limit to ' + str(sanity_check_verts) + ' vertices (sanity check)', + options={'HIDDEN'}, + default=False + ) + div_type: EnumProperty( + name='Type', + description='Division type', + items=( + ('CORNERS', 'Corners', 'Sphere / Corners'), + ('EDGES', 'Edges', 'Sphere / Corners and extruded edges (size)'), + ('ALL', 'All', 'Sphere / Corners, extruded edges and faces (size)')), + default='CORNERS', + ) + odd_axis_align: BoolProperty( + name='Odd Axis Align', + description='Align odd arc divisions with axes (Note: triangle corners!)', + ) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if self.arc_div <= 0 and self.lin_div <= 0: + self.report({'ERROR'}, + "Either Arc Divisions or Linear Divisions must be greater than zero") + return {'CANCELLED'} + + if not self.no_limit and self.vert_count > self.sanity_check_verts: + self.report({'ERROR'}, 'More than ' + str(self.sanity_check_verts) + + ' vertices! Check "No Limit" to proceed') + return {'CANCELLED'} + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('Roundcube' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + verts, faces = round_cube(self.radius, self.arc_div, self.lin_div, + self.size, self.div_type, self.odd_axis_align) + mesh = bpy.data.meshes.new('Roundcube') + mesh.from_pydata(verts, [], faces) + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + verts, faces = round_cube(self.radius, self.arc_div, self.lin_div, + self.size, self.div_type, self.odd_axis_align) + mesh = bpy.data.meshes.new('Roundcube') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + + obj.data["Roundcube"] = True + obj.data["change"] = False + for prm in RoundCubeParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + verts, faces = round_cube(self.radius, self.arc_div, self.lin_div, + self.size, self.div_type, self.odd_axis_align) + mesh = bpy.data.meshes.new('Roundcube') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + + def check(self, context): + self.arcdiv, self.lindiv, self.vert_count = round_cube( + self.radius, self.arc_div, self.lin_div, + self.size, self.div_type, self.odd_axis_align, + True + ) + return True + + def invoke(self, context, event): + self.check(context) + return self.execute(context) + + def draw(self, context): + self.check(context) + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'radius') + layout.column().prop(self, 'size', expand=True) + layout.separator() + + layout.prop(self, 'div_type', text='Division Method') + layout.prop(self, 'arc_div', text='Arc') + row = layout.row() + row.enabled = ( + self.div_type != 'CORNERS' and + ( + self.size[0] > self.radius*2 or + self.size[1] > self.radius*2 or + self.size[2] > self.radius*2 + ) + ) + row.prop(self, 'lin_div', text='Linear') + + row = layout.row() + row.alert = self.vert_count > self.sanity_check_verts + row.prop(self, 'no_limit') + + row = layout.row() + row.active = self.arcdiv % 2 + row.prop(self, 'odd_axis_align', text='Triangle Corners') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + +def RoundCubeParameters(): + RoundCubeParameters = [ + "radius", + "size", + "arc_div", + "lin_div", + "div_type", + "odd_axis_align", + "no_limit", + ] + return RoundCubeParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_solid.py b/extensions/blender_org/extra_mesh_objects/add_mesh_solid.py new file mode 100644 index 0000000..9cfb170 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_solid.py @@ -0,0 +1,405 @@ +# SPDX-FileCopyrightText: 2010-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author: DreamPainter + +import bpy +from math import sqrt +from mathutils import Vector +from functools import reduce +from bpy.props import ( + FloatProperty, + EnumProperty, + BoolProperty, + ) +from bpy_extras.object_utils import object_data_add + + +# function to make the reduce function work as a workaround to sum a list of vectors + +def vSum(list): + return reduce(lambda a, b: a + b, list) + + +# Get a copy of the input faces, but with the normals flipped by reversing the order of the vertex indices of each face. +def flippedFaceNormals(faces): + return [list(reversed(vertexIndices)) for vertexIndices in faces] + + +# creates the 5 platonic solids as a base for the rest +# plato: should be one of {"4","6","8","12","20"}. decides what solid the +# outcome will be. +# returns a list of vertices and faces + +def source(plato): + verts = [] + faces = [] + + # Tetrahedron + if plato == "4": + # Calculate the necessary constants + s = sqrt(2) / 3.0 + t = -1 / 3 + u = sqrt(6) / 3 + + # create the vertices and faces + v = [(0, 0, 1), (2 * s, 0, t), (-s, u, t), (-s, -u, t)] + faces = [[0, 1, 2], [0, 2, 3], [0, 3, 1], [1, 3, 2]] + + # Hexahedron (cube) + elif plato == "6": + # Calculate the necessary constants + s = 1 / sqrt(3) + + # create the vertices and faces + v = [(-s, -s, -s), (s, -s, -s), (s, s, -s), (-s, s, -s), (-s, -s, s), (s, -s, s), (s, s, s), (-s, s, s)] + faces = [[0, 3, 2, 1], [0, 1, 5, 4], [0, 4, 7, 3], [6, 5, 1, 2], [6, 2, 3, 7], [6, 7, 4, 5]] + + # Octahedron + elif plato == "8": + # create the vertices and faces + v = [(1, 0, 0), (-1, 0, 0), (0, 1, 0), (0, -1, 0), (0, 0, 1), (0, 0, -1)] + faces = [[4, 0, 2], [4, 2, 1], [4, 1, 3], [4, 3, 0], [5, 2, 0], [5, 1, 2], [5, 3, 1], [5, 0, 3]] + + # Dodecahedron + elif plato == "12": + # Calculate the necessary constants + s = 1 / sqrt(3) + t = sqrt((3 - sqrt(5)) / 6) + u = sqrt((3 + sqrt(5)) / 6) + + # create the vertices and faces + v = [(s, s, s), (s, s, -s), (s, -s, s), (s, -s, -s), (-s, s, s), (-s, s, -s), (-s, -s, s), (-s, -s, -s), + (t, u, 0), (-t, u, 0), (t, -u, 0), (-t, -u, 0), (u, 0, t), (u, 0, -t), (-u, 0, t), (-u, 0, -t), (0, t, u), + (0, -t, u), (0, t, -u), (0, -t, -u)] + faces = [[0, 8, 9, 4, 16], [0, 12, 13, 1, 8], [0, 16, 17, 2, 12], [8, 1, 18, 5, 9], [12, 2, 10, 3, 13], + [16, 4, 14, 6, 17], [9, 5, 15, 14, 4], [6, 11, 10, 2, 17], [3, 19, 18, 1, 13], [7, 15, 5, 18, 19], + [7, 11, 6, 14, 15], [7, 19, 3, 10, 11]] + + # Icosahedron + elif plato == "20": + # Calculate the necessary constants + s = (1 + sqrt(5)) / 2 + t = sqrt(1 + s * s) + s = s / t + t = 1 / t + + # create the vertices and faces + v = [(s, t, 0), (-s, t, 0), (s, -t, 0), (-s, -t, 0), (t, 0, s), (t, 0, -s), (-t, 0, s), (-t, 0, -s), + (0, s, t), (0, -s, t), (0, s, -t), (0, -s, -t)] + faces = [[0, 8, 4], [0, 5, 10], [2, 4, 9], [2, 11, 5], [1, 6, 8], [1, 10, 7], [3, 9, 6], [3, 7, 11], + [0, 10, 8], [1, 8, 10], [2, 9, 11], [3, 11, 9], [4, 2, 0], [5, 0, 2], [6, 1, 3], [7, 3, 1], + [8, 6, 4], [9, 4, 6], [10, 5, 7], [11, 7, 5]] + + # convert the tuples to Vectors + verts = [Vector(i) for i in v] + + return verts, faces + + +# processes the raw data from source + +def createSolid(plato, vtrunc, etrunc, dual, snub): + # the duals from each platonic solid + dualSource = {"4": "4", + "6": "8", + "8": "6", + "12": "20", + "20": "12"} + + # constants saving space and readability + vtrunc *= 0.5 + etrunc *= 0.5 + supposedSize = 0 + noSnub = (snub == "None") or (etrunc == 0.5) or (etrunc == 0) + lSnub = (snub == "Left") and (0 < etrunc < 0.5) + rSnub = (snub == "Right") and (0 < etrunc < 0.5) + + # no truncation + if vtrunc == 0: + if dual: # dual is as simple as another, but mirrored platonic solid + vInput, fInput = source(dualSource[plato]) + supposedSize = vSum(vInput[i] for i in fInput[0]).length / len(fInput[0]) + vInput = [-i * supposedSize for i in vInput] # mirror it + # Inverting vInput turns the mesh inside-out, so normals need to be flipped. + return vInput, flippedFaceNormals(fInput) + return source(plato) + elif 0 < vtrunc <= 0.5: # simple truncation of the source + vInput, fInput = source(plato) + else: + # truncation is now equal to simple truncation of the dual of the source + vInput, fInput = source(dualSource[plato]) + supposedSize = vSum(vInput[i] for i in fInput[0]).length / len(fInput[0]) + vtrunc = 1 - vtrunc # account for the source being a dual + if vtrunc == 0: # no truncation needed + if dual: + vInput, fInput = source(plato) + vInput = [-i * supposedSize for i in vInput] + # Inverting vInput turns the mesh inside-out, so normals need to be flipped. + return vInput, flippedFaceNormals(fInput) + + # generate connection database + vDict = [{} for i in vInput] + # for every face, store what vertex comes after and before the current vertex + for x in range(len(fInput)): + i = fInput[x] + for j in range(len(i)): + vDict[i[j - 1]][i[j]] = [i[j - 2], x] + if len(vDict[i[j - 1]]) == 1: + vDict[i[j - 1]][-1] = i[j] + + # the actual connection database: exists out of: + # [vtrunc pos, etrunc pos, connected vert IDs, connected face IDs] + vData = [[[], [], [], []] for i in vInput] + fvOutput = [] # faces created from truncated vertices + feOutput = [] # faces created from truncated edges + vOutput = [] # newly created vertices + for x in range(len(vInput)): + i = vDict[x] # lookup the current vertex + current = i[-1] + while True: # follow the chain to get a ccw order of connected verts and faces + vData[x][2].append(i[current][0]) + vData[x][3].append(i[current][1]) + # create truncated vertices + vData[x][0].append((1 - vtrunc) * vInput[x] + vtrunc * vInput[vData[x][2][-1]]) + current = i[current][0] + if current == i[-1]: + break # if we're back at the first: stop the loop + fvOutput.append([]) # new face from truncated vert + fOffset = x * (len(i) - 1) # where to start off counting faceVerts + # only create one vert where one is needed (v1 todo: done) + if etrunc == 0.5: + for j in range(len(i) - 1): + vOutput.append((vData[x][0][j] + vData[x][0][j - 1]) * etrunc) # create vert + fvOutput[x].append(fOffset + j) # add to face + fvOutput[x] = fvOutput[x][1:] + [fvOutput[x][0]] # rotate face for ease later on + # create faces from truncated edges. + for j in range(len(i) - 1): + if x > vData[x][2][j]: # only create when other vertex has been added + index = vData[vData[x][2][j]][2].index(x) + feOutput.append([fvOutput[x][j], fvOutput[x][j - 1], + fvOutput[vData[x][2][j]][index], + fvOutput[vData[x][2][j]][index - 1]]) + # edge truncation between none and full + elif etrunc > 0: + for j in range(len(i) - 1): + # create snubs from selecting verts from rectified meshes + if rSnub: + vOutput.append(etrunc * vData[x][0][j] + (1 - etrunc) * vData[x][0][j - 1]) + fvOutput[x].append(fOffset + j) + elif lSnub: + vOutput.append((1 - etrunc) * vData[x][0][j] + etrunc * vData[x][0][j - 1]) + fvOutput[x].append(fOffset + j) + else: # noSnub, select both verts from rectified mesh + vOutput.append(etrunc * vData[x][0][j] + (1 - etrunc) * vData[x][0][j - 1]) + vOutput.append((1 - etrunc) * vData[x][0][j] + etrunc * vData[x][0][j - 1]) + fvOutput[x].append(2 * fOffset + 2 * j) + fvOutput[x].append(2 * fOffset + 2 * j + 1) + # rotate face for ease later on + if noSnub: + fvOutput[x] = fvOutput[x][2:] + fvOutput[x][:2] + else: + fvOutput[x] = fvOutput[x][1:] + [fvOutput[x][0]] + # create single face for each edge + if noSnub: + for j in range(len(i) - 1): + if x > vData[x][2][j]: + index = vData[vData[x][2][j]][2].index(x) + feOutput.append([fvOutput[x][j * 2], fvOutput[x][2 * j - 1], + fvOutput[vData[x][2][j]][2 * index], + fvOutput[vData[x][2][j]][2 * index - 1]]) + # create 2 tri's for each edge for the snubs + elif rSnub: + for j in range(len(i) - 1): + if x > vData[x][2][j]: + index = vData[vData[x][2][j]][2].index(x) + feOutput.append([fvOutput[x][j], fvOutput[x][j - 1], + fvOutput[vData[x][2][j]][index]]) + feOutput.append([fvOutput[x][j], fvOutput[vData[x][2][j]][index], + fvOutput[vData[x][2][j]][index - 1]]) + elif lSnub: + for j in range(len(i) - 1): + if x > vData[x][2][j]: + index = vData[vData[x][2][j]][2].index(x) + feOutput.append([fvOutput[x][j], fvOutput[x][j - 1], + fvOutput[vData[x][2][j]][index - 1]]) + feOutput.append([fvOutput[x][j - 1], fvOutput[vData[x][2][j]][index], + fvOutput[vData[x][2][j]][index - 1]]) + # special rules for birectified mesh (v1 todo: done) + elif vtrunc == 0.5: + for j in range(len(i) - 1): + if x < vData[x][2][j]: # use current vert, since other one has not passed yet + vOutput.append(vData[x][0][j]) + fvOutput[x].append(len(vOutput) - 1) + else: + # search for other edge to avoid duplicity + connectee = vData[x][2][j] + fvOutput[x].append(fvOutput[connectee][vData[connectee][2].index(x)]) + else: # vert truncation only + vOutput.extend(vData[x][0]) # use generated verts from way above + for j in range(len(i) - 1): # create face from them + fvOutput[x].append(fOffset + j) + + # calculate supposed vertex length to ensure continuity + if supposedSize and not dual: # this to make the vtrunc > 1 work + supposedSize *= len(fvOutput[0]) / vSum(vOutput[i] for i in fvOutput[0]).length + vOutput = [-i * supposedSize for i in vOutput] + # Inverting vOutput turns the mesh inside-out, so normals need to be flipped. + flipNormals = True + else: + flipNormals = False + + # create new faces by replacing old vert IDs by newly generated verts + ffOutput = [[] for i in fInput] + for x in range(len(fInput)): + # only one generated vert per vertex, so choose accordingly + if etrunc == 0.5 or (etrunc == 0 and vtrunc == 0.5) or lSnub or rSnub: + ffOutput[x] = [fvOutput[i][vData[i][3].index(x) - 1] for i in fInput[x]] + # two generated verts per vertex + elif etrunc > 0: + for i in fInput[x]: + ffOutput[x].append(fvOutput[i][2 * vData[i][3].index(x) - 1]) + ffOutput[x].append(fvOutput[i][2 * vData[i][3].index(x) - 2]) + else: # cutting off corners also makes 2 verts + for i in fInput[x]: + ffOutput[x].append(fvOutput[i][vData[i][3].index(x)]) + ffOutput[x].append(fvOutput[i][vData[i][3].index(x) - 1]) + + if not dual: + fOutput = fvOutput + feOutput + ffOutput + if flipNormals: + fOutput = flippedFaceNormals(fOutput) + return vOutput, fOutput + else: + # do the same procedure as above, only now on the generated mesh + # generate connection database + vDict = [{} for i in vOutput] + dvOutput = [0 for i in fvOutput + feOutput + ffOutput] + dfOutput = [] + + for x in range(len(dvOutput)): # for every face + i = (fvOutput + feOutput + ffOutput)[x] # choose face to work with + # find vertex from face + normal = (vOutput[i[0]] - vOutput[i[1]]).cross(vOutput[i[2]] - vOutput[i[1]]).normalized() + dvOutput[x] = normal / (normal.dot(vOutput[i[0]])) + for j in range(len(i)): # create vert chain + vDict[i[j - 1]][i[j]] = [i[j - 2], x] + if len(vDict[i[j - 1]]) == 1: + vDict[i[j - 1]][-1] = i[j] + + # calculate supposed size for continuity + supposedSize = vSum([vInput[i] for i in fInput[0]]).length / len(fInput[0]) + supposedSize /= dvOutput[-1].length + dvOutput = [i * supposedSize for i in dvOutput] + + # use chains to create faces + for x in range(len(vOutput)): + i = vDict[x] + current = i[-1] + face = [] + while True: + face.append(i[current][1]) + current = i[current][0] + if current == i[-1]: + break + dfOutput.append(face) + + return dvOutput, dfOutput + + +class Solids(bpy.types.Operator): + """Add one of the (regular) solids (mesh)""" + bl_idname = "mesh.primitive_solid_add" + bl_label = "Add Regular Solid" + bl_description = "Add one of the Platonic, Archimedean or Catalan solids" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + source: EnumProperty( + items=(("4", "Tetrahedron", ""), + ("6", "Hexahedron", ""), + ("8", "Octahedron", ""), + ("12", "Dodecahedron", ""), + ("20", "Icosahedron", "")), + name="Source", + description="Starting point of your solid" + ) + size: FloatProperty( + name="Size", + description="Radius of the sphere through the vertices", + min=0.01, + soft_min=0.01, + max=100, + soft_max=100, + default=1.0 + ) + vTrunc: FloatProperty( + name="Vertex Truncation", + description="Amount of vertex truncation", + min=0.0, + soft_min=0.0, + max=2.0, + soft_max=2.0, + default=0.0, + precision=3, + step=0.5 + ) + eTrunc: FloatProperty( + name="Edge Truncation", + description="Amount of edge truncation", + min=0.0, + soft_min=0.0, + max=1.0, + soft_max=1.0, + default=0.0, + precision=3, + step=0.2 + ) + snub: EnumProperty( + items=(("None", "No Snub", ""), + ("Left", "Left Snub", ""), + ("Right", "Right Snub", "")), + name="Snub", + description="Create the snub version" + ) + dual: BoolProperty( + name="Dual", + description="Create the dual of the current solid", + default=False + ) + keepSize: BoolProperty( + name="Keep Size", + description="Keep the whole solid at a constant size", + default=False + ) + + def execute(self, context): + # generate mesh + verts, faces = createSolid(self.source, + self.vTrunc, + self.eTrunc, + self.dual, + self.snub + ) + + # resize to normal size, or if keepSize, make sure all verts are of length 'size' + if self.keepSize: + rad = self.size / verts[-1 if self.dual else 0].length + else: + rad = self.size + verts = [i * rad for i in verts] + + # generate object + # Create new mesh + mesh = bpy.data.meshes.new("Solid") + + # Make a mesh from a list of verts/edges/faces. + mesh.from_pydata(verts, [], faces) + + # Update mesh geometry after adding stuff. + mesh.update() + + object_data_add(context, mesh, operator=None) + # object generation done + + return {'FINISHED'} diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_star.py b/extensions/blender_org/extra_mesh_objects/add_mesh_star.py new file mode 100644 index 0000000..6891d3b --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_star.py @@ -0,0 +1,285 @@ +# SPDX-FileCopyrightText: 2015-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Original by Fourmadmen + +import bpy +from mathutils import ( + Vector, + Quaternion, + ) +from math import pi +from bpy.props import ( + IntProperty, + FloatProperty, + StringProperty, + BoolProperty, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + +# Create a new mesh (object) from verts/edges/faces. +# verts/edges/faces ... List of vertices/edges/faces for the +# new mesh (as used in from_pydata) +# name ... Name of the new mesh (& object) + +def create_mesh_object(context, verts, edges, faces, name): + + # Create new mesh + mesh = bpy.data.meshes.new(name) + + # Make a mesh from a list of verts/edges/faces. + mesh.from_pydata(verts, edges, faces) + + # Update mesh geometry after adding stuff. + mesh.update() + + from bpy_extras import object_utils + return object_utils.object_data_add(context, mesh, operator=None) + + +# A very simple "bridge" tool. + +def createFaces(vertIdx1, vertIdx2, closed=False, flipped=False): + faces = [] + + if not vertIdx1 or not vertIdx2: + return None + + if len(vertIdx1) < 2 and len(vertIdx2) < 2: + return None + + fan = False + if (len(vertIdx1) != len(vertIdx2)): + if (len(vertIdx1) == 1 and len(vertIdx2) > 1): + fan = True + else: + return None + + total = len(vertIdx2) + + if closed: + # Bridge the start with the end. + if flipped: + face = [ + vertIdx1[0], + vertIdx2[0], + vertIdx2[total - 1]] + if not fan: + face.append(vertIdx1[total - 1]) + faces.append(face) + + else: + face = [vertIdx2[0], vertIdx1[0]] + if not fan: + face.append(vertIdx1[total - 1]) + face.append(vertIdx2[total - 1]) + faces.append(face) + + # Bridge the rest of the faces. + for num in range(total - 1): + if flipped: + if fan: + face = [vertIdx2[num], vertIdx1[0], vertIdx2[num + 1]] + else: + face = [vertIdx2[num], vertIdx1[num], + vertIdx1[num + 1], vertIdx2[num + 1]] + faces.append(face) + else: + if fan: + face = [vertIdx1[0], vertIdx2[num], vertIdx2[num + 1]] + else: + face = [vertIdx1[num], vertIdx2[num], + vertIdx2[num + 1], vertIdx1[num + 1]] + faces.append(face) + + return faces + + +# @todo Clean up vertex&face creation process a bit. + +def add_star(points, outer_radius, inner_radius, height): + PI_2 = pi * 2 + z_axis = (0, 0, 1) + + verts = [] + faces = [] + + segments = points * 2 + + half_height = height / 2.0 + + vert_idx_top = len(verts) + verts.append(Vector((0.0, 0.0, half_height))) + + vert_idx_bottom = len(verts) + verts.append(Vector((0.0, 0.0, -half_height))) + + edgeloop_top = [] + edgeloop_bottom = [] + + for index in range(segments): + quat = Quaternion(z_axis, (index / segments) * PI_2) + + if index % 2: + # Uneven + radius = outer_radius + else: + # Even + radius = inner_radius + + edgeloop_top.append(len(verts)) + vec = quat @ Vector((radius, 0, half_height)) + verts.append(vec) + + edgeloop_bottom.append(len(verts)) + vec = quat @ Vector((radius, 0, -half_height)) + verts.append(vec) + + faces_top = createFaces([vert_idx_top], edgeloop_top, closed=True) + faces_outside = createFaces(edgeloop_top, edgeloop_bottom, closed=True) + faces_bottom = createFaces([vert_idx_bottom], edgeloop_bottom, + flipped=True, closed=True) + + faces.extend(faces_top) + faces.extend(faces_outside) + faces.extend(faces_bottom) + + return verts, faces + + +class AddStar(bpy.types.Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_star_add" + bl_label = "Simple Star" + bl_description = "Construct a star mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + Star : BoolProperty(name = "Star", + default = True, + description = "Star") + change : BoolProperty(name = "Change", + default = False, + description = "change Star") + + points: IntProperty( + name="Points", + description="Number of points for the star", + min=2, + max=256, + default=5 + ) + outer_radius: FloatProperty( + name="Outer Radius", + description="Outer radius of the star", + min=0.01, + max=9999.0, + default=1.0 + ) + innter_radius: FloatProperty( + name="Inner Radius", + description="Inner radius of the star", + min=0.01, + max=9999.0, + default=0.5 + ) + height: FloatProperty(name="Height", + description="Height of the star", + min=0.01, + max=9999.0, + default=0.5 + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'points') + layout.prop(self, 'height') + col = layout.column(align=True) + col.prop(self, 'outer_radius', text='Radius Outer') + col.prop(self, 'innter_radius', text='Inner') + + if self.change == False: + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('Star' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + verts, faces = add_star( + self.points, + self.outer_radius, + self.innter_radius, + self.height + ) + mesh = bpy.data.meshes.new('Star') + mesh.from_pydata(verts, [], faces) + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + verts, faces = add_star( + self.points, + self.outer_radius, + self.innter_radius, + self.height + ) + mesh = bpy.data.meshes.new('Star') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + + obj.data["Star"] = True + obj.data["change"] = False + for prm in StarParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + verts, faces = add_star( + self.points, + self.outer_radius, + self.innter_radius, + self.height + ) + mesh = bpy.data.meshes.new('Star') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def StarParameters(): + StarParameters = [ + "points", + "outer_radius", + "innter_radius", + "height", + ] + return StarParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_supertoroid.py b/extensions/blender_org/extra_mesh_objects/add_mesh_supertoroid.py new file mode 100644 index 0000000..81fc9c6 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_supertoroid.py @@ -0,0 +1,331 @@ +# SPDX-FileCopyrightText: 2011-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author: DreamPainter + +import bpy +from bpy.props import ( + FloatProperty, + BoolProperty, + IntProperty, + EnumProperty, + ) +from math import pi, cos, sin +from mathutils import Vector +from bpy_extras import object_utils +from .interface import draw_transform_props + + +# A very simple "bridge" tool + +def createFaces(vertIdx1, vertIdx2, closed=False, flipped=False): + faces = [] + + if not vertIdx1 or not vertIdx2: + return None + + if len(vertIdx1) < 2 and len(vertIdx2) < 2: + return None + + fan = False + if (len(vertIdx1) != len(vertIdx2)): + if (len(vertIdx1) == 1 and len(vertIdx2) > 1): + fan = True + else: + return None + + total = len(vertIdx2) + + if closed: + # Bridge the start with the end. + if flipped: + face = [ + vertIdx1[0], + vertIdx2[0], + vertIdx2[total - 1]] + if not fan: + face.append(vertIdx1[total - 1]) + faces.append(face) + + else: + face = [vertIdx2[0], vertIdx1[0]] + if not fan: + face.append(vertIdx1[total - 1]) + face.append(vertIdx2[total - 1]) + faces.append(face) + + # Bridge the rest of the faces. + for num in range(total - 1): + if flipped: + if fan: + face = [vertIdx2[num], vertIdx1[0], vertIdx2[num + 1]] + else: + face = [vertIdx2[num], vertIdx1[num], + vertIdx1[num + 1], vertIdx2[num + 1]] + faces.append(face) + else: + if fan: + face = [vertIdx1[0], vertIdx2[num], vertIdx2[num + 1]] + else: + face = [vertIdx1[num], vertIdx2[num], + vertIdx2[num + 1], vertIdx1[num + 1]] + faces.append(face) + + return faces + + +def power(a, b): + if a < 0: + return -((-a) ** b) + return a ** b + + +def supertoroid(R, r, u, v, n1, n2): + """ + R = big radius + r = small radius + u = lateral segmentation + v = radial segmentation + n1 = value determines the shape of the torus + n2 = value determines the shape of the cross-section + """ + # create the necessary constants + a = 2 * pi / u + b = 2 * pi / v + + verts = [] + faces = [] + + # create each cross-section by calculating each vector on the + # the wannabe circle + # x = (cos(theta) ** n1)*(R + r * (cos(phi) ** n2)) + # y = (sin(theta) ** n1)*(R + r * (cos(phi) ** n2)) + # z = (r * sin(phi) ** n2) + # with theta and phi ranging from 0 to 2pi + + for i in range(u): + s = power(sin(i * a), n1) + c = power(cos(i * a), n1) + for j in range(v): + c2 = R + r * power(cos(j * b), n2) + s2 = r * power(sin(j * b), n2) + verts.append(Vector((c * c2, s * c2, s2))) + + # bridge the last circle with the previous circle + if i > 0: # but not for the first circle, 'cus there's no previous before the first + f = createFaces(range((i - 1) * v, i * v), range(i * v, (i + 1) * v), closed=True) + faces.extend(f) + # bridge the last circle with the first + f = createFaces(range((u - 1) * v, u * v), range(v), closed=True) + faces.extend(f) + + return verts, faces + + +class add_supertoroid(bpy.types.Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_supertoroid_add" + bl_label = "Add SuperToroid" + bl_description = "Construct a supertoroid mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + SuperToroid : BoolProperty(name = "SuperToroid", + default = True, + description = "SuperToroid") + change : BoolProperty(name = "Change", + default = False, + description = "change SuperToroid") + + method: EnumProperty( + name='Method', + description='Method for determining the size and thickness of the torus', + items=( + ('MAJOR-MINOR', 'Major / Minor', 'Uses the major radius for the overall size and the minor for the thickness'), + ('INT-EXT', 'Interior / Exterior', 'Uses the absolute size of the inner and outer circles to determine the size and thickness'), + ), + default='MAJOR-MINOR', + ) + R: FloatProperty( + name="Big radius", + description="The radius inside the tube", + default=1.0, + min=0.01, max=100.0 + ) + r: FloatProperty( + name="Small radius", + description="The radius of the tube", + default=0.3, + min=0.01, max=100.0 + ) + outer_r: FloatProperty( + name="Exterior Radius", + description="Total Exterior Radius of the torus", + min=0.01, + max=100.0, + default=1.3 + ) + inner_r: FloatProperty( + name="Inside Radius", + description="Total Interior Radius of the torus", + min=0.01, + max=100.0, + default=0.7 + ) + u: IntProperty( + name="U-segments", + description="Radial segmentation", + default=16, + min=3, max=265 + ) + v: IntProperty( + name="V-segments", + description="Lateral segmentation", + default=8, + min=3, max=265 + ) + n1: FloatProperty( + name="Ring manipulator", + description="Manipulates the shape of the Ring", + default=1.0, + min=0.01, max=100.0 + ) + n2: FloatProperty( + name="Cross manipulator", + description="Manipulates the shape of the cross-section", + default=1.0, + min=0.01, max=100.0 + ) + edit: BoolProperty( + name="", + description="", + default=False, + options={'HIDDEN'} + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'method', text='Dimensions Mode') + col = layout.column(align=True) + if self.method == 'MAJOR-MINOR': + col.prop(self, 'R', text='Radius Major') + col.prop(self, 'r', text='Minor') + else: + col.prop(self, 'outer_r', text='Radius Exterior') + col.prop(self, 'inner_r', text='Interior') + col = layout.column(align=True) + col.prop(self, 'u', text='Segments Major') + col.prop(self, 'v', text='Minor') + layout.prop(self, 'n1', text='Ring') + layout.prop(self, 'n2', text='Cross') + + if self.change == False: + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + props = self.properties + + # check how the radii properties must be used + if props.method == 'INT-EXT': + rad1 = (props.outer_r + props.inner_r) / 2 + rad2 = (props.outer_r - props.inner_r) / 2 + # for consistency in the mesh, ie no crossing faces, make the largest of the two + # the outer radius + if rad2 > rad1: + [rad1, rad2] = [rad2, rad1] + else: + rad1 = props.R + rad2 = props.r + # again for consistency, make the radius in the tube, + # at least as big as the radius of the tube + if rad2 > rad1: + rad1 = rad2 + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('SuperToroid' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + verts, faces = supertoroid(rad1, + rad2, + props.u, + props.v, + props.n1, + props.n2 + ) + mesh = bpy.data.meshes.new('SuperToroid') + mesh.from_pydata(verts, [], faces) + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + verts, faces = supertoroid(rad1, + rad2, + props.u, + props.v, + props.n1, + props.n2 + ) + mesh = bpy.data.meshes.new('SuperToroid') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + + obj.data["SuperToroid"] = True + obj.data["change"] = False + for prm in SuperToroidParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + verts, faces = supertoroid(rad1, + rad2, + props.u, + props.v, + props.n1, + props.n2 + ) + mesh = bpy.data.meshes.new('SuperToroid') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def SuperToroidParameters(): + SuperToroidParameters = [ + "R", + "r", + "u", + "v", + "n1", + "n2", + "method", + "edit", + "inner_r", + "outer_r", + ] + return SuperToroidParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_teapot.py b/extensions/blender_org/extra_mesh_objects/add_mesh_teapot.py new file mode 100644 index 0000000..3b5de1d --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_teapot.py @@ -0,0 +1,865 @@ +# SPDX-FileCopyrightText: 2012-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author, Anthony D'Agostino + +import bpy +from bpy.props import ( + IntProperty, + EnumProperty, + ) +import mathutils +import io +import operator +import functools +from bpy_extras import object_utils +from .interface import draw_transform_props + + +class AddTeapot(bpy.types.Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_teapot_add" + bl_label = "Add Teapot" + bl_description = "Construct a teapot or teaspoon mesh" + bl_options = {"REGISTER", "UNDO"} + + resolution: IntProperty( + name="Resolution", + description="Resolution of the Teapot", + default=5, + min=2, max=15, + ) + objecttype: EnumProperty( + name="Type", + description="Type of Bezier Object", + items=(('1', "Teapot", "Construct a teapot mesh"), + ('2', "Tea Spoon", "Construct a teaspoon mesh")), + default='1', + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.prop(self, 'objecttype') + layout.prop(self, 'resolution') + layout.separator() + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + cmode = bpy.context.mode + verts, faces = make_teapot(self.objecttype, + self.resolution) + # Actually create the mesh object from this geometry data. + obj = create_mesh_object(self, context, verts, [], faces, "Teapot") + bpy.ops.object.mode_set(mode='EDIT') + bpy.ops.mesh.remove_doubles() + if cmode != "EDIT_MESH": + bpy.ops.object.mode_set(mode=cmode) + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + + +def create_mesh_face_hack(faces): + # FIXME, faces with duplicate vertices shouldn't be created in the first place. + faces_copy = [] + for f in faces: + f_copy = [] + for i in f: + if i not in f_copy: + f_copy.append(i) + faces_copy.append(f_copy) + faces[:] = faces_copy + + +def create_mesh_object(self, context, verts, edges, faces, name): + + create_mesh_face_hack(faces) + + # Create new mesh + mesh = bpy.data.meshes.new(name) + # Make a mesh from a list of verts/edges/faces. + mesh.from_pydata(verts, edges, faces) + # Update mesh geometry after adding stuff. + mesh.update() + + return object_utils.object_data_add(context, mesh, operator=self) + + +# ========================== +# === Bezier patch Block === +# ========================== + +def read_indexed_patch_file(filename): + file = io.StringIO(filename) + rawpatches = [] + patches = [] + numpatches = int(file.readline()) + for i in range(numpatches): + line = file.readline() + (a, b, c, d, + e, f, g, h, + i, j, k, l, + m, n, o, p, + ) = map(int, line.split(",")) + patches.append([[a, b, c, d], [e, f, g, h], [i, j, k, l], [m, n, o, p]]) + rawpatches.append([[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]) + verts = [] + numverts = int(file.readline()) + for i in range(numverts): + line = file.readline() + v1, v2, v3 = map(float, line.split(",")) + verts.append((v1, v2, v3)) + for i in range(len(patches)): + for j in range(4): # len(patches[i])): + for k in range(4): # len(patches[i][j])): + index = patches[i][j][k] - 1 + rawpatches[i][j][k] = verts[index] + return rawpatches + + +def patches_to_raw(patches, resolution): + raw = [] + for patch in patches: + verts = make_verts(patch, resolution) + faces = make_faces(resolution) + rawquads = indexed_to_rawquads(verts, faces) + raw.append(rawquads) + raw = functools.reduce(operator.add, raw) # flatten the list + return raw + + +def make_bezier(ctrlpnts, resolution): + + def b1(t): + return t * t * t + + def b2(t): + return 3.0 * t * t * (1.0 - t) + + def b3(t): + return 3.0 * t * (1.0 - t) * (1.0 - t) + + def b4(t): + return (1.0 - t) * (1.0 - t) * (1.0 - t) + + p1, p2, p3, p4 = map(mathutils.Vector, ctrlpnts) + + def makevert(t): + x, y, z = b1(t) * p1 + b2(t) * p2 + b3(t) * p3 + b4(t) * p4 + return (x, y, z) + curveverts = [makevert(i / resolution) for i in range(resolution + 1)] + return curveverts + + +def make_verts(a, resolution): + s = [] + for i in a: + c = make_bezier(i, resolution) + s.append(c) + b = transpose(s) + s = [] + for i in b: + c = make_bezier(i, resolution) + s.append(c) + verts = s + verts = functools.reduce(operator.add, verts) # flatten the list + return verts + + +def make_faces(resolution): + n = resolution + 1 + faces = [] + for i in range(resolution): + for j in range(resolution): + v1 = (i + 1) * n + j + v2 = (i + 1) * n + j + 1 + v3 = i * n + j + 1 + v4 = i * n + j + faces.append([v1, v2, v3, v4]) + return faces + + +def indexed_to_rawquads(verts, faces): + rows = len(faces) + cols = len(faces[0]) # or 4 + rawquads = [[None] * cols for i in range(rows)] + for i in range(rows): + for j in range(cols): + index = faces[i][j] + rawquads[i][j] = verts[index] + return rawquads + + +def raw_to_indexed(rawfaces): + # Generate verts and faces lists, without dups + verts = [] + coords = {} + index = 0 + for i in range(len(rawfaces)): + for j in range(len(rawfaces[i])): + vertex = rawfaces[i][j] + if vertex not in coords: + coords[vertex] = index + index += 1 + verts.append(vertex) + rawfaces[i][j] = coords[vertex] + return verts, rawfaces + + +def transpose(rowsbycols): + rows = len(rowsbycols) + cols = len(rowsbycols[0]) + colsbyrows = [[None] * rows for i in range(cols)] + for i in range(cols): + for j in range(rows): + colsbyrows[i][j] = rowsbycols[j][i] + return colsbyrows + + +def make_teapot(enumname, resolution): + filenames = [None, teapot, teaspoon] + try: + indexes = int(enumname) + filename = filenames[indexes] + except: + print("Add Teapot Error: EnumProperty could not be set") + filename = filenames[1] + + patches = read_indexed_patch_file(filename) + raw = patches_to_raw(patches, resolution) + verts, faces = raw_to_indexed(raw) + return (verts, faces) + + +# ================================= +# === Indexed Bezier Data Block === +# ================================= +teapot = """32 +1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 +4,17,18,19,8,20,21,22,12,23,24,25,16,26,27,28 +19,29,30,31,22,32,33,34,25,35,36,37,28,38,39,40 +31,41,42,1,34,43,44,5,37,45,46,9,40,47,48,13 +13,14,15,16,49,50,51,52,53,54,55,56,57,58,59,60 +16,26,27,28,52,61,62,63,56,64,65,66,60,67,68,69 +28,38,39,40,63,70,71,72,66,73,74,75,69,76,77,78 +40,47,48,13,72,79,80,49,75,81,82,53,78,83,84,57 +57,58,59,60,85,86,87,88,89,90,91,92,93,94,95,96 +60,67,68,69,88,97,98,99,92,100,101,102,96,103,104,105 +69,76,77,78,99,106,107,108,102,109,110,111,105,112,113,114 +78,83,84,57,108,115,116,85,111,117,118,89,114,119,120,93 +121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136 +124,137,138,121,128,139,140,125,132,141,142,129,136,143,144,133 +133,134,135,136,145,146,147,148,149,150,151,152,69,153,154,155 +136,143,144,133,148,156,157,145,152,158,159,149,155,160,161,69 +162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177 +165,178,179,162,169,180,181,166,173,182,183,170,177,184,185,174 +174,175,176,177,186,187,188,189,190,191,192,193,194,195,196,197 +177,184,185,174,189,198,199,186,193,200,201,190,197,202,203,194 +204,204,204,204,207,208,209,210,211,211,211,211,212,213,214,215 +204,204,204,204,210,217,218,219,211,211,211,211,215,220,221,222 +204,204,204,204,219,224,225,226,211,211,211,211,222,227,228,229 +204,204,204,204,226,230,231,207,211,211,211,211,229,232,233,212 +212,213,214,215,234,235,236,237,238,239,240,241,242,243,244,245 +215,220,221,222,237,246,247,248,241,249,250,251,245,252,253,254 +222,227,228,229,248,255,256,257,251,258,259,260,254,261,262,263 +229,232,233,212,257,264,265,234,260,266,267,238,263,268,269,242 +270,270,270,270,279,280,281,282,275,276,277,278,271,272,273,274 +270,270,270,270,282,289,290,291,278,286,287,288,274,283,284,285 +270,270,270,270,291,298,299,300,288,295,296,297,285,292,293,294 +270,270,270,270,300,305,306,279,297,303,304,275,294,301,302,271 +306 +1.4,0.0,2.4 +1.4,-0.784,2.4 +0.784,-1.4,2.4 +0.0,-1.4,2.4 +1.3375,0.0,2.53125 +1.3375,-0.749,2.53125 +0.749,-1.3375,2.53125 +0.0,-1.3375,2.53125 +1.4375,0.0,2.53125 +1.4375,-0.805,2.53125 +0.805,-1.4375,2.53125 +0.0,-1.4375,2.53125 +1.5,0.0,2.4 +1.5,-0.84,2.4 +0.84,-1.5,2.4 +0.0,-1.5,2.4 +-0.784,-1.4,2.4 +-1.4,-0.784,2.4 +-1.4,0.0,2.4 +-0.749,-1.3375,2.53125 +-1.3375,-0.749,2.53125 +-1.3375,0.0,2.53125 +-0.805,-1.4375,2.53125 +-1.4375,-0.805,2.53125 +-1.4375,0.0,2.53125 +-0.84,-1.5,2.4 +-1.5,-0.84,2.4 +-1.5,0.0,2.4 +-1.4,0.784,2.4 +-0.784,1.4,2.4 +0.0,1.4,2.4 +-1.3375,0.749,2.53125 +-0.749,1.3375,2.53125 +0.0,1.3375,2.53125 +-1.4375,0.805,2.53125 +-0.805,1.4375,2.53125 +0.0,1.4375,2.53125 +-1.5,0.84,2.4 +-0.84,1.5,2.4 +0.0,1.5,2.4 +0.784,1.4,2.4 +1.4,0.784,2.4 +0.749,1.3375,2.53125 +1.3375,0.749,2.53125 +0.805,1.4375,2.53125 +1.4375,0.805,2.53125 +0.84,1.5,2.4 +1.5,0.84,2.4 +1.75,0.0,1.875 +1.75,-0.98,1.875 +0.98,-1.75,1.875 +0.0,-1.75,1.875 +2.0,0.0,1.35 +2.0,-1.12,1.35 +1.12,-2.0,1.35 +0.0,-2.0,1.35 +2.0,0.0,0.9 +2.0,-1.12,0.9 +1.12,-2.0,0.9 +0.0,-2.0,0.9 +-0.98,-1.75,1.875 +-1.75,-0.98,1.875 +-1.75,0.0,1.875 +-1.12,-2.0,1.35 +-2.0,-1.12,1.35 +-2.0,0.0,1.35 +-1.12,-2.0,0.9 +-2.0,-1.12,0.9 +-2.0,0.0,0.9 +-1.75,0.98,1.875 +-0.98,1.75,1.875 +0.0,1.75,1.875 +-2.0,1.12,1.35 +-1.12,2.0,1.35 +0.0,2.0,1.35 +-2.0,1.12,0.9 +-1.12,2.0,0.9 +0.0,2.0,0.9 +0.98,1.75,1.875 +1.75,0.98,1.875 +1.12,2.0,1.35 +2.0,1.12,1.35 +1.12,2.0,0.9 +2.0,1.12,0.9 +2.0,0.0,0.45 +2.0,-1.12,0.45 +1.12,-2.0,0.45 +0.0,-2.0,0.45 +1.5,0.0,0.225 +1.5,-0.84,0.225 +0.84,-1.5,0.225 +0.0,-1.5,0.225 +1.5,0.0,0.15 +1.5,-0.84,0.15 +0.84,-1.5,0.15 +0.0,-1.5,0.15 +-1.12,-2.0,0.45 +-2.0,-1.12,0.45 +-2.0,0.0,0.45 +-0.84,-1.5,0.225 +-1.5,-0.84,0.225 +-1.5,0.0,0.225 +-0.84,-1.5,0.15 +-1.5,-0.84,0.15 +-1.5,0.0,0.15 +-2.0,1.12,0.45 +-1.12,2.0,0.45 +0.0,2.0,0.45 +-1.5,0.84,0.225 +-0.84,1.5,0.225 +0.0,1.5,0.225 +-1.5,0.84,0.15 +-0.84,1.5,0.15 +0.0,1.5,0.15 +1.12,2.0,0.45 +2.0,1.12,0.45 +0.84,1.5,0.225 +1.5,0.84,0.225 +0.84,1.5,0.15 +1.5,0.84,0.15 +-1.6,0.0,2.025 +-1.6,-0.3,2.025 +-1.5,-0.3,2.25 +-1.5,0.0,2.25 +-2.3,0.0,2.025 +-2.3,-0.3,2.025 +-2.5,-0.3,2.25 +-2.5,0.0,2.25 +-2.7,0.0,2.025 +-2.7,-0.3,2.025 +-3.0,-0.3,2.25 +-3.0,0.0,2.25 +-2.7,0.0,1.8 +-2.7,-0.3,1.8 +-3.0,-0.3,1.8 +-3.0,0.0,1.8 +-1.5,0.3,2.25 +-1.6,0.3,2.025 +-2.5,0.3,2.25 +-2.3,0.3,2.025 +-3.0,0.3,2.25 +-2.7,0.3,2.025 +-3.0,0.3,1.8 +-2.7,0.3,1.8 +-2.7,0.0,1.575 +-2.7,-0.3,1.575 +-3.0,-0.3,1.35 +-3.0,0.0,1.35 +-2.5,0.0,1.125 +-2.5,-0.3,1.125 +-2.65,-0.3,0.9375 +-2.65,0.0,0.9375 +-2.0,-0.3,0.9 +-1.9,-0.3,0.6 +-1.9,0.0,0.6 +-3.0,0.3,1.35 +-2.7,0.3,1.575 +-2.65,0.3,0.9375 +-2.5,0.3,1.125 +-1.9,0.3,0.6 +-2.0,0.3,0.9 +1.7,0.0,1.425 +1.7,-0.66,1.425 +1.7,-0.66,0.6 +1.7,0.0,0.6 +2.6,0.0,1.425 +2.6,-0.66,1.425 +3.1,-0.66,0.825 +3.1,0.0,0.825 +2.3,0.0,2.1 +2.3,-0.25,2.1 +2.4,-0.25,2.025 +2.4,0.0,2.025 +2.7,0.0,2.4 +2.7,-0.25,2.4 +3.3,-0.25,2.4 +3.3,0.0,2.4 +1.7,0.66,0.6 +1.7,0.66,1.425 +3.1,0.66,0.825 +2.6,0.66,1.425 +2.4,0.25,2.025 +2.3,0.25,2.1 +3.3,0.25,2.4 +2.7,0.25,2.4 +2.8,0.0,2.475 +2.8,-0.25,2.475 +3.525,-0.25,2.49375 +3.525,0.0,2.49375 +2.9,0.0,2.475 +2.9,-0.15,2.475 +3.45,-0.15,2.5125 +3.45,0.0,2.5125 +2.8,0.0,2.4 +2.8,-0.15,2.4 +3.2,-0.15,2.4 +3.2,0.0,2.4 +3.525,0.25,2.49375 +2.8,0.25,2.475 +3.45,0.15,2.5125 +2.9,0.15,2.475 +3.2,0.15,2.4 +2.8,0.15,2.4 +0.0,0.0,3.15 +0.0,-0.002,3.15 +0.002,0.0,3.15 +0.8,0.0,3.15 +0.8,-0.45,3.15 +0.45,-0.8,3.15 +0.0,-0.8,3.15 +0.0,0.0,2.85 +0.2,0.0,2.7 +0.2,-0.112,2.7 +0.112,-0.2,2.7 +0.0,-0.2,2.7 +-0.002,0.0,3.15 +-0.45,-0.8,3.15 +-0.8,-0.45,3.15 +-0.8,0.0,3.15 +-0.112,-0.2,2.7 +-0.2,-0.112,2.7 +-0.2,0.0,2.7 +0.0,0.002,3.15 +-0.8,0.45,3.15 +-0.45,0.8,3.15 +0.0,0.8,3.15 +-0.2,0.112,2.7 +-0.112,0.2,2.7 +0.0,0.2,2.7 +0.45,0.8,3.15 +0.8,0.45,3.15 +0.112,0.2,2.7 +0.2,0.112,2.7 +0.4,0.0,2.55 +0.4,-0.224,2.55 +0.224,-0.4,2.55 +0.0,-0.4,2.55 +1.3,0.0,2.55 +1.3,-0.728,2.55 +0.728,-1.3,2.55 +0.0,-1.3,2.55 +1.3,0.0,2.4 +1.3,-0.728,2.4 +0.728,-1.3,2.4 +0.0,-1.3,2.4 +-0.224,-0.4,2.55 +-0.4,-0.224,2.55 +-0.4,0.0,2.55 +-0.728,-1.3,2.55 +-1.3,-0.728,2.55 +-1.3,0.0,2.55 +-0.728,-1.3,2.4 +-1.3,-0.728,2.4 +-1.3,0.0,2.4 +-0.4,0.224,2.55 +-0.224,0.4,2.55 +0.0,0.4,2.55 +-1.3,0.728,2.55 +-0.728,1.3,2.55 +0.0,1.3,2.55 +-1.3,0.728,2.4 +-0.728,1.3,2.4 +0.0,1.3,2.4 +0.224,0.4,2.55 +0.4,0.224,2.55 +0.728,1.3,2.55 +1.3,0.728,2.55 +0.728,1.3,2.4 +1.3,0.728,2.4 +0.0,0.0,0.0 +1.5,0.0,0.15 +1.5,0.84,0.15 +0.84,1.5,0.15 +0.0,1.5,0.15 +1.5,0.0,0.075 +1.5,0.84,0.075 +0.84,1.5,0.075 +0.0,1.5,0.075 +1.425,0.0,0.0 +1.425,0.798,0.0 +0.798,1.425,0.0 +0.0,1.425,0.0 +-0.84,1.5,0.15 +-1.5,0.84,0.15 +-1.5,0.0,0.15 +-0.84,1.5,0.075 +-1.5,0.84,0.075 +-1.5,0.0,0.075 +-0.798,1.425,0.0 +-1.425,0.798,0.0 +-1.425,0.0,0.0 +-1.5,-0.84,0.15 +-0.84,-1.5,0.15 +0.0,-1.5,0.15 +-1.5,-0.84,0.075 +-0.84,-1.5,0.075 +0.0,-1.5,0.075 +-1.425,-0.798,0.0 +-0.798,-1.425,0.0 +0.0,-1.425,0.0 +0.84,-1.5,0.15 +1.5,-0.84,0.15 +0.84,-1.5,0.075 +1.5,-0.84,0.075 +0.798,-1.425,0.0 +1.425,-0.798,0.0 +""" + +teaspoon = """16 +1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 +17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32 +33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48 +49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64 +65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80 +81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96 +97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112 +113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128 +129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144 +145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160 +161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176 +177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192 +193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208 +209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224 +225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240 +241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256 +256 +-0.000107143,0.205357,0.0 +0.0,0.196429,-0.0178571 +0.0,0.196429,-0.0178571 +0.000107143,0.205357,0.0 +-0.0535714,0.205357,0.0 +-0.0222714,0.178571,-0.0534286 +0.0222714,0.178571,-0.0534286 +0.0535714,0.205357,0.0 +-0.107143,0.0952429,-0.0178571 +-0.0446429,0.0952429,-0.0892857 +0.0446429,0.0952429,-0.0892857 +0.107143,0.0952429,-0.0178571 +-0.107143,0.0,-0.0178571 +-0.0446429,0.0,-0.0892857 +0.0446429,0.0,-0.0892857 +0.107143,0.0,-0.0178571 +0.000107143,0.205357,0.0 +0.000135714,0.207589,0.00446429 +0.000157143,0.216518,0.00446429 +0.000125,0.214286,0.0 +0.0535714,0.205357,0.0 +0.0613964,0.212054,0.0133571 +0.0714286,0.220982,0.015625 +0.0625,0.214286,0.0 +0.107143,0.0952429,-0.0178571 +0.122768,0.0952429,0.0 +0.142857,0.0952429,0.00446429 +0.125,0.0952429,-0.0178571 +0.107143,0.0,-0.0178571 +0.122768,0.0,0.0 +0.142857,0.0,0.00446429 +0.125,0.0,-0.0178571 +0.000125,0.214286,0.0 +0.0,0.205357,-0.0178571 +0.0,0.205357,-0.0178571 +-0.000125,0.214286,0.0 +0.0625,0.214286,0.0 +0.0267857,0.1875,-0.0625 +-0.0267857,0.1875,-0.0625 +-0.0625,0.214286,0.0 +0.125,0.0952429,-0.0178571 +0.0535714,0.0952429,-0.107143 +-0.0535714,0.0952429,-0.107143 +-0.125,0.0952429,-0.0178571 +0.125,0.0,-0.0178571 +0.0535714,0.0,-0.107143 +-0.0535714,0.0,-0.107143 +-0.125,0.0,-0.0178571 +-0.000125,0.214286,0.0 +-0.000157143,0.216518,0.00446429 +-0.000135714,0.207589,0.00446429 +-0.000107143,0.205357,0.0 +-0.0625,0.214286,0.0 +-0.0714286,0.220982,0.015625 +-0.0613964,0.212054,0.0133571 +-0.0535714,0.205357,0.0 +-0.125,0.0952429,-0.0178571 +-0.142857,0.0952429,0.00446429 +-0.122768,0.0952429,0.0 +-0.107143,0.0952429,-0.0178571 +-0.125,0.0,-0.0178571 +-0.142857,0.0,0.00446429 +-0.122768,0.0,0.0 +-0.107143,0.0,-0.0178571 +-0.107143,0.0,-0.0178571 +-0.0446429,0.0,-0.0892857 +0.0446429,0.0,-0.0892857 +0.107143,0.0,-0.0178571 +-0.107143,-0.142857,-0.0178571 +-0.0446429,-0.142857,-0.0892857 +0.0446429,-0.142857,-0.0892857 +0.107143,-0.142857,-0.0178571 +-0.0133929,-0.160714,0.0386893 +-0.00557857,-0.160714,0.0386893 +0.00557857,-0.160714,0.0386893 +0.0133929,-0.160714,0.0386893 +-0.0133929,-0.25,0.0535714 +-0.00557857,-0.25,0.0535714 +0.00557857,-0.25,0.0535714 +0.0133929,-0.25,0.0535714 +0.107143,0.0,-0.0178571 +0.122768,0.0,0.0 +0.142857,0.0,0.00446429 +0.125,0.0,-0.0178571 +0.107143,-0.142857,-0.0178571 +0.122768,-0.142857,0.0 +0.142857,-0.142857,0.00446429 +0.125,-0.142857,-0.0178571 +0.0133929,-0.160714,0.0386893 +0.0153464,-0.160714,0.0386893 +0.0178571,-0.160714,0.0314357 +0.015625,-0.160714,0.0297607 +0.0133929,-0.25,0.0535714 +0.0153464,-0.25,0.0535714 +0.0178571,-0.25,0.0463179 +0.015625,-0.25,0.0446429 +0.125,0.0,-0.0178571 +0.0535714,0.0,-0.107143 +-0.0535714,0.0,-0.107143 +-0.125,0.0,-0.0178571 +0.125,-0.142857,-0.0178571 +0.0535714,-0.142857,-0.107143 +-0.0535714,-0.142857,-0.107143 +-0.125,-0.142857,-0.0178571 +0.015625,-0.160714,0.0297607 +0.00669643,-0.160714,0.0230643 +-0.00781071,-0.160714,0.0208321 +-0.015625,-0.160714,0.0297607 +0.015625,-0.25,0.0446429 +0.00669643,-0.25,0.0379464 +-0.00781071,-0.25,0.0357143 +-0.015625,-0.25,0.0446429 +-0.125,0.0,-0.0178571 +-0.142857,0.0,0.00446429 +-0.122768,0.0,0.0 +-0.107143,0.0,-0.0178571 +-0.125,-0.142857,-0.0178571 +-0.142857,-0.142857,0.00446429 +-0.122768,-0.142857,0.0 +-0.107143,-0.142857,-0.0178571 +-0.015625,-0.160714,0.0297607 +-0.0175786,-0.160714,0.0319929 +-0.0153464,-0.160714,0.0386893 +-0.0133929,-0.160714,0.0386893 +-0.015625,-0.25,0.0446429 +-0.0175786,-0.25,0.046875 +-0.0153464,-0.25,0.0535714 +-0.0133929,-0.25,0.0535714 +-0.0133929,-0.25,0.0535714 +-0.00557857,-0.25,0.0535714 +0.00557857,-0.25,0.0535714 +0.0133929,-0.25,0.0535714 +-0.0133929,-0.46425,0.0892857 +-0.00557857,-0.46425,0.0892857 +0.00557857,-0.46425,0.0892857 +0.0133929,-0.46425,0.0892857 +-0.0446429,-0.678571,0.0535714 +-0.00892857,-0.678571,0.0625 +0.00892857,-0.678571,0.0625 +0.0446429,-0.678571,0.0535714 +-0.0446429,-0.857143,0.0357143 +-0.00892857,-0.857143,0.0446429 +0.00892857,-0.857143,0.0446429 +0.0446429,-0.857143,0.0357143 +0.0133929,-0.25,0.0535714 +0.0153464,-0.25,0.0535714 +0.0178571,-0.25,0.0463179 +0.015625,-0.25,0.0446429 +0.0133929,-0.46425,0.0892857 +0.0153464,-0.464286,0.0892857 +0.0178571,-0.46425,0.0820321 +0.015625,-0.46425,0.0803571 +0.0446429,-0.678571,0.0535714 +0.0535714,-0.678571,0.0513393 +0.0535714,-0.678571,0.0334821 +0.0446429,-0.678571,0.0357143 +0.0446429,-0.857143,0.0357143 +0.0535714,-0.857143,0.0334821 +0.0535714,-0.857143,0.015625 +0.0446429,-0.857143,0.0178571 +0.015625,-0.25,0.0446429 +0.00669643,-0.25,0.0379464 +-0.00781071,-0.25,0.0357143 +-0.015625,-0.25,0.0446429 +0.015625,-0.46425,0.0803571 +0.00669643,-0.464286,0.0736607 +-0.00781071,-0.46425,0.0714286 +-0.015625,-0.46425,0.0803571 +0.0446429,-0.678571,0.0357143 +0.00892857,-0.678571,0.0446429 +-0.00892857,-0.678571,0.0446429 +-0.0446429,-0.678571,0.0357143 +0.0446429,-0.857143,0.0178571 +0.00892857,-0.857143,0.0267857 +-0.00892857,-0.857143,0.0267857 +-0.0446429,-0.857143,0.0178571 +-0.015625,-0.25,0.0446429 +-0.0175786,-0.25,0.046875 +-0.0153464,-0.25,0.0535714 +-0.0133929,-0.25,0.0535714 +-0.015625,-0.46425,0.0803571 +-0.0175786,-0.464286,0.0825893 +-0.0153464,-0.464286,0.0892857 +-0.0133929,-0.46425,0.0892857 +-0.0446429,-0.678571,0.0357143 +-0.0535714,-0.678571,0.0334821 +-0.0535714,-0.678571,0.0513393 +-0.0446429,-0.678571,0.0535714 +-0.0446429,-0.857143,0.0178571 +-0.0535714,-0.857143,0.015625 +-0.0535714,-0.857143,0.0334821 +-0.0446429,-0.857143,0.0357143 +-0.0446429,-0.857143,0.0357143 +-0.00892857,-0.857143,0.0446429 +0.00892857,-0.857143,0.0446429 +0.0446429,-0.857143,0.0357143 +-0.0446429,-0.928571,0.0285714 +-0.00892857,-0.928571,0.0375 +0.00892857,-0.928571,0.0375 +0.0446429,-0.928571,0.0285714 +-0.0539286,-0.999643,0.0178571 +0.000357143,-0.999643,0.0178571 +0.0,-0.999643,0.0178571 +0.0535714,-0.999643,0.0178571 +-0.000357143,-1,0.0178571 +0.000357143,-1,0.0178571 +0.0,-1,0.0178571 +0.0,-1,0.0178571 +0.0446429,-0.857143,0.0357143 +0.0535714,-0.857143,0.0334821 +0.0535714,-0.857143,0.015625 +0.0446429,-0.857143,0.0178571 +0.0446429,-0.928571,0.0285714 +0.0535714,-0.928571,0.0263393 +0.0535714,-0.928571,0.00848214 +0.0446429,-0.928571,0.0107143 +0.0535714,-0.999643,0.0178571 +0.0669643,-0.999643,0.0178571 +0.0673214,-0.999643,0.0 +0.0539286,-0.999643,0.0 +0.0,-1,0.0178571 +0.0,-1,0.0178571 +0.000357143,-1,0.0 +0.000357143,-1,0.0 +0.0446429,-0.857143,0.0178571 +0.00892857,-0.857143,0.0267857 +-0.00892857,-0.857143,0.0267857 +-0.0446429,-0.857143,0.0178571 +0.0446429,-0.928571,0.0107143 +0.00892857,-0.928571,0.0196429 +-0.00892857,-0.928571,0.0196429 +-0.0446429,-0.928571,0.0107143 +0.0539286,-0.999643,0.0 +0.000357143,-0.999643,0.0 +-0.000357143,-0.999643,0.0 +-0.0539286,-0.999643,0.0 +0.000357143,-1,0.0 +0.000357143,-1,0.0 +-0.000357143,-1,0.0 +-0.000357143,-1,0.0 +-0.0446429,-0.857143,0.0178571 +-0.0535714,-0.857143,0.015625 +-0.0535714,-0.857143,0.0334821 +-0.0446429,-0.857143,0.0357143 +-0.0446429,-0.928571,0.0107143 +-0.0535714,-0.928571,0.00848214 +-0.0535714,-0.928571,0.0263393 +-0.0446429,-0.928571,0.0285714 +-0.0539286,-0.999643,0.0 +-0.0673214,-0.999643,0.0 +-0.0675,-0.999643,0.0178571 +-0.0539286,-0.999643,0.0178571 +-0.000357143,-1,0.0 +-0.000357143,-1,0.0 +-0.000535714,-1,0.0178571 +-0.000357143,-1,0.0178571 +""" diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_torusknot.py b/extensions/blender_org/extra_mesh_objects/add_mesh_torusknot.py new file mode 100644 index 0000000..c694392 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_torusknot.py @@ -0,0 +1,201 @@ +# SPDX-FileCopyrightText: 2012-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author: Anthony D'Agostino + +import bpy +from mathutils import Vector +from math import sin, cos, pi +from bpy.props import ( + BoolProperty, + IntProperty, + StringProperty, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + + +def create_mesh_object(context, verts, edges, faces, name): + # Create new mesh + mesh = bpy.data.meshes.new(name) + # Make a mesh from a list of verts/edges/faces. + mesh.from_pydata(verts, edges, faces) + # Update mesh geometry after adding stuff. + mesh.update() + from bpy_extras import object_utils + return object_utils.object_data_add(context, mesh, operator=None) + + +# ======================== +# === Torus Knot Block === +# ======================== + +def k1(t): + x = cos(t) - 2 * cos(2 * t) + y = sin(t) + 2 * sin(2 * t) + z = sin(3 * t) + return Vector([x, y, z]) + + +def k2(t): + x = 10 * (cos(t) + cos(3 * t)) + cos(2 * t) + cos(4 * t) + y = 6 * sin(t) + 10 * sin(3 * t) + z = 4 * sin(3 * t) * sin(5 * t / 2) + 4 * sin(4 * t) - 2 * sin(6 * t) + return Vector([x, y, z]) * 0.2 + + +def k3(t): + x = 2.5 * cos(t + pi) / 3 + 2 * cos(3 * t) + y = 2.5 * sin(t) / 3 + 2 * sin(3 * t) + z = 1.5 * sin(4 * t) + sin(2 * t) / 3 + return Vector([x, y, z]) + + +def make_verts(ures, vres, r2, knotfunc): + verts = [] + for i in range(ures): + t1 = (i + 0) * 2 * pi / ures + t2 = (i + 1) * 2 * pi / ures + a = knotfunc(t1) # curr point + b = knotfunc(t2) # next point + a, b = map(Vector, (a, b)) + e = a - b + f = a + b + g = e.cross(f) + h = e.cross(g) + g.normalize() + h.normalize() + for j in range(vres): + k = j * 2 * pi / vres + l = (cos(k), 0.0, sin(k)) + l = Vector(l) + m = l * r2 + x, y, z = m + n = h * x + o = g * z + p = n + o + q = a + p + verts.append(q) + return verts + + +def make_faces(ures, vres): + faces = [] + for u in range(0, ures): + for v in range(0, vres): + p1 = v + u * vres + p2 = v + ((u + 1) % ures) * vres + p4 = (v + 1) % vres + u * vres + p3 = (v + 1) % vres + ((u + 1) % ures) * vres + faces.append([p4, p3, p2, p1]) + return faces + + +def make_knot(knotidx, ures): + knots = [k1, k2, k3] + knotfunc = knots[knotidx - 1] + vres = ures // 10 + r2 = 0.5 + verts = make_verts(ures, vres, r2, knotfunc) + faces = make_faces(ures, vres) + return (verts, faces) + + +class AddTorusKnot(bpy.types.Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_torusknot_add" + bl_label = "Add Torus Knot" + bl_description = "Construct a torus knot mesh" + bl_options = {"REGISTER", "UNDO"} + + TorusKnot : BoolProperty(name = "TorusKnot", + default = True, + description = "TorusKnot") + change : BoolProperty(name = "Change", + default = False, + description = "change TorusKnot") + + resolution: IntProperty( + name="Resolution", + description="Resolution of the Torus Knot", + default=80, + min=30, max=256 + ) + objecttype: IntProperty( + name="Knot Type", + description="Type of Knot", + default=1, + min=1, max=3 + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.prop(self, 'resolution', expand=True) + layout.prop(self, 'objecttype', expand=True) + + if self.change == False: + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('TorusKnot' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + verts, faces = make_knot(self.objecttype, self.resolution) + mesh = bpy.data.meshes.new('TorusKnot') + mesh.from_pydata(verts, [], faces) + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + verts, faces = make_knot(self.objecttype, self.resolution) + mesh = bpy.data.meshes.new('TorusKnot') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + + obj.data["TorusKnot"] = True + obj.data["change"] = False + for prm in TorusKnotParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + verts, faces = make_knot(self.objecttype, self.resolution) + mesh = bpy.data.meshes.new('TorusKnot') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def TorusKnotParameters(): + TorusKnotParameters = [ + "resolution", + "objecttype", + ] + return TorusKnotParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_triangles.py b/extensions/blender_org/extra_mesh_objects/add_mesh_triangles.py new file mode 100644 index 0000000..c2068b4 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_triangles.py @@ -0,0 +1,313 @@ +# SPDX-FileCopyrightText: 2017-2023 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +""" +This script provides a triangle mesh primitive +and a toolbar menu to further specify settings +""" + +import math +import bpy +from mathutils import Vector +from bpy.types import Operator +from bpy.props import ( + BoolProperty, + EnumProperty, + FloatProperty, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + + +def checkEditMode(): + # Check if we are in edit mode + # Returns: 1 if True + # 0 if False + if (bpy.context.active_object.mode == 'EDIT'): + return 1 + return 0 + + +def exitEditMode(): + # Check if we are in edit mode (cuz we don't want this when creating a new Mesh) + # If we are then toggle back to object mode + # Check if there are active objects + if bpy.context.active_object is not None: + # Only the active object should be in edit mode + if (bpy.context.active_object.mode == 'EDIT'): + bpy.ops.object.editmode_toggle() + + +class MakeTriangle(Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.make_triangle" + bl_label = "Add Triangle" + bl_description = "Construct different types of Triangle Meshes" + bl_options = {"REGISTER", "UNDO"} + + nothing = 0 + Ya = 0.0 + Xb = 0.0 + Xc = 0.0 + Vertices = [] + Faces = [] + + triangleTypeList = [ + ('ISOSCELES', "Isosceles", "Two equal sides", 0), + ('EQUILATERAL', "Equilateral", "Three equal sides and angles (60°)", 1), + ('ISOSCELESRIGHTANGLE', "Isosceles right angled", "90° angle and two equal sides", 2), + ('SCALENERIGHTANGLE', "Scalene right angled", "90° angle, no equal sides", 3) + ] + triangleFaceList = [ + ('DEFAULT', "Triangle", "1 Triangle face", 0), + ('TRIANGLES', "3 Triangles", "4 Vertices & 3 Triangle faces", 1), + ('QUADS', "3 Quads", "7 Vertices & 3 Quad faces", 2), + ('SAFEQUADS', "6 Quads", "12 Vertices & 6 Quad faces", 3) + ] + + # add definitions for some manipulation buttons + flipX: BoolProperty( + name="Flip X sign", + description="Draw on the other side of the X axis (Mirror on Y axis)", + default=False + ) + flipY: BoolProperty( + name="Flip Y sign", + description="Draw on the other side of the Y axis (Mirror on X axis)", + default=False + ) + scale: FloatProperty( + name="Scale", + description="Triangle scale", + default=1.0, + min=1.0 + ) + triangleType: EnumProperty( + items=triangleTypeList, + name="Type", + description="Triangle Type" + ) + triangleFace: EnumProperty( + items=triangleFaceList, + name="Face Types", + description="Triangle Face Types" + ) + at_3Dcursor: BoolProperty( + name="Use 3D Cursor", + description="Draw the triangle where the 3D cursor is", + default=True + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + col = layout.column() + col.prop(self, "triangleType", text="Type") + col.prop(self, "triangleFace", text="Fill Type") + col.prop(self, "scale") + col.separator() + row = col.row(heading='At') + row.prop(self, "at_3Dcursor", text="3D Cursor") + col.separator() + row = col.row(heading='Flip') + row.prop(self, "flipX", text='X') + col.prop(self, "flipY", text='Y') + col.separator() + draw_transform_props(self, col) + + def drawBasicTriangleShape(self): + # set everything to 0 + Xb = Xc = 0.0 + Ya = 0.0 + + scale = self.scale + Xsign = -1 if self.flipX else 1 + Ysign = -1 if self.flipY else 1 + + # Isosceles (2 equal sides) + if (self.triangleType == 'ISOSCELES'): + # below a simple triangle containing 2 triangles with 1:2 side ratio + Ya = (1 * Ysign * scale) + A = Vector([0.0, Ya, 0.0]) + Xb = (0.5 * Xsign * scale) + B = Vector([Xb, 0.0, 0.0]) + Xc = (-0.5 * Xsign * scale) + C = Vector([Xc, 0.0, 0.0]) + + self.Ya = Ya + self.Xb = Xb + self.Xc = Xc + self.Vertices = [A, B, C, ] + + return True + + # Equilateral (all sides equal) + if (self.triangleType == 'EQUILATERAL'): + Ya = (math.sqrt(0.75) * Ysign * scale) + A = Vector([0.0, Ya, 0.0]) + Xb = (0.5 * Xsign * scale) + B = Vector([Xb, 0.0, 0.0]) + Xc = (-0.5 * Xsign * scale) + C = Vector([Xc, 0.0, 0.0]) + + self.Ya = Ya + self.Xb = Xb + self.Xc = Xc + self.Vertices = [A, B, C, ] + + return True + + # Isosceles right angled (1, 1, sqrt(2)) + if (self.triangleType == 'ISOSCELESRIGHTANGLE'): + Ya = (1 * Ysign * scale) + A = Vector([0.0, Ya, 0.0]) + Xb = 0.0 + B = Vector([Xb, 0.0, 0.0]) + Xc = (1 * Xsign * scale) + C = Vector([Xc, 0.0, 0.0]) + + self.Ya = Ya + self.Xb = Xb + self.Xc = Xc + self.Vertices = [A, B, C, ] + return True + + # Scalene right angled (3, 4, 5) + if (self.triangleType == 'SCALENERIGHTANGLE'): + Ya = (1 * Ysign * scale) + A = Vector([0.0, Ya, 0.0]) + Xb = 0 + B = Vector([Xb, 0.0, 0.0]) + Xc = (0.75 * Xsign * scale) + C = Vector([Xc, 0.0, 0.0]) + + self.Ya = Ya + self.Xb = Xb + self.Xc = Xc + self.Vertices = [A, B, C, ] + return True + + return False + + def addFaces(self, fType=None): + Ya = self.Ya + Xb = self.Xb + Xc = self.Xc + + if (self.triangleFace == 'DEFAULT'): + self.Faces = [[0, 1, 2]] + return True + + if (self.triangleFace == 'TRIANGLES'): + A = Vector([0.0, Ya, 0.0]) + B = Vector([Xb, 0.0, 0.0]) + C = Vector([Xc, 0.0, 0.0]) + D = Vector([((A.x + B.x + C.x) / 3), ((A.y + B.y + C.y) / 3), ((A.z + B.z + C.z) / 3)]) + + self.Vertices = [A, B, C, D, ] + self.Faces = [[0, 1, 3], [1, 2, 3], [2, 0, 3]] + return True + + if (self.triangleFace == 'QUADS'): + A = Vector([0.0, Ya, 0.0]) + B = Vector([Xb, 0.0, 0.0]) + C = Vector([Xc, 0.0, 0.0]) + D = Vector([((A.x + B.x + C.x) / 3), ((A.y + B.y + C.y) / 3), ((A.z + B.z + C.z) / 3)]) + AB = A.lerp(B, 0.5) + AC = A.lerp(C, 0.5) + BC = B.lerp(C, 0.5) + + self.Vertices = [A, AB, B, BC, C, AC, D, ] + self.Faces = [[0, 1, 6, 5], [1, 2, 3, 6], [3, 4, 5, 6]] + return True + + if (self.triangleFace == 'SAFEQUADS'): + A = Vector([0.0, Ya, 0.0]) + B = Vector([Xb, 0.0, 0.0]) + C = Vector([Xc, 0.0, 0.0]) + D = Vector([((A.x + B.x + C.x) / 3), ((A.y + B.y + C.y) / 3), ((A.z + B.z + C.z) / 3)]) + E = A.lerp(D, 0.5) + AB = A.lerp(B, 0.5) + AC = A.lerp(C, 0.5) + BC = B.lerp(C, 0.5) + AAB = AB.lerp(A, 0.5) + AAC = AC.lerp(A, 0.5) + BBA = AB.lerp(B, 0.5) + BBC = BC.lerp(B, 0.5) + BCC = BC.lerp(C, 0.5) + CCA = AC.lerp(C, 0.5) + + self.Vertices = [A, AAB, BBA, B, BBC, BC, BCC, C, CCA, AAC, D, E, ] + self.Faces = [[0, 1, 11, 9], [1, 2, 10, 11], [2, 3, 4, 10], + [4, 5, 6, 10], [6, 7, 8, 10], [8, 9, 11, 10]] + return True + + return False + + def action_common(self, context): + # definitions: + # a triangle consists of 3 points: A, B, C + # a 'safer' subdividable triangle consists of 4 points: A, B, C, D + # a subdivide friendly triangle consists of 7 points: A, B, C, D, AB, AC, BC + # a truly subdivide friendly triangle consists of (3 x 4 = )12 points: + # A, B, C, D, E, BC, AAB, AAC, BBA, BBC, BCC, CCA + + BasicShapeCreated = False + ShapeFacesCreated = False + go = 0 + + # + # call the functions for creating the triangles and test if successful + # + BasicShapeCreated = self.drawBasicTriangleShape() + if (BasicShapeCreated): + ShapeFacesCreated = self.addFaces() + if ShapeFacesCreated: + go = 1 + + if (go == 1): + NewMesh = bpy.data.meshes.new("Triangle") + NewMesh.from_pydata(self.Vertices, [], self.Faces) + + NewMesh.update() + NewObj = bpy.data.objects.new("Triangle", NewMesh) + context.collection.objects.link(NewObj) + + # before doing the deselect make sure edit mode isn't active + exitEditMode() + bpy.ops.object.select_all(action="DESELECT") + NewObj.select_set(True) + context.view_layer.objects.active = NewObj + + if self.at_3Dcursor is True: + # we'll need to be sure there is actually an object selected + if NewObj.select_get() is True: + # we also have to check if we're considered to be in 3D View (view3d) + if bpy.ops.view3d.snap_selected_to_cursor.poll() is True: + bpy.ops.view3d.snap_selected_to_cursor() + else: + # as we weren't considered to be in 3D View + # the object couldn't be moved to the 3D cursor + # so to avoid confusion we change the at_3Dcursor boolean to false + self.at_3Dcursor = False + + else: + self.report({'WARNING'}, + "Triangle could not be completed. (See Console for more Info)") + + print("\n[Add Mesh Extra Objects]\n\nModule: add_mesh_triangle") + print("Triangle type: %s\n" % self.triangleType, + "Face type: %s\n" % self.triangleFace, + "Ya: %s, Xb: %s, Xc: %s\n" % (self.Ya, self.Xb, self.Xc), + "Vertices: %s\n" % self.Vertices, + "Faces: %s\n" % self.Faces) + + def execute(self, context): + self.action_common(context) + return {"FINISHED"} + + def invoke(self, context, event): + self.action_common(context) + return {"FINISHED"} diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_twisted_torus.py b/extensions/blender_org/extra_mesh_objects/add_mesh_twisted_torus.py new file mode 100644 index 0000000..9aecf44 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_twisted_torus.py @@ -0,0 +1,327 @@ +# SPDX-FileCopyrightText: 2010-2022 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Author: Paulo_Gomes + +import bpy +from mathutils import Quaternion, Vector +from math import cos, sin, pi +from bpy.props import ( + FloatProperty, + IntProperty, + BoolProperty, + EnumProperty, + ) +from bpy_extras import object_utils +from .interface import draw_transform_props + + +# Create a new mesh (object) from verts/edges/faces +# verts/edges/faces ... List of vertices/edges/faces for the +# new mesh (as used in from_pydata) +# name ... Name of the new mesh (& object) + +def create_mesh_object(context, verts, edges, faces, name): + + # Create new mesh + mesh = bpy.data.meshes.new(name) + + # Make a mesh from a list of verts/edges/faces + mesh.from_pydata(verts, edges, faces) + + # Update mesh geometry after adding stuff + mesh.update() + + from bpy_extras import object_utils + return object_utils.object_data_add(context, mesh, operator=None) + + +# A very simple "bridge" tool + +def createFaces(vertIdx1, vertIdx2, closed=False, flipped=False): + faces = [] + + if not vertIdx1 or not vertIdx2: + return None + + if len(vertIdx1) < 2 and len(vertIdx2) < 2: + return None + + fan = False + if (len(vertIdx1) != len(vertIdx2)): + if (len(vertIdx1) == 1 and len(vertIdx2) > 1): + fan = True + else: + return None + + total = len(vertIdx2) + + if closed: + # Bridge the start with the end + if flipped: + face = [ + vertIdx1[0], + vertIdx2[0], + vertIdx2[total - 1]] + if not fan: + face.append(vertIdx1[total - 1]) + faces.append(face) + + else: + face = [vertIdx2[0], vertIdx1[0]] + if not fan: + face.append(vertIdx1[total - 1]) + face.append(vertIdx2[total - 1]) + faces.append(face) + + # Bridge the rest of the faces + for num in range(total - 1): + if flipped: + if fan: + face = [vertIdx2[num], vertIdx1[0], vertIdx2[num + 1]] + else: + face = [vertIdx2[num], vertIdx1[num], + vertIdx1[num + 1], vertIdx2[num + 1]] + faces.append(face) + else: + if fan: + face = [vertIdx1[0], vertIdx2[num], vertIdx2[num + 1]] + else: + face = [vertIdx1[num], vertIdx2[num], + vertIdx2[num + 1], vertIdx1[num + 1]] + faces.append(face) + + return faces + + +def add_twisted_torus(major_rad, minor_rad, major_seg, minor_seg, twists): + PI_2 = pi * 2.0 + z_axis = (0.0, 0.0, 1.0) + + verts = [] + faces = [] + + edgeloop_prev = [] + for major_index in range(major_seg): + quat = Quaternion(z_axis, (major_index / major_seg) * PI_2) + rot_twists = PI_2 * major_index / major_seg * twists + + edgeloop = [] + + # Create section ring + for minor_index in range(minor_seg): + angle = (PI_2 * minor_index / minor_seg) + rot_twists + + vec = Vector(( + major_rad + (cos(angle) * minor_rad), + 0.0, + sin(angle) * minor_rad)) + vec = quat @ vec + + edgeloop.append(len(verts)) + verts.append(vec) + + # Remember very first edgeloop + if major_index == 0: + edgeloop_first = edgeloop + + # Bridge last with current ring + if edgeloop_prev: + f = createFaces(edgeloop_prev, edgeloop, closed=True) + faces.extend(f) + + edgeloop_prev = edgeloop + + # Bridge first and last ring + f = createFaces(edgeloop_prev, edgeloop_first, closed=True) + faces.extend(f) + + return verts, faces + + +class AddTwistedTorus(bpy.types.Operator, object_utils.AddObjectHelper): + bl_idname = "mesh.primitive_twisted_torus_add" + bl_label = "Add Twisted Torus" + bl_description = "Construct a twisted torus mesh" + bl_options = {'REGISTER', 'UNDO', 'PRESET'} + + TwistedTorus : BoolProperty(name = "TwistedTorus", + default = True, + description = "TwistedTorus") + change : BoolProperty(name = "Change", + default = False, + description = "change TwistedTorus") + + + method: EnumProperty( + name='Method', + description='Method for determining the size and thickness of the torus', + items=( + ('MAJOR-MINOR', 'Major / Minor', 'Uses the major radius for the overall size and the minor for the thickness'), + ('INT-EXT', 'Interior / Exterior', 'Uses the absolute size of the inner and outer circles to determine the size and thickness'), + ), + default='MAJOR-MINOR', + ) + major_radius: FloatProperty( + name="Major Radius", + description="Radius from the origin to the" + " center of the cross section", + min=0.01, + max=100.0, + default=1.0 + ) + minor_radius: FloatProperty( + name="Minor Radius", + description="Radius of the torus' cross section", + min=0.01, + max=100.0, + default=0.25 + ) + major_segments: IntProperty( + name="Major Segments", + description="Number of segments for the main ring of the torus", + min=3, + max=256, + default=48 + ) + minor_segments: IntProperty( + name="Minor Segments", + description="Number of segments for the minor ring of the torus", + min=3, + max=256, + default=12 + ) + twists: IntProperty( + name="Twists", + description="Number of twists of the torus", + min=0, + max=256, + default=1 + ) + abso_major_rad: FloatProperty( + name="Exterior Radius", + description="Total Exterior Radius of the torus", + min=0.01, + max=100.0, + default=1.0 + ) + abso_minor_rad: FloatProperty( + name="Inside Radius", + description="Total Interior Radius of the torus", + min=0.01, + max=100.0, + default=0.5 + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + layout.separator() + layout.prop(self, 'method', text='Dimensions Mode') + col = layout.column(align=True) + if self.method == 'MAJOR-MINOR': + col.prop(self, 'major_radius', text='Radius Major') + col.prop(self, 'minor_radius', text='Minor') + else: + col.prop(self, 'abso_major_rad', text='Radius Exterior') + col.prop(self, 'abso_minor_rad', text='Interior') + col = layout.column(align=True) + col.prop(self, 'major_segments', text='Segments Major') + col.prop(self, 'minor_segments', text='Minor') + layout.prop(self, 'twists', expand=True) + + if self.change == False: + draw_transform_props(self, layout) + + def execute(self, context): + # turn off 'Enter Edit Mode' + use_enter_edit_mode = bpy.context.preferences.edit.use_enter_edit_mode + bpy.context.preferences.edit.use_enter_edit_mode = False + + if self.method == 'INT-EXT': + extra_helper = (self.abso_major_rad - self.abso_minor_rad) * 0.5 + self.major_radius = self.abso_minor_rad + extra_helper + self.minor_radius = extra_helper + + if bpy.context.mode == "OBJECT": + if context.selected_objects != [] and context.active_object and \ + (context.active_object.data is not None) and ('TwistedTorus' in context.active_object.data.keys()) and \ + (self.change == True): + obj = context.active_object + oldmesh = obj.data + oldmeshname = obj.data.name + verts, faces = add_twisted_torus( + self.major_radius, + self.minor_radius, + self.major_segments, + self.minor_segments, + self.twists + ) + mesh = bpy.data.meshes.new('TwistedTorus') + mesh.from_pydata(verts, [], faces) + obj.data = mesh + for material in oldmesh.materials: + obj.data.materials.append(material) + bpy.data.meshes.remove(oldmesh) + obj.data.name = oldmeshname + else: + verts, faces = add_twisted_torus( + self.major_radius, + self.minor_radius, + self.major_segments, + self.minor_segments, + self.twists + ) + mesh = bpy.data.meshes.new('TwistedTorus') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + + obj.data["TwistedTorus"] = True + obj.data["change"] = False + for prm in TwistedTorusParameters(): + obj.data[prm] = getattr(self, prm) + + if bpy.context.mode == "EDIT_MESH": + active_object = context.active_object + name_active_object = active_object.name + bpy.ops.object.mode_set(mode='OBJECT') + verts, faces = add_twisted_torus( + self.major_radius, + self.minor_radius, + self.major_segments, + self.minor_segments, + self.twists + ) + mesh = bpy.data.meshes.new('TwistedTorus') + mesh.from_pydata(verts, [], faces) + obj = object_utils.object_data_add(context, mesh, operator=self) + obj.select_set(True) + active_object.select_set(True) + bpy.context.view_layer.objects.active = active_object + bpy.ops.object.join() + context.active_object.name = name_active_object + bpy.ops.object.mode_set(mode='EDIT') + + if use_enter_edit_mode: + bpy.ops.object.mode_set(mode = 'EDIT') + + # restore pre operator state + bpy.context.preferences.edit.use_enter_edit_mode = use_enter_edit_mode + + return {'FINISHED'} + +def TwistedTorusParameters(): + TwistedTorusParameters = [ + "major_radius", + "minor_radius", + "major_segments", + "minor_segments", + "twists", + "method", + "abso_major_rad", + "abso_minor_rad", + ] + return TwistedTorusParameters diff --git a/extensions/blender_org/extra_mesh_objects/add_mesh_vertex.py b/extensions/blender_org/extra_mesh_objects/add_mesh_vertex.py new file mode 100644 index 0000000..361c4ae --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/add_mesh_vertex.py @@ -0,0 +1,144 @@ +# SPDX-FileCopyrightText: 2015-2023 Blender Foundation +# +# SPDX-License-Identifier: GPL-2.0-or-later + +# Originals by meta-androcto, Pablo Vazquez, Liero, Richard Wilks + +import bpy +from bpy.types import Operator +from bpy_extras import object_utils + + +def object_origin(width, height, depth): + """ + This function takes inputs and returns vertex and face arrays. + no actual mesh data creation is done here. + """ + verts = [(+0.0, +0.0, +0.0)] + faces = [] + + # apply size + for i, v in enumerate(verts): + verts[i] = v[0] * width, v[1] * depth, v[2] * height + + return verts, faces + + +class AddVert(Operator): + bl_idname = "mesh.primitive_vert_add" + bl_label = "Single Vert" + bl_description = "Add a Single Vertice to Edit Mode" + bl_options = {'REGISTER', 'UNDO'} + + def execute(self, context): + mesh = bpy.data.meshes.new("Vert") + mesh.vertices.add(1) + + object_utils.object_data_add(context, mesh, operator=None) + bpy.ops.object.mode_set(mode='EDIT') + + return {'FINISHED'} + + +class AddEmptyVert(Operator): + bl_idname = "mesh.primitive_emptyvert_add" + bl_label = "Empty Object Origin" + bl_description = "Add an Object Origin to Edit Mode" + bl_options = {'REGISTER', 'UNDO'} + + def execute(self, context): + mesh = bpy.data.meshes.new("Vert") + mesh.vertices.add(1) + + object_utils.object_data_add(context, mesh, operator=None) + bpy.ops.object.mode_set(mode='EDIT') + bpy.ops.mesh.delete(type='VERT') + + return {'FINISHED'} + + +def Add_Symmetrical_Empty(): + + bpy.ops.mesh.primitive_plane_add(enter_editmode=True) + + sempty = bpy.context.object + sempty.name = "SymmEmpty" + + # check if we have a mirror modifier, otherwise add + if not any(mod.type == 'MIRROR' for mod in sempty.modifiers): + bpy.ops.object.modifier_add(type='MIRROR') + + # Delete all! + bpy.ops.mesh.select_all(action='TOGGLE') + bpy.ops.mesh.select_all(action='TOGGLE') + bpy.ops.mesh.delete(type='VERT') + + +def Add_Symmetrical_Vert(): + + bpy.ops.mesh.primitive_plane_add(enter_editmode=True) + + sempty = bpy.context.object + sempty.name = "SymmVert" + + # check if we have a mirror modifier, otherwise add + if not any(mod.type == 'MIRROR' for mod in sempty.modifiers): + bpy.ops.object.modifier_add(type='MIRROR') + + # Delete all! + bpy.ops.mesh.select_all(action='TOGGLE') + bpy.ops.mesh.select_all(action='TOGGLE') + bpy.ops.mesh.merge(type='CENTER') + + +class AddSymmetricalEmpty(Operator): + bl_idname = "mesh.primitive_symmetrical_empty_add" + bl_label = "Add Symmetrical Object Origin" + bl_description = "Object Origin with a Mirror Modifier for symmetrical modeling" + bl_options = {'UNDO'} + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + mirror = next(mod for mod in bpy.context.object.modifiers + if mod.type == 'MIRROR') + + layout.prop(mirror, "use_clip", text="Use Clipping") + + layout.label(text="Mirror Axis") + col = layout.column(align=True) + col.prop(mirror, "use_axis") + col.prop(mirror, "use_axis") + col.prop(mirror, "use_axis") + + def execute(self, context): + Add_Symmetrical_Empty() + + return {'FINISHED'} + + +class AddSymmetricalVert(Operator): + bl_idname = "mesh.primitive_symmetrical_vert_add" + bl_label = "Add Symmetrical Origin & Vert" + bl_description = "Object Origin with a Mirror Modifier for symmetrical modeling" + bl_options = {'UNDO'} + + def draw(self, context): + layout = self.layout + mirror = next(mod for mod in bpy.context.object.modifiers + if mod.type == 'MIRROR') + + layout.prop(mirror, "use_clip", text="Use Clipping") + + layout.label(text="Mirror Axis") + col = layout.column(align=True) + col.prop(mirror, "use_axis") + col.prop(mirror, "use_axis") + col.prop(mirror, "use_axis") + + def execute(self, context): + Add_Symmetrical_Vert() + + return {'FINISHED'} diff --git a/extensions/blender_org/extra_mesh_objects/blender_manifest.toml b/extensions/blender_org/extra_mesh_objects/blender_manifest.toml new file mode 100644 index 0000000..ce7a918 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/blender_manifest.toml @@ -0,0 +1,12 @@ +schema_version = "1.0.0" +id = "extra_mesh_objects" +name = "Extra Mesh Objects" +version = "0.4.0" +tagline = "Add extra mesh object types" +maintainer = "Community" +type = "add-on" +tags = ["Add Mesh"] +blender_version_min = "4.2.0" +license = ["SPDX:GPL-3.0-or-later"] +website = "https://projects.blender.org/extensions/add_mesh_extra_objects" +copyright = ["2024 Multiple Authors"] diff --git a/extensions/blender_org/extra_mesh_objects/interface.py b/extensions/blender_org/extra_mesh_objects/interface.py new file mode 100644 index 0000000..2f243eb --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/interface.py @@ -0,0 +1,9 @@ +import bpy + +def draw_transform_props(self, layout): + if hasattr(self, 'align'): + layout.prop(self, 'align', expand=False) + if hasattr(self, 'location'): + layout.prop(self, 'location', expand=True) + if hasattr(self, 'rotation'): + layout.prop(self, 'rotation', expand=True) \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/preferences.py b/extensions/blender_org/extra_mesh_objects/preferences.py new file mode 100644 index 0000000..1311184 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/preferences.py @@ -0,0 +1,58 @@ +import bpy + + +class AddMeshExtraObjectsPreferences(bpy.types.AddonPreferences): + bl_idname = __package__ + + show_round_cube: bpy.props.BoolProperty( + name = "Round Cube", + default = True, + ) + show_single_vert: bpy.props.BoolProperty( + name = "Single Vert Menu", + default = True, + ) + show_torus_objects: bpy.props.BoolProperty( + name = "Torus Objects Menu", + default = True, + ) + show_math_functions: bpy.props.BoolProperty( + name = "Math Functions Menu", + default = True, + ) + show_gears: bpy.props.BoolProperty( + name = "Gears Menu", + default = True, + ) + show_pipe_joints: bpy.props.BoolProperty( + name = "Pipe Joints Menu", + default = True, + ) + show_gemstones: bpy.props.BoolProperty( + name = "Gemstones Menu", + default = True, + ) + show_extras: bpy.props.BoolProperty( + name = "Extras Menu", + default = True, + ) + show_parent_to_empty: bpy.props.BoolProperty( + name = "Parent to Empty", + default = True, + ) + + def draw(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + col = layout.column(heading="Filter Add Menu Items") + col.prop(self, "show_round_cube") + col.prop(self, "show_single_vert") + col.prop(self, "show_torus_objects") + col.prop(self, "show_math_functions") + col.prop(self, "show_gears") + col.prop(self, "show_pipe_joints") + col.prop(self, "show_gemstones") + col.prop(self, "show_extras") + col.prop(self, "show_parent_to_empty") diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Capsule.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Capsule.py new file mode 100644 index 0000000..c758377 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Capsule.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.radius = 0.5 +op.arc_div = 8 +op.lin_div = 0 +op.size = (0.0, 0.0, 3.0) +op.div_type = 'CORNERS' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Clay_Bar.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Clay_Bar.py new file mode 100644 index 0000000..421fc8d --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Clay_Bar.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.radius = 0.4 +op.arc_div = 8 +op.lin_div = 0 +op.size = (1.5, 3.0, 1.0) +op.div_type = 'ALL' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Cube.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Cube.py new file mode 100644 index 0000000..4b30b5b --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Cube.py @@ -0,0 +1,9 @@ +import bpy +op = bpy.context.active_operator + +op.radius = 0.0 +op.arc_div = 1 +op.lin_div = 0 +op.size = (2.0, 2.0, 2.0) +op.div_type = 'CORNERS' +op.odd_axis_align = False diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Grid_3D.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Grid_3D.py new file mode 100644 index 0000000..248c7f2 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Grid_3D.py @@ -0,0 +1,7 @@ +import bpy +op = bpy.context.active_operator + +op.radius = 0 +op.size = (2, 2, 2) +op.lin_div = 5 +op.div_type = 'ALL' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Octahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Octahedron.py new file mode 100644 index 0000000..4685cfc --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Octahedron.py @@ -0,0 +1,9 @@ +import bpy +op = bpy.context.active_operator + +op.radius = 1.0 +op.arc_div = 1 +op.lin_div = 0 +op.size = (0.0, 0.0, 0.0) +op.div_type = 'CORNERS' +op.odd_axis_align = True diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Quadsphere.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Quadsphere.py new file mode 100644 index 0000000..0a7ad4e --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Quadsphere.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.radius = 1.0 +op.arc_div = 8 +op.lin_div = 0 +op.size = (0.0, 0.0, 0.0) +op.div_type = 'CORNERS' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Rounded_Cube.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Rounded_Cube.py new file mode 100644 index 0000000..b1660b8 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_round_cube_add/Rounded_Cube.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.radius = 0.25 +op.arc_div = 8 +op.lin_div = 0 +op.size = (2.0, 2.0, 2.0) +op.div_type = 'CORNERS' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Cuboctahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Cuboctahedron.py new file mode 100644 index 0000000..874f3a4 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Cuboctahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "4" +op.vTrunc = 1 +op.eTrunc = 1 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Deltoidal_Hexecontahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Deltoidal_Hexecontahedron.py new file mode 100644 index 0000000..66b8ddd --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Deltoidal_Hexecontahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "12" +op.vTrunc = 1.1338 +op.eTrunc = 1 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Deltoidal_Icositetrahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Deltoidal_Icositetrahedron.py new file mode 100644 index 0000000..57b98ce --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Deltoidal_Icositetrahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "6" +op.vTrunc = 1.0938 +op.eTrunc = 1 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Disdyakis_Dodecahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Disdyakis_Dodecahedron.py new file mode 100644 index 0000000..6684433 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Disdyakis_Dodecahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "6" +op.vTrunc = 1.0572 +op.eTrunc = 0.585786 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Disdyakis_Triacontahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Disdyakis_Triacontahedron.py new file mode 100644 index 0000000..89cbd4b --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Disdyakis_Triacontahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "20" +op.vTrunc = 0.921 +op.eTrunc = 0.553 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Icosidodecahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Icosidodecahedron.py new file mode 100644 index 0000000..4296fc6 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Icosidodecahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "12" +op.vTrunc = 1 +op.eTrunc = 0 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentagonal_Hexecontahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentagonal_Hexecontahedron.py new file mode 100644 index 0000000..80d617b --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentagonal_Hexecontahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "12" +op.vTrunc = 1.1235 +op.eTrunc = 0.68 +op.dual = 1 +op.snub = "Left" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentagonal_Icositetrahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentagonal_Icositetrahedron.py new file mode 100644 index 0000000..c8ced32 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentagonal_Icositetrahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "6" +op.vTrunc = 1.0875 +op.eTrunc = 0.704 +op.dual = 1 +op.snub = "Left" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentakis_Dodecahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentakis_Dodecahedron.py new file mode 100644 index 0000000..a26f8f0 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Pentakis_Dodecahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "20" +op.vTrunc = 2 / 3 +op.eTrunc = 0 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombic_Dodecahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombic_Dodecahedron.py new file mode 100644 index 0000000..336091e --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombic_Dodecahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "4" +op.vTrunc = 1 +op.eTrunc = 1 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombic_Triacontahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombic_Triacontahedron.py new file mode 100644 index 0000000..cee4fb6 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombic_Triacontahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "12" +op.vTrunc = 1 +op.eTrunc = 0 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombicosidodecahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombicosidodecahedron.py new file mode 100644 index 0000000..52e8537 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombicosidodecahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "12" +op.vTrunc = 1.1338 +op.eTrunc = 1 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombicuboctahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombicuboctahedron.py new file mode 100644 index 0000000..6869313 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Rhombicuboctahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "6" +op.vTrunc = 1.0938 +op.eTrunc = 1 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Snub_Cube.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Snub_Cube.py new file mode 100644 index 0000000..f25e2c4 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Snub_Cube.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "6" +op.vTrunc = 1.0875 +op.eTrunc = 0.704 +op.dual = 0 +op.snub = "Left" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Snub_Dodecahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Snub_Dodecahedron.py new file mode 100644 index 0000000..9131c13 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Snub_Dodecahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "12" +op.vTrunc = 1.1235 +op.eTrunc = 0.68 +op.dual = 0 +op.snub = "Left" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Tetrakis_Hexahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Tetrakis_Hexahedron.py new file mode 100644 index 0000000..6571b83 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Tetrakis_Hexahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "8" +op.vTrunc = 2 / 3 +op.eTrunc = 0 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Icosahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Icosahedron.py new file mode 100644 index 0000000..e80ac18 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Icosahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "12" +op.vTrunc = 2 / 3 +op.eTrunc = 0 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Octahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Octahedron.py new file mode 100644 index 0000000..26a0dd3 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Octahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "6" +op.vTrunc = 2/3 +op.eTrunc = 0 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Tetrahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Tetrahedron.py new file mode 100644 index 0000000..6c40f6e --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Triakis_Tetrahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "4" +op.vTrunc = 2 / 3 +op.eTrunc = 0 +op.dual = 1 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Cube.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Cube.py new file mode 100644 index 0000000..9f52a29 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Cube.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "6" +op.vTrunc = 2/3 +op.eTrunc = 0 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Cuboctahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Cuboctahedron.py new file mode 100644 index 0000000..48d4651 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Cuboctahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "6" +op.vTrunc = 1.0572 +op.eTrunc = 0.585786 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Dodecahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Dodecahedron.py new file mode 100644 index 0000000..8cc60a0 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Dodecahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "12" +op.vTrunc = 2 / 3 +op.eTrunc = 0 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Icosahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Icosahedron.py new file mode 100644 index 0000000..369fc91 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Icosahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "20" +op.vTrunc = 2 / 3 +op.eTrunc = 0 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Icosidodecahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Icosidodecahedron.py new file mode 100644 index 0000000..08c5142 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Icosidodecahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "20" +op.vTrunc = 0.921 +op.eTrunc = 0.553 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Octahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Octahedron.py new file mode 100644 index 0000000..e8710fe --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Octahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "8" +op.vTrunc = 2/3 +op.eTrunc = 0 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Tetrahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Tetrahedron.py new file mode 100644 index 0000000..a7415f8 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_solid_add/Truncated_Tetrahedron.py @@ -0,0 +1,8 @@ +import bpy +op = bpy.context.active_operator + +op.source = "4" +op.vTrunc = 2/3 +op.eTrunc = 0 +op.dual = 0 +op.snub = "None" \ No newline at end of file diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/bonbon.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/bonbon.py new file mode 100644 index 0000000..b464e76 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/bonbon.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'u' +op.y_eq = 'cos(u)*sin(v)' +op.z_eq = 'cos(u)*cos(v)' +op.range_u_min = 0.0 +op.range_u_max = 6.2831854820251465 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/boy.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/boy.py new file mode 100644 index 0000000..2537883 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/boy.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = '2/3* (cos(u)* cos(2*v) + sqrt(2)* sin(u)* cos(v))* cos(u) / (sqrt(2) - sin(2*u)* sin(3*v))' +op.y_eq = 'sqrt(2)* cos(u)* cos(u) / (sqrt(2) - sin(2*u)* sin(3*v))' +op.z_eq = '2/3* (cos(u)* sin(2*v) - sqrt(2)* sin(u)* sin(v))* cos(u) / (sqrt(2) - sin(2*u)* sin(3*v))' +op.range_u_min = 0.0 +op.range_u_max = 3.1415927410125732 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 3.1415927410125732 +op.range_v_step = 64 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/catalan.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/catalan.py new file mode 100644 index 0000000..8c87675 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/catalan.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'u-sin(u)*cosh(v)' +op.y_eq = '4*sin(1/2*u)*sinh(v/2)' +op.z_eq = '1-cos(u)*cosh(v)' +op.range_u_min = -3.1415927410125732 +op.range_u_max = 9.42477798461914 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = -2.0 +op.range_v_max = 2.0 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/catenoid.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/catenoid.py new file mode 100644 index 0000000..98e12ba --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/catenoid.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = '2*cosh(v/2)*cos(u)' +op.y_eq = 'v' +op.z_eq = '2*cosh(v/2)*sin(u)' +op.range_u_min = -3.1415927410125732 +op.range_u_max = 3.1415927410125732 +op.range_u_step = 32 +op.wrap_u = True +op.range_v_min = -3.1415927410125732 +op.range_v_max = 3.1415927410125732 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/clifford_torus.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/clifford_torus.py new file mode 100644 index 0000000..7e14f55 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/clifford_torus.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'cos(u+v)/(sqrt(2.)+cos(v-u))' +op.y_eq = 'sin(v-u)/(sqrt(2.)+cos(v-u))' +op.z_eq = 'sin(u+v)/(sqrt(2.)+cos(v-u))' +op.range_u_min = 0.0 +op.range_u_max = 3.140000104904175 +op.range_u_step = 8 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/cochlea.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/cochlea.py new file mode 100644 index 0000000..0e9ed68 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/cochlea.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'v*cos(u)' +op.y_eq = 'v*sin(u)' +op.z_eq = '0.4*u' +op.range_u_min = 0.0 +op.range_u_max = 12.566370964050293 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 2.0 +op.range_v_step = 32 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/cosinus.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/cosinus.py new file mode 100644 index 0000000..a8b3e5d --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/cosinus.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'u' +op.y_eq = 'sin(pi*((u)**2+(v)**2))/2' +op.z_eq = 'v' +op.range_u_min = -1.0 +op.range_u_max = 1.0 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = -1.0 +op.range_v_max = 1.0 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/dini.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/dini.py new file mode 100644 index 0000000..aef4591 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/dini.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'a*cos(u)*sin(v)' +op.y_eq = 'a*sin(u)*sin(v)' +op.z_eq = '(cos(v)+log(tan(v/2)+1e-2)) + b*u' +op.range_u_min = 0.0 +op.range_u_max = 12.566370964050293 +op.range_u_step = 128 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 2.0 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '1' +op.b_eq = '0.2' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/enneper.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/enneper.py new file mode 100644 index 0000000..ebeb4d7 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/enneper.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'u -u**3/3 + u*v**2' +op.y_eq = 'u**2 - v**2' +op.z_eq = 'v -v**3/3 + v*u**2' +op.range_u_min = -2.0 +op.range_u_max = 2.0 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = -2.0 +op.range_v_max = 2.0 +op.range_v_step = 32 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/helicoidal.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/helicoidal.py new file mode 100644 index 0000000..d6c4bf1 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/helicoidal.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'sinh(v)*sin(u)' +op.y_eq = '3*u' +op.z_eq = '-sinh(v)*cos(u)' +op.range_u_min = -3.1415927410125732 +op.range_u_max = 3.1415927410125732 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = -3.1415927410125732 +op.range_v_max = 3.1415927410125732 +op.range_v_step = 32 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/helix.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/helix.py new file mode 100644 index 0000000..ba22cac --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/helix.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = '(1-0.1*cos(v))*cos(u)' +op.y_eq = '0.1*(sin(v) + u/1.7 -10)' +op.z_eq = '(1-0.1*cos(v))*sin(u)' +op.range_u_min = 0.0 +op.range_u_max = 12.566370964050293 +op.range_u_step = 128 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/hexahedron.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/hexahedron.py new file mode 100644 index 0000000..d532eb6 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/hexahedron.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'cos(v)**3*cos(u)**3' +op.y_eq = 'sin(u)**3' +op.z_eq = 'sin(v)**3*cos(u)**3' +op.range_u_min = -1.2999999523162842 +op.range_u_max = 1.2999999523162842 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 32 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/hyperhelicoidal.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/hyperhelicoidal.py new file mode 100644 index 0000000..74feb2c --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/hyperhelicoidal.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = '(sinh(v)*cos(3*u))/(1+cosh(u)*cosh(v))' +op.y_eq = '(cosh(v)*sinh(u))/(1+cosh(u)*cosh(v))' +op.z_eq = '(sinh(v)*sin(3*u))/(1+cosh(u)*cosh(v))' +op.range_u_min = -3.1415927410125732 +op.range_u_max = 3.1415927410125732 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = -3.1415927410125732 +op.range_v_max = 3.1415927410125732 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/klein.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/klein.py new file mode 100644 index 0000000..cc568d7 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/klein.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = '(3*(1+sin(v)) + 2*(1-cos(v)/2)*cos(u))*cos(v)' +op.y_eq = '(4+2*(1-cos(v)/2)*cos(u))*sin(v)' +op.z_eq = '-2*(1-cos(v)/2)*sin(u)' +op.range_u_min = 0.0 +op.range_u_max = 6.2831854820251465 +op.range_u_step = 32 +op.wrap_u = True +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/moebius.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/moebius.py new file mode 100644 index 0000000..020ddbc --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/moebius.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'cos(v)+u*cos(v/2)*cos(v)' +op.y_eq = 'u*sin(v/2)' +op.z_eq = 'sin(v)+u*cos(v/2)*sin(v)' +op.range_u_min = -0.4000000059604645 +op.range_u_max = 0.4000000059604645 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 32 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/pseudo_catenoid.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/pseudo_catenoid.py new file mode 100644 index 0000000..b21df38 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/pseudo_catenoid.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = '2.2*(2*cosh(v/2)*cos(u)) ' +op.y_eq = '1.51166 * (2*cosh(v/2)*sin(u) * sin((2.2*(2*cosh(v/2)*cos(u)) - -11.0404)*2*pi*1/22.0513) + 1.8*(v) * cos((2.2*(2*cosh(v/2)*cos(u)) - -11.0404)*2*pi*1/22.0513)) ' +op.z_eq = '1.51166 * (2*cosh(v/2)*sin(u) * cos((2.2*(2*cosh(v/2)*cos(u)) - -11.0404)*2*pi*1/22.0513) - 1.8*(v) * sin((2.2*(2*cosh(v/2)*cos(u)) - -11.0404)*2*pi*1/22.0513)) ' +op.range_u_min = -3.1415927410125732 +op.range_u_max = 3.1415927410125732 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = -3.1415927410125732 +op.range_v_max = 3.1415927410125732 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/pseudosphere.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/pseudosphere.py new file mode 100644 index 0000000..2bcb373 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/pseudosphere.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'cos(u)*cos(v)+sin((sin(u)+1)*2*pi) ' +op.y_eq = '4*sin(u) ' +op.z_eq = 'cos(u)*sin(v)+cos((sin(u)+1)*2*pi) ' +op.range_u_min = -1.5707963705062866 +op.range_u_max = 1.5707963705062866 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/ridged_torus.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/ridged_torus.py new file mode 100644 index 0000000..96cddfc --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/ridged_torus.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'a*cos(u)+(b*sin(f*u)+c)*cos(u)*cos(v)' +op.y_eq = 'a*sin(u)+(b*sin(f*u)+c)*sin(u)*cos(v)' +op.z_eq = '(b*sin(f*u)+c)*sin(v)' +op.range_u_min = 0.0 +op.range_u_max = 6.2831854820251465 +op.range_u_step = 128 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 32 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '5' +op.b_eq = '0.6' +op.c_eq = '2' +op.f_eq = '10' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/shell.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/shell.py new file mode 100644 index 0000000..d2437bb --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/shell.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'cos(v)*(1+cos(u))*sin(v/8)' +op.y_eq = 'sin(u)*sin(v/8)+cos(v/8)*1.5' +op.z_eq = 'sin(v)*(1+cos(u))*sin(v/8)' +op.range_u_min = 0.0 +op.range_u_max = 6.2831854820251465 +op.range_u_step = 32 +op.wrap_u = True +op.range_v_min = 0.0 +op.range_v_max = 12.566370964050293 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/sine.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/sine.py new file mode 100644 index 0000000..d6b9fa5 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/sine.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'sin(u)' +op.y_eq = 'sin(v)' +op.z_eq = 'sin(u+v)' +op.range_u_min = 0.0 +op.range_u_max = 6.2831854820251465 +op.range_u_step = 128 +op.wrap_u = True +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 128 +op.wrap_v = True +op.close_v = True +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/snake.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/snake.py new file mode 100644 index 0000000..b2c4269 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/snake.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = '1.2*(1 -v/(2*pi))*cos(3*v)*(1 + cos(u)) + 3*cos(3*v)' +op.y_eq = '9*v/(2*pi) + 1.2*(1 - v/(2*pi))*sin(u)' +op.z_eq = '1.2*(1 -v/(2*pi))*sin(3*v)*(1 + cos(u)) + 3*sin(3*v)' +op.range_u_min = 0.0 +op.range_u_max = 6.2831854820251465 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 64 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/sterosphere.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/sterosphere.py new file mode 100644 index 0000000..366b81c --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/sterosphere.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = '2.*u/(u*u+v*v+1.)' +op.y_eq = '(u*u+v*v-1.)/(u*u+v*v+1.)' +op.z_eq = '2.*v/(u*u+v*v+1.)' +op.range_u_min = -2.0 +op.range_u_max = 2.0 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = -2.0 +op.range_v_max = 2.0 +op.range_v_step = 32 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/torus.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/torus.py new file mode 100644 index 0000000..82b5923 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/torus.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = '(1+0.5*cos(u))*cos(v)' +op.y_eq = '0.5*sin(u)' +op.z_eq = '(1+0.5*cos(u))*sin(v)' +op.range_u_min = 0.0 +op.range_u_max = 6.2831854820251465 +op.range_u_step = 32 +op.wrap_u = False +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 128 +op.wrap_v = False +op.close_v = False +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/twisted_torus.py b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/twisted_torus.py new file mode 100644 index 0000000..b94eff6 --- /dev/null +++ b/extensions/blender_org/extra_mesh_objects/presets/operator/mesh.primitive_xyz_function_surface/twisted_torus.py @@ -0,0 +1,22 @@ +import bpy +op = bpy.context.active_operator + +op.x_eq = 'cos(u)*(6-(5./4. + sin(3*v))*sin(v-3*u))' +op.y_eq = '(6-(5./4. + sin(3*v))*sin(v-3*u))*sin(u)' +op.z_eq = '-cos(v-3*u)*(5./4.+sin(3*v))' +op.range_u_min = 0.0 +op.range_u_max = 6.2831854820251465 +op.range_u_step = 128 +op.wrap_u = True +op.range_v_min = 0.0 +op.range_v_max = 6.2831854820251465 +op.range_v_step = 32 +op.wrap_v = True +op.close_v = True +op.n_eq = 1 +op.a_eq = '0' +op.b_eq = '0' +op.c_eq = '0' +op.f_eq = '0' +op.g_eq = '0' +op.h_eq = '0' diff --git a/scripts/addons/blender_kitsu/LICENSE b/extensions/blender_org/ik_fk_snapping_tool/LICENSE similarity index 100% rename from scripts/addons/blender_kitsu/LICENSE rename to extensions/blender_org/ik_fk_snapping_tool/LICENSE diff --git a/extensions/blender_org/ik_fk_snapping_tool/__init__.py b/extensions/blender_org/ik_fk_snapping_tool/__init__.py new file mode 100644 index 0000000..dfec13c --- /dev/null +++ b/extensions/blender_org/ik_fk_snapping_tool/__init__.py @@ -0,0 +1,50 @@ +# This file is part of IK-FK_Snapping_Tool. +# Copyright (C) Ravi Prathama 2024. +# +# This file was originally part of IK-FK-Snapping-for-Blender, +# licensed under the MIT License. It has been modified and +# is now licensed under the GPL 3.0 License. +# +# [ MIT License ] +# +# Copyright (c) 2022 Byron Mallett +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +#━━━━━━━━━━━━━━━━━━━━━━ +# Load Modules +#━━━━━━━━━━━━━━━━━━━━━━ + +if "load_modules" in locals(): + importlib.reload(load_modules) +else: + from . import load_modules + +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# Register & Unregister +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +def register(): + load_modules.register() + +def unregister(): + load_modules.unregister() + +if __name__ == "__main__": + register() \ No newline at end of file diff --git a/extensions/blender_org/ik_fk_snapping_tool/blender_manifest.toml b/extensions/blender_org/ik_fk_snapping_tool/blender_manifest.toml new file mode 100644 index 0000000..783b2da --- /dev/null +++ b/extensions/blender_org/ik_fk_snapping_tool/blender_manifest.toml @@ -0,0 +1,12 @@ +schema_version = "1.0.0" +id = "ik_fk_snapping_tool" +version = "3.0.3" +name = "IK-FK Snapping Tool" +tagline = "Tools to perform IK to FK and FK to IK snapping" +maintainer = "Endertainer007 " +type = "add-on" +website = "https://github.com/Endertainer/IK-FK_Snapping_Tool" +tags = ["Animation", "Rigging"] +blender_version_min = "4.2.0" +license = ["SPDX:GPL-3.0-or-later"] +copyright = ["2022 Byron Mallett", "2024 Ravi Prathama"] \ No newline at end of file diff --git a/extensions/blender_org/ik_fk_snapping_tool/load_modules.py b/extensions/blender_org/ik_fk_snapping_tool/load_modules.py new file mode 100644 index 0000000..0cc836b --- /dev/null +++ b/extensions/blender_org/ik_fk_snapping_tool/load_modules.py @@ -0,0 +1,34 @@ +import importlib + +#━━━━━━━━━━━━━━━━━━━━━━ +# Load Modules +#━━━━━━━━━━━━━━━━━━━━━━ + +if "bpy" in locals(): + importlib.reload(ui) + importlib.reload(operators) + importlib.reload(utilities) +else: + from . import ( + ui, + operators, + utilities + ) + +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# Register & Unregister +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +modules = ( + ui, + operators, + utilities +) + +def register(): + for mod in modules: + mod.register() + +def unregister(): + for mod in reversed(modules): + mod.unregister() \ No newline at end of file diff --git a/extensions/blender_org/ik_fk_snapping_tool/operators.py b/extensions/blender_org/ik_fk_snapping_tool/operators.py new file mode 100644 index 0000000..7918a30 --- /dev/null +++ b/extensions/blender_org/ik_fk_snapping_tool/operators.py @@ -0,0 +1,356 @@ +import bpy +import os +from bl_operators.presets import AddPresetBase +from bl_ui.utils import PresetPanel +from . import utilities + +#━━━━━━━━━━━━━━━━━━━ +# Operators +#━━━━━━━━━━━━━━━━━━━ + +# ---------------------------------------------- +# Operator for Opening Preset Directory +# ---------------------------------------------- + +class OpenPresetDirectoryOperator(bpy.types.Operator): + bl_idname = "opr.open_preset_directory" + bl_label = "Open Preset Directory" + + def execute(self, context): + # Get the list of preset paths + preset_paths = bpy.utils.preset_paths("IK-FK_Snapping_Tool") + # Select the first path from the list (usually the user's preset directory) + if preset_paths: + preset_path = preset_paths[0] + # Open the directory + bpy.ops.wm.path_open(filepath=preset_path) + else: + self.report({'ERROR'}, "Preset directory not found") + return {'FINISHED'} + +# ---------------------------------- +# Operators for Preset Menu +# ---------------------------------- + +# --- Preset menu operator --- +class Preset_Menu(bpy.types.Menu): + bl_label = 'Preset Menu' + bl_idname = 'PRESET_MT_menu' + # Subdirectory within the preset folder to store limb presets + preset_subdir = 'IK-FK_Snapping_Tool' + # Operator to execute when a preset is selected from the menu + preset_operator = 'script.execute_preset' + # Use the default draw function for preset menus + draw = bpy.types.Menu.draw_preset + +# --- Preset panel operator --- +class PRESET_PT_Panel(PresetPanel, bpy.types.Panel): + bl_label = 'Preset panel' + # Subdirectory within the preset folder to store limb presets + preset_subdir = 'IK-FK_Snapping_Tool' + # Operator to execute when a preset is selected from the panel + preset_operator = 'script.execute_preset' + # Operator to add a new preset to the menu/panel + preset_add_operator = 'opr.presetadd' + +# ----------------------------------------------- +# Operators for Snapping Actions (Arm L) +# ----------------------------------------------- + +# --- Arm L IK to FK operator --- +class ArmL_IKtoFK(bpy.types.Operator): + bl_idname = 'opr.arml_ikfk' + bl_label = 'Snap to FK' + + def execute(self, context): + # Retrieve the names of the relevant bones from scene properties + bone_names = [ + context.scene.IK_Arm_Pole_Target_L, + context.scene.IK_Arm_Target_L, + context.scene.FK_Arm_End_L, + context.scene.IK_Arm_Pole_L, + context.scene.IK_Arm_Control_L, + context.scene.IK_Arm_End_L + ] + # Get the bone objects and perform error checking + bones = utilities.get_bones_with_check(context, bone_names) + if not bones: + # Report an error if any bone is missing or invalid + self.report({'ERROR'}, "Missing or invalid bone names for Arm L IK-FK snapping") + return {'CANCELLED'} + # Perform the IK to FK snapping using the retrieved bone objects + utilities.snap_IK_to_FK(*bones) + return {'FINISHED'} + +# --- Arm L FK to IK operator --- +class ArmL_FKtoIK(bpy.types.Operator): + bl_idname = 'opr.arml_fkik' + bl_label = 'Snap to IK' + + def execute(self, context): + # Retrieve the names of the relevant bones from scene properties + bone_names = [ + context.scene.IK_Arm_Upper_L, + context.scene.IK_Arm_Lower_L, + context.scene.IK_Arm_End_L, + context.scene.FK_Arm_Upper_L, + context.scene.FK_Arm_Lower_L, + context.scene.FK_Arm_End_L + ] + # Get the bone objects and perform error checking + bones = utilities.get_bones_with_check(context, bone_names) + if not bones: + # Report an error if any bone is missing or invalid + self.report({'ERROR'}, "Missing or invalid bone names for Arm L FK-IK snapping") + return {'CANCELLED'} + # Perform the IK to FK snapping using the retrieved bone objects + utilities.snap_FK_to_IK(*bones) + return {'FINISHED'} + +# ----------------------------------------------- +# Operators for Snapping Actions (Arm R) +# ----------------------------------------------- + +# --- Arm R IK to FK operator --- +class ArmR_IKtoFK(bpy.types.Operator): + bl_idname = 'opr.armr_ikfk' + bl_label = 'Snap to FK' + + def execute(self, context): + # Retrieve the names of the relevant bones from scene properties + bone_names = [ + context.scene.IK_Arm_Pole_Target_R, + context.scene.IK_Arm_Target_R, + context.scene.FK_Arm_End_R, + context.scene.IK_Arm_Pole_R, + context.scene.IK_Arm_Control_R, + context.scene.IK_Arm_End_R + ] + # Get the bone objects and perform error checking + bones = utilities.get_bones_with_check(context, bone_names) + if not bones: + # Report an error if any bone is missing or invalid + self.report({'ERROR'}, "Missing or invalid bone names for Arm R IK-FK snapping") + return {'CANCELLED'} + # Perform the IK to FK snapping using the retrieved bone objects + utilities.snap_IK_to_FK(*bones) + return {'FINISHED'} + +# --- Arm R FK to IK operator --- +class ArmR_FKtoIK(bpy.types.Operator): + bl_idname = 'opr.armr_fkik' + bl_label = 'Snap to IK' + + def execute(self, context): + # Retrieve the names of the relevant bones from scene properties + bone_names = [ + context.scene.IK_Arm_Upper_R, + context.scene.IK_Arm_Lower_R, + context.scene.IK_Arm_End_R, + context.scene.FK_Arm_Upper_R, + context.scene.FK_Arm_Lower_R, + context.scene.FK_Arm_End_R + ] + # Get the bone objects and perform error checking + bones = utilities.get_bones_with_check(context, bone_names) + if not bones: + # Report an error if any bone is missing or invalid + self.report({'ERROR'}, "Missing or invalid bone names for Arm R FK-IK snapping") + return {'CANCELLED'} + # Perform the IK to FK snapping using the retrieved bone objects + utilities.snap_FK_to_IK(*bones) + return {'FINISHED'} + +# ----------------------------------------------- +# Operators for Snapping Actions (Leg L) +# ----------------------------------------------- + +# --- Leg L IK to FK operator --- +class LegL_IKtoFK(bpy.types.Operator): + bl_idname = 'opr.legl_ikfk' + bl_label = 'Snap to FK' + + def execute(self, context): + # Retrieve the names of the relevant bones from scene properties + bone_names = [ + context.scene.IK_Leg_Pole_Target_L, + context.scene.IK_Leg_Target_L, + context.scene.FK_Leg_End_L, + context.scene.IK_Leg_Pole_L, + context.scene.IK_Leg_Control_L, + context.scene.IK_Leg_End_L + ] + # Get the bone objects and perform error checking + bones = utilities.get_bones_with_check(context, bone_names) + if not bones: + # Report an error if any bone is missing or invalid + self.report({'ERROR'}, "Missing or invalid bone names for Leg L IK-FK snapping") + return {'CANCELLED'} + # Perform the IK to FK snapping using the retrieved bone objects + utilities.snap_IK_to_FK(*bones) + return {'FINISHED'} + +# --- Leg L FK to IK operator --- +class LegL_FKtoIK(bpy.types.Operator): + bl_idname = 'opr.legl_fkik' + bl_label = 'Snap to IK' + + def execute(self, context): + # Retrieve the names of the relevant bones from scene properties + bone_names = [ + context.scene.IK_Leg_Upper_L, + context.scene.IK_Leg_Lower_L, + context.scene.IK_Leg_End_L, + context.scene.FK_Leg_Upper_L, + context.scene.FK_Leg_Lower_L, + context.scene.FK_Leg_End_L + ] + # Get the bone objects and perform error checking + bones = utilities.get_bones_with_check(context, bone_names) + if not bones: + # Report an error if any bone is missing or invalid + self.report({'ERROR'}, "Missing or invalid bone names for Leg L FK-IK snapping") + return {'CANCELLED'} + # Perform the IK to FK snapping using the retrieved bone objects + utilities.snap_FK_to_IK(*bones) + return {'FINISHED'} + +# ----------------------------------------------- +# Operators for Snapping Actions (Leg R) +# ----------------------------------------------- + +# --- Leg R IK to FK operator --- +class LegR_IKtoFK(bpy.types.Operator): + bl_idname = 'opr.legr_ikfk' + bl_label = 'Snap to FK' + + def execute(self, context): + # Retrieve the names of the relevant bones from scene properties + bone_names = [ + context.scene.IK_Leg_Pole_Target_R, + context.scene.IK_Leg_Target_R, + context.scene.FK_Leg_End_R, + context.scene.IK_Leg_Pole_R, + context.scene.IK_Leg_Control_R, + context.scene.IK_Leg_End_R + ] + # Get the bone objects and perform error checking + bones = utilities.get_bones_with_check(context, bone_names) + if not bones: + # Report an error if any bone is missing or invalid + self.report({'ERROR'}, "Missing or invalid bone names for Leg R IK-FK snapping") + return {'CANCELLED'} + # Perform the IK to FK snapping using the retrieved bone objects + utilities.snap_IK_to_FK(*bones) + return {'FINISHED'} + +# --- Leg R FK to IK operator --- +class LegR_FKtoIK(bpy.types.Operator): + bl_idname = 'opr.legr_fkik' + bl_label = 'Snap to IK' + + def execute(self, context): + # Retrieve the names of the relevant bones from scene properties + bone_names = [ + context.scene.IK_Leg_Upper_R, + context.scene.IK_Leg_Lower_R, + context.scene.IK_Leg_End_R, + context.scene.FK_Leg_Upper_R, + context.scene.FK_Leg_Lower_R, + context.scene.FK_Leg_End_R + ] + # Get the bone objects and perform error checking + bones = utilities.get_bones_with_check(context, bone_names) + if not bones: + # Report an error if any bone is missing or invalid + self.report({'ERROR'}, "Missing or invalid bone names for Leg R FK-IK snapping") + return {'CANCELLED'} + # Perform the IK to FK snapping using the retrieved bone objects + utilities.snap_FK_to_IK(*bones) + return {'FINISHED'} + +# ----------------------------------------- +# Operator for Adding Limb Presets +# ----------------------------------------- + +class PresetAdd(AddPresetBase, bpy.types.Operator): + bl_idname = 'opr.presetadd' + bl_label = 'Add A preset' + # Specify the preset menu where the new preset will be added + preset_menu = 'PRESET_MT_menu' + preset_defines = [ + 'obj = bpy.context.object', + 'scene = bpy.context.scene' + ] + # Specify the values to be stored in the preset + preset_values = [ + 'scene.FK_Arm_Upper_L', + 'scene.FK_Arm_Lower_L', + 'scene.FK_Arm_End_L', + 'scene.IK_Arm_Upper_L', + 'scene.IK_Arm_Lower_L', + 'scene.IK_Arm_End_L', + 'scene.IK_Arm_Control_L', + 'scene.IK_Arm_Pole_L', + 'scene.IK_Arm_Target_L', + 'scene.IK_Arm_Pole_Target_L', + 'scene.FK_Arm_Upper_R', + 'scene.FK_Arm_Lower_R', + 'scene.FK_Arm_End_R', + 'scene.IK_Arm_Upper_R', + 'scene.IK_Arm_Lower_R', + 'scene.IK_Arm_End_R', + 'scene.IK_Arm_Control_R', + 'scene.IK_Arm_Pole_R', + 'scene.IK_Arm_Target_R', + 'scene.IK_Arm_Pole_Target_R', + 'scene.FK_Leg_Upper_L', + 'scene.FK_Leg_Lower_L', + 'scene.FK_Leg_End_L', + 'scene.IK_Leg_Upper_L', + 'scene.IK_Leg_Lower_L', + 'scene.IK_Leg_End_L', + 'scene.IK_Leg_Control_L', + 'scene.IK_Leg_Pole_L', + 'scene.IK_Leg_Target_L', + 'scene.IK_Leg_Pole_Target_L', + 'scene.FK_Leg_Upper_R', + 'scene.FK_Leg_Lower_R', + 'scene.FK_Leg_End_R', + 'scene.IK_Leg_Upper_R', + 'scene.IK_Leg_Lower_R', + 'scene.IK_Leg_End_R', + 'scene.IK_Leg_Control_R', + 'scene.IK_Leg_Pole_R', + 'scene.IK_Leg_Target_R', + 'scene.IK_Leg_Pole_Target_R' + ] + # Subdirectory within the preset folder to store limb presets + preset_subdir = 'IK-FK_Snapping_Tool' + +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# Register & Unregister +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +classes = [ + OpenPresetDirectoryOperator, + Preset_Menu, + PRESET_PT_Panel, + ArmL_IKtoFK, + ArmL_FKtoIK, + ArmR_IKtoFK, + ArmR_FKtoIK, + LegL_IKtoFK, + LegL_FKtoIK, + LegR_IKtoFK, + LegR_FKtoIK, + PresetAdd +] + +def register(): + for cls in classes: + bpy.utils.register_class(cls) + +def unregister(): + for cls in classes: + bpy.utils.unregister_class(cls) \ No newline at end of file diff --git a/extensions/blender_org/ik_fk_snapping_tool/ui.py b/extensions/blender_org/ik_fk_snapping_tool/ui.py new file mode 100644 index 0000000..db051be --- /dev/null +++ b/extensions/blender_org/ik_fk_snapping_tool/ui.py @@ -0,0 +1,364 @@ +import bpy +from . import operators +from . import utilities + +#━━━━━━━━━━━━━━━━━━━━ +# Tool Panel +#━━━━━━━━━━━━━━━━━━━━ + +class ToolPanel(bpy.types.Panel): + bl_idname = 'TOOL_PT_panel' + bl_label = 'Snapping Tool' + bl_space_type = 'VIEW_3D' + bl_region_type = 'UI' + bl_category = 'IK-FK Snap' + + # Draw the preset menu button in the panel header + def draw_header_preset(self, _context): + operators.PRESET_PT_Panel.draw_panel_header(self.layout) + + def draw(self, context): + layout = self.layout + col = layout.column() + scene = bpy.context.scene + obj = bpy.context.active_object + # Check if an armature is active + if obj and obj.type == 'ARMATURE': + # Bones needed for IK to FK snapping on left arm + IKtoFK_ArmL_Bones = { + obj.pose.bones.get(scene.IK_Arm_Pole_Target_L), + obj.pose.bones.get(scene.IK_Arm_Target_L), + obj.pose.bones.get(scene.FK_Arm_End_L), + obj.pose.bones.get(scene.IK_Arm_Pole_L), + obj.pose.bones.get(scene.IK_Arm_Control_L), + obj.pose.bones.get(scene.IK_Arm_End_L) + } + # Bones needed for FK to IK snapping on left arm + FKtoIK_ArmL_Bones = { + obj.pose.bones.get(scene.IK_Arm_Upper_L), + obj.pose.bones.get(scene.IK_Arm_Lower_L), + obj.pose.bones.get(scene.IK_Arm_End_L), + obj.pose.bones.get(scene.FK_Arm_Upper_L), + obj.pose.bones.get(scene.FK_Arm_Lower_L), + obj.pose.bones.get(scene.FK_Arm_End_L) + } + # Bones needed for IK to FK snapping on right arm + IKtoFK_ArmR_Bones = { + obj.pose.bones.get(scene.IK_Arm_Pole_Target_R), + obj.pose.bones.get(scene.IK_Arm_Target_R), + obj.pose.bones.get(scene.FK_Arm_End_R), + obj.pose.bones.get(scene.IK_Arm_Pole_R), + obj.pose.bones.get(scene.IK_Arm_Control_R), + obj.pose.bones.get(scene.IK_Arm_End_R) + } + # Bones needed for FK to IK snapping on right arm + FKtoIK_ArmR_Bones = { + obj.pose.bones.get(scene.IK_Arm_Upper_R), + obj.pose.bones.get(scene.IK_Arm_Lower_R), + obj.pose.bones.get(scene.IK_Arm_End_R), + obj.pose.bones.get(scene.FK_Arm_Upper_R), + obj.pose.bones.get(scene.FK_Arm_Lower_R), + obj.pose.bones.get(scene.FK_Arm_End_R) + } + # Bones needed for IK to FK snapping on left leg + IKtoFK_LegL_Bones = { + obj.pose.bones.get(scene.IK_Leg_Pole_Target_L), + obj.pose.bones.get(scene.IK_Leg_Target_L), + obj.pose.bones.get(scene.FK_Leg_End_L), + obj.pose.bones.get(scene.IK_Leg_Pole_L), + obj.pose.bones.get(scene.IK_Leg_Control_L), + obj.pose.bones.get(scene.IK_Leg_End_L) + } + # Bones needed for FK to IK snapping on left leg + FKtoIK_LegL_Bones = { + obj.pose.bones.get(scene.IK_Leg_Upper_L), + obj.pose.bones.get(scene.IK_Leg_Lower_L), + obj.pose.bones.get(scene.IK_Leg_End_L), + obj.pose.bones.get(scene.FK_Leg_Upper_L), + obj.pose.bones.get(scene.FK_Leg_Lower_L), + obj.pose.bones.get(scene.FK_Leg_End_L) + } + # Bones needed for IK to FK snapping on right leg + IKtoFK_LegR_Bones = { + obj.pose.bones.get(scene.IK_Leg_Pole_Target_R), + obj.pose.bones.get(scene.IK_Leg_Target_R), + obj.pose.bones.get(scene.FK_Leg_End_R), + obj.pose.bones.get(scene.IK_Leg_Pole_R), + obj.pose.bones.get(scene.IK_Leg_Control_R), + obj.pose.bones.get(scene.IK_Leg_End_R) + } + # Bones needed for FK to IK snapping on right leg + FKtoIK_LegR_Bones = { + obj.pose.bones.get(scene.IK_Leg_Upper_R), + obj.pose.bones.get(scene.IK_Leg_Lower_R), + obj.pose.bones.get(scene.IK_Leg_End_R), + obj.pose.bones.get(scene.FK_Leg_Upper_R), + obj.pose.bones.get(scene.FK_Leg_Lower_R), + obj.pose.bones.get(scene.FK_Leg_End_R) + } + + # Check if any relevant bones are found + if utilities.any_snapping_possible(IKtoFK_ArmL_Bones, FKtoIK_ArmL_Bones, + IKtoFK_ArmR_Bones, FKtoIK_ArmR_Bones, + IKtoFK_LegL_Bones, FKtoIK_LegL_Bones, + IKtoFK_LegR_Bones, FKtoIK_LegR_Bones): + + # --- Arm L Snapping Tool --- + box = col.box() + box.label(text= "Arm L Snapping", icon= 'SNAP_ON') + # Check if all required bones are present for both snapping directions + if not all(IKtoFK_ArmL_Bones) and not all(FKtoIK_ArmL_Bones): + box.label(text= "Bone Incomplete", icon= 'ERROR') + else: + # Create a grid layout for buttons + grid = box.grid_flow(columns=2, align=True) + if all(IKtoFK_ArmL_Bones): + # Add the "Snap to FK" button and link it to the corresponding operator + arml_ikfk_oprator = grid.operator('opr.arml_ikfk', text='Snap to FK') + else: + box.label(text= "IK to FK Incomplete", icon= 'ERROR') + if all(FKtoIK_ArmL_Bones): + # Add the "Snap to IK" button and link it to the corresponding operator + arml_fkik_oprator = grid.operator('opr.arml_fkik', text='Snap to IK') + else: + box.label(text= "FK to IK Incomplete", icon= 'ERROR') + + # --- Arm R Snapping Tool --- + box = col.box() + box.label(text= "Arm R Snapping", icon= 'SNAP_ON') + # Check if all required bones are present for both snapping directions + if not all(IKtoFK_ArmR_Bones) and not all(FKtoIK_ArmR_Bones): + box.label(text= "Bone Incomplete", icon= 'ERROR') + else: + # Create a grid layout for buttons + grid = box.grid_flow(columns=2, align=True) + if all(IKtoFK_ArmR_Bones): + # Add the "Snap to FK" button and link it to the corresponding operator + armr_ikfk_oprator = grid.operator('opr.armr_ikfk', text='Snap to FK') + else: + box.label(text= "IK to FK Incomplete", icon= 'ERROR') + if all(FKtoIK_ArmR_Bones): + # Add the "Snap to IK" button and link it to the corresponding operator + armr_fkik_oprator = grid.operator('opr.armr_fkik', text='Snap to IK') + else: + box.label(text= "FK to IK Incomplete", icon= 'ERROR') + + # --- Leg L Snapping Tool --- + box = col.box() + box.label(text= "Leg L Snapping", icon= 'SNAP_ON') + # Check if all required bones are present for both snapping directions + if not all(IKtoFK_LegL_Bones) and not all(FKtoIK_LegL_Bones): + box.label(text= "Bone Incomplete", icon= 'ERROR') + else: + # Create a grid layout for buttons + grid = box.grid_flow(columns=2, align=True) + if all(IKtoFK_LegL_Bones): + # Add the "Snap to FK" button and link it to the corresponding operator + legl_ikfk_oprator = grid.operator('opr.legl_ikfk', text='Snap to FK') + else: + box.label(text= "IK to FK Incomplete", icon= 'ERROR') + if all(FKtoIK_LegL_Bones): + # Add the "Snap to IK" button and link it to the corresponding operator + legl_fkik_oprator = grid.operator('opr.legl_fkik', text='Snap to IK') + else: + box.label(text= "FK to IK Incomplete", icon= 'ERROR') + + # --- Leg R Snapping Tool --- + box = col.box() + box.label(text= "Leg R Snapping", icon= 'SNAP_ON') + # Check if all required bones are present for both snapping directions + if not all(IKtoFK_LegR_Bones) and not all(FKtoIK_LegR_Bones): + box.label(text= "Bone Incomplete", icon= 'ERROR') + else: + # Create a grid layout for buttons + grid = box.grid_flow(columns=2, align=True) + if all(IKtoFK_LegR_Bones): + # Add the "Snap to FK" button and link it to the corresponding operator + armr_ikfk_oprator = grid.operator('opr.legr_ikfk', text='Snap to FK') + else: + box.label(text= "IK to FK Incomplete", icon= 'ERROR') + if all(FKtoIK_LegR_Bones): + # Add the "Snap to IK" button and link it to the corresponding operator + armr_fkik_oprator = grid.operator('opr.legr_fkik', text='Snap to IK') + else: + box.label(text= "FK to IK Incomplete", icon= 'ERROR') + + else: + # If none of the bone sets have any bones (meaning the armature doesn't have the necessary bones for snapping) + col.label(text="Active Armature has no similar bones", icon='ERROR') + else: + # If the active object is not an armature + col.label(text="No active armature", icon='ERROR') + +#━━━━━━━━━━━━━━━━━━━━━━━━ +# Armature Panel +#━━━━━━━━━━━━━━━━━━━━━━━━ + +class Armature_MappingPanel(bpy.types.Panel): + bl_idname = 'ARMATURE_MAPPING_PT_panel' + bl_label = 'Armature Mapping' + bl_space_type = 'VIEW_3D' + bl_region_type = 'UI' + bl_category = 'IK-FK Snap' + + # Draw the preset menu button in the panel header + def draw_header_preset(self, _context): + operators.PRESET_PT_Panel.draw_panel_header(self.layout) + + def draw(self, context): + col = self.layout.column() + # Add the "Open Preset Directory" button and link it to the corresponding operator + col.operator("opr.open_preset_directory", icon="FILEBROWSER") + +# ------------------------------ +# Panel for Arm L Bones +# ------------------------------ + +class ArmL_MappingPanel(bpy.types.Panel): + bl_idname = 'ARML_MAPPING_PT_panel' + bl_label = 'Arm L' + bl_space_type = 'VIEW_3D' + bl_region_type = 'UI' + bl_category = 'IK-FK Snap' + bl_parent_id = "ARMATURE_MAPPING_PT_panel" + + def draw(self, context): + obj = bpy.context.active_object + col = self.layout.column() + # Check if an armature is active + if obj and obj.type == 'ARMATURE': + # Create bone selection fields for each bone involved in Arm L snapping + col.prop_search(context.scene, "FK_Arm_Upper_L", obj.data, "bones") + col.prop_search(context.scene, "FK_Arm_Lower_L", obj.data, "bones") + col.prop_search(context.scene, "FK_Arm_End_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Upper_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Lower_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_End_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Control_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Pole_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Target_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Pole_Target_L", obj.data, "bones") + return + else: + # Display error if no armature is active + col.label(text= "No active armature", icon= 'ERROR') + +# ------------------------------ +# Panel for Arm R Bones +# ------------------------------ + +class ArmR_MappingPanel(bpy.types.Panel): + bl_idname = 'ARMR_MAPPING_PT_panel' + bl_label = 'Arm R' + bl_space_type = 'VIEW_3D' + bl_region_type = 'UI' + bl_category = 'IK-FK Snap' + bl_parent_id = "ARMATURE_MAPPING_PT_panel" + + def draw(self, context): + obj = bpy.context.active_object + col = self.layout.column() + # Check if an armature is active + if obj and obj.type == 'ARMATURE': + # Create bone selection fields for each bone involved in Arm L snapping + col.prop_search(context.scene, "FK_Arm_Upper_R", obj.data, "bones") + col.prop_search(context.scene, "FK_Arm_Lower_R", obj.data, "bones") + col.prop_search(context.scene, "FK_Arm_End_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Upper_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Lower_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_End_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Control_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Pole_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Target_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Arm_Pole_Target_R", obj.data, "bones") + return + else: + # Display error if no armature is active + col.label(text= "No active armature", icon= 'ERROR') + +# ------------------------------ +# Panel for Leg L Bones +# ------------------------------ + +class LegL_MappingPanel(bpy.types.Panel): + bl_idname = 'LEGL_MAPPING_PT_panel' + bl_label = 'Leg L' + bl_space_type = 'VIEW_3D' + bl_region_type = 'UI' + bl_category = 'IK-FK Snap' + bl_parent_id = "ARMATURE_MAPPING_PT_panel" + + def draw(self, context): + obj = bpy.context.active_object + col = self.layout.column() + # Check if an armature is active + if obj and obj.type == 'ARMATURE': + # Create bone selection fields for each bone involved in Arm L snapping + col.prop_search(context.scene, "FK_Leg_Upper_L", obj.data, "bones") + col.prop_search(context.scene, "FK_Leg_Lower_L", obj.data, "bones") + col.prop_search(context.scene, "FK_Leg_End_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Upper_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Lower_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_End_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Control_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Pole_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Target_L", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Pole_Target_L", obj.data, "bones") + return + else: + # Display error if no armature is active + col.label(text= "No active armature", icon= 'ERROR') + +# ------------------------------ +# Panel for Leg R Bones +# ------------------------------ + +class LegR_MappingPanel(bpy.types.Panel): + bl_idname = 'LEGR_MAPPING_PT_panel' + bl_label = 'Leg R' + bl_space_type = 'VIEW_3D' + bl_region_type = 'UI' + bl_category = 'IK-FK Snap' + bl_parent_id = "ARMATURE_MAPPING_PT_panel" + + def draw(self, context): + obj = bpy.context.active_object + col = self.layout.column() + # Check if an armature is active + if obj and obj.type == 'ARMATURE': + # Create bone selection fields for each bone involved in Arm L snapping + col.prop_search(context.scene, "FK_Leg_Upper_R", obj.data, "bones") + col.prop_search(context.scene, "FK_Leg_Lower_R", obj.data, "bones") + col.prop_search(context.scene, "FK_Leg_End_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Upper_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Lower_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_End_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Control_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Pole_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Target_R", obj.data, "bones") + col.prop_search(context.scene, "IK_Leg_Pole_Target_R", obj.data, "bones") + return + else: + # Display error if no armature is active + col.label(text= "No active armature", icon= 'ERROR') + +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# Register & Unregister +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +classes = [ + ToolPanel, + Armature_MappingPanel, + ArmL_MappingPanel, + ArmR_MappingPanel, + LegL_MappingPanel, + LegR_MappingPanel +] + +def register(): + for cls in classes: + bpy.utils.register_class(cls) + +def unregister(): + for cls in classes: + bpy.utils.unregister_class(cls) \ No newline at end of file diff --git a/extensions/blender_org/ik_fk_snapping_tool/utilities.py b/extensions/blender_org/ik_fk_snapping_tool/utilities.py new file mode 100644 index 0000000..8de5e12 --- /dev/null +++ b/extensions/blender_org/ik_fk_snapping_tool/utilities.py @@ -0,0 +1,124 @@ +import bpy + +#━━━━━━━━━━━━━━━━━━━ +# Utilities +#━━━━━━━━━━━━━━━━━━━ + +# ------------------------- +# Helper Functions +# ------------------------- + +# Retrieves bone objects and perform error checking +def get_bones_with_check(context, bone_names): + obj = context.active_object + # Check if the active object is an armature + if not obj or obj.type != 'ARMATURE': + return None + + bones = [] + # Iterate over the provided bone names + for name in bone_names: + # Try to get the bone object by name + bone = obj.pose.bones.get(name) + if not bone: + return None + # Add the bone object to the list + bones.append(bone) + return bones + +# Check if any snapping action is possible +def any_snapping_possible(*bone_sets): + return any(all(bone_set) for bone_set in bone_sets) + +# Snaps IK bones to match the FK pose +def snap_IK_to_FK(IK_pole_target, IK_target, FK_end, IK_pole, IK_control, IK_end): + # Match the IK control's matrix to the IK target's matrix + IK_control.matrix = IK_target.matrix.copy() + # Update the viewport to reflect the change + bpy.context.view_layer.update() + + # Match the IK pole's matrix to the IK pole target's matrix + IK_pole.matrix = IK_pole_target.matrix.copy() + # Update the viewport to reflect the changes + bpy.context.view_layer.update() + + # Match the IK end's matrix to the FK end's matrix + IK_end.matrix = FK_end.matrix.copy() + # Update the viewport to reflect the change + bpy.context.view_layer.update() + +# Snaps FK bones to match the IK pose +def snap_FK_to_IK(IK_upper, IK_lower, IK_end, FK_upper, FK_lower, FK_end): + # Match the FK upper's matrix to the IK upper's matrix + FK_upper.matrix = IK_upper.matrix.copy() + # Update the viewport to reflect the change + bpy.context.view_layer.update() + + # Match the FK lower's matrix to the IK lower's matrix + FK_lower.matrix = IK_lower.matrix.copy() + # Update the viewport to reflect the change + bpy.context.view_layer.update() + + # Match the FK end's matrix to the IK end's matrix + FK_end.matrix = IK_end.matrix.copy() + # Update the viewport to reflect the change + bpy.context.view_layer.update() + +# -------------------------- +# Custom Properties +# -------------------------- + +PROPS = [ + ('FK_Arm_Upper_L', bpy.props.StringProperty(name='FK Upper')), + ('FK_Arm_Lower_L', bpy.props.StringProperty(name='FK Lower')), + ('FK_Arm_End_L', bpy.props.StringProperty(name='FK End')), + ('IK_Arm_Upper_L', bpy.props.StringProperty(name='IK Upper')), + ('IK_Arm_Lower_L', bpy.props.StringProperty(name='IK Lower')), + ('IK_Arm_End_L', bpy.props.StringProperty(name='IK End')), + ('IK_Arm_Control_L', bpy.props.StringProperty(name='IK Control')), + ('IK_Arm_Pole_L', bpy.props.StringProperty(name='IK Pole')), + ('IK_Arm_Target_L', bpy.props.StringProperty(name='IK Target')), + ('IK_Arm_Pole_Target_L', bpy.props.StringProperty(name='IK Pole Target')), + ('FK_Arm_Upper_R', bpy.props.StringProperty(name='FK Upper')), + ('FK_Arm_Lower_R', bpy.props.StringProperty(name='FK Lower')), + ('FK_Arm_End_R', bpy.props.StringProperty(name='FK End')), + ('IK_Arm_Upper_R', bpy.props.StringProperty(name='IK Upper')), + ('IK_Arm_Lower_R', bpy.props.StringProperty(name='IK Lower')), + ('IK_Arm_End_R', bpy.props.StringProperty(name='IK End')), + ('IK_Arm_Control_R', bpy.props.StringProperty(name='IK Control')), + ('IK_Arm_Pole_R', bpy.props.StringProperty(name='IK Pole')), + ('IK_Arm_Target_R', bpy.props.StringProperty(name='IK Target')), + ('IK_Arm_Pole_Target_R', bpy.props.StringProperty(name='IK Pole Target')), + ('FK_Leg_Upper_L', bpy.props.StringProperty(name='FK Upper')), + ('FK_Leg_Lower_L', bpy.props.StringProperty(name='FK Lower')), + ('FK_Leg_End_L', bpy.props.StringProperty(name='FK End')), + ('IK_Leg_Upper_L', bpy.props.StringProperty(name='IK Upper')), + ('IK_Leg_Lower_L', bpy.props.StringProperty(name='IK Lower')), + ('IK_Leg_End_L', bpy.props.StringProperty(name='IK End')), + ('IK_Leg_Control_L', bpy.props.StringProperty(name='IK Control')), + ('IK_Leg_Pole_L', bpy.props.StringProperty(name='IK Pole')), + ('IK_Leg_Target_L', bpy.props.StringProperty(name='IK Target')), + ('IK_Leg_Pole_Target_L', bpy.props.StringProperty(name='IK Pole Target')), + ('FK_Leg_Upper_R', bpy.props.StringProperty(name='FK Upper')), + ('FK_Leg_Lower_R', bpy.props.StringProperty(name='FK Lower')), + ('FK_Leg_End_R', bpy.props.StringProperty(name='FK End')), + ('IK_Leg_Upper_R', bpy.props.StringProperty(name='IK Upper')), + ('IK_Leg_Lower_R', bpy.props.StringProperty(name='IK Lower')), + ('IK_Leg_End_R', bpy.props.StringProperty(name='IK End')), + ('IK_Leg_Control_R', bpy.props.StringProperty(name='IK Control')), + ('IK_Leg_Pole_R', bpy.props.StringProperty(name='IK Pole')), + ('IK_Leg_Target_R', bpy.props.StringProperty(name='IK Target')), + ('IK_Leg_Pole_Target_R', bpy.props.StringProperty(name='IK Pole Target')) +] + +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ +# Register & Unregister +#━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +def register(): + for (prop_name, prop_value) in PROPS: + setattr(bpy.types.Scene, prop_name, prop_value) + +def unregister(): + for (prop_name, _) in PROPS: + delattr(bpy.types.Scene, prop_name) \ No newline at end of file diff --git a/extensions/blender_org/simple_renaming_panel/blender_manifest.toml b/extensions/blender_org/simple_renaming_panel/blender_manifest.toml index a9999b5..530f4fe 100644 --- a/extensions/blender_org/simple_renaming_panel/blender_manifest.toml +++ b/extensions/blender_org/simple_renaming_panel/blender_manifest.toml @@ -1,7 +1,7 @@ schema_version = "1.0.0" id = "simple_renaming_panel" -version = "2.1.4" +version = "2.1.5" name = "Simple Renaming" tagline = "Effortlessly rename multiple objects with this simple addon" maintainer = "Matthias Patscheider " diff --git a/extensions/blender_org/simple_renaming_panel/operators/renaming_utilities.py b/extensions/blender_org/simple_renaming_panel/operators/renaming_utilities.py index 51de45a..d61a42a 100644 --- a/extensions/blender_org/simple_renaming_panel/operators/renaming_utilities.py +++ b/extensions/blender_org/simple_renaming_panel/operators/renaming_utilities.py @@ -277,6 +277,7 @@ def update_selection_order(): return selection_order = get_ordered_selection_objects() idx = 0 + for o in selection_order: if not o.select_get(): selection_order.remove(o) @@ -284,14 +285,19 @@ def update_selection_order(): else: o["selection_order"] = idx - # Hackish way to prevent unwanted keyframing of custom property. - # Setting custom properties non-animatable is not possible yet, see: - # https://projects.blender.org/blender/blender/issues/113506 + # Remove any existing fcurves for 'selection_order' if o.animation_data and o.animation_data.action: - fcurves = o.animation_data.action.fcurves - for fcurve in fcurves: - if fcurve.data_path == '["selection_order"]': - fcurves.remove(fcurve) + action = o.animation_data.action + + import bpy_extras.anim_utils as anim_utils + # Get the default channelbag for the action (slot 0) + channelbag = anim_utils.action_get_channelbag_for_slot(action, 0) + if channelbag: + fcurves = channelbag.fcurves + for fcurve in fcurves: + if fcurve.data_path == '["selection_order"]': + fcurves.remove(fcurve) + idx += 1 for o in bpy.context.selected_objects: diff --git a/extensions/rainys_extensions/.blender_ext/index.json@4dc8 b/extensions/rainys_extensions/.blender_ext/index.json@23a6c similarity index 100% rename from extensions/rainys_extensions/.blender_ext/index.json@4dc8 rename to extensions/rainys_extensions/.blender_ext/index.json@23a6c diff --git a/extensions/rainys_extensions/.blender_ext/index.json@5498 b/extensions/rainys_extensions/.blender_ext/index.json@48bc4 similarity index 100% rename from extensions/rainys_extensions/.blender_ext/index.json@5498 rename to extensions/rainys_extensions/.blender_ext/index.json@48bc4 diff --git a/extensions/rainys_extensions/.blender_ext/index.json@6f6c b/extensions/rainys_extensions/.blender_ext/index.json@6f6c deleted file mode 100644 index 3a78c35..0000000 --- a/extensions/rainys_extensions/.blender_ext/index.json@6f6c +++ /dev/null @@ -1,78 +0,0 @@ -{ - "version": "v1", - "blocklist": [], - "data": [ - { - "schema_version": "1.0.0", - "id": "basedplayblast", - "name": "BasedPlayblast", - "tagline": "Easily create playblasts from Blender and Flamenco", - "version": "2.6.2", - "type": "add-on", - "maintainer": "RaincloudTheDragon ", - "license": [ - "GPL-3.0-or-later" - ], - "blender_version_min": "4.2.0", - "website": "https://github.com/RaincloudTheDragon/BasedPlayblast", - "permissions": { - "files": "Import/export files and data" - }, - "tags": [ - "Animation", - "Render", - "Workflow", - "Video" - ], - "archive_url": "https://github.com/RaincloudTheDragon/BasedPlayblast/releases/download/v2.6.2/BasedPlayblast.v2.6.2.zip", - "archive_size": 48968, - "archive_hash": "sha256:c359a24fccb10b9d8df2941b0d75435eb0f7ac89db61836edb6d993b86354952" - }, - { - "schema_version": "1.0.0", - "id": "rainclouds_bulk_scene_tools", - "name": "Raincloud's Bulk Scene Tools", - "tagline": "Bulk utilities for optimizing scene data", - "version": "0.15.1", - "type": "add-on", - "maintainer": "RaincloudTheDragon ", - "license": [ - "GPL-3.0-or-later" - ], - "blender_version_min": "4.2.0", - "website": "https://github.com/RaincloudTheDragon/Rainys-Bulk-Scene-Tools", - "permissions": { - "files": "Read and write external resources referenced by scenes" - }, - "tags": [ - "Scene", - "Workflow", - "Materials" - ], - "archive_url": "https://github.com/RaincloudTheDragon/Rainys-Bulk-Scene-Tools/releases/download/v0.15.1/Rainys_Bulk_Scene_Tools.v0.15.1.zip", - "archive_size": 81044, - "archive_hash": "sha256:a72f7dbf7c35fda94a7b67df79ef131391e0fe2ac4f416703b07ef59afd7235b" - }, - { - "schema_version": "1.0.0", - "id": "atomic_data_manager", - "name": "Atomic Data Manager", - "tagline": "Smart cleanup and inspection of Blender data-blocks", - "version": "2.4.1", - "type": "add-on", - "maintainer": "RaincloudTheDragon", - "license": [ - "GPL-3.0-or-later" - ], - "blender_version_min": "4.2.0", - "tags": [ - "utility", - "management", - "cleanup" - ], - "archive_url": "https://github.com/RaincloudTheDragon/atomic-data-manager/releases/download/v2.4.1/Atomic_Data_Manager.v2.4.1.zip", - "archive_size": 108842, - "archive_hash": "sha256:4086ada3e9e8c852fd02d455f11f2f20fd19ca68acd10b101ab3aa0fae2be210" - } - ] -} \ No newline at end of file diff --git a/extensions/rainys_extensions/.blender_ext/index.json@9a58 b/extensions/rainys_extensions/.blender_ext/index.json@76dd8 similarity index 72% rename from extensions/rainys_extensions/.blender_ext/index.json@9a58 rename to extensions/rainys_extensions/.blender_ext/index.json@76dd8 index e4f2092..4309803 100644 --- a/extensions/rainys_extensions/.blender_ext/index.json@9a58 +++ b/extensions/rainys_extensions/.blender_ext/index.json@76dd8 @@ -7,7 +7,7 @@ "id": "basedplayblast", "name": "BasedPlayblast", "tagline": "Easily create playblasts from Blender and Flamenco", - "version": "2.6.2", + "version": "2.6.3", "type": "add-on", "maintainer": "RaincloudTheDragon ", "license": [ @@ -24,16 +24,16 @@ "Workflow", "Video" ], - "archive_url": "https://github.com/RaincloudTheDragon/BasedPlayblast/releases/download/v2.6.2/BasedPlayblast.v2.6.2.zip", - "archive_size": 48968, - "archive_hash": "sha256:c359a24fccb10b9d8df2941b0d75435eb0f7ac89db61836edb6d993b86354952" + "archive_url": "https://github.com/RaincloudTheDragon/BasedPlayblast/releases/download/v2.6.3/BasedPlayblast.v2.6.3.zip", + "archive_size": 49732, + "archive_hash": "sha256:078b406105ce6f4802e75233569841e2f73d082e09cd1d954696681ebf72b627" }, { "schema_version": "1.0.0", "id": "rainclouds_bulk_scene_tools", "name": "Raincloud's Bulk Scene Tools", "tagline": "Bulk utilities for optimizing scene data", - "version": "0.15.1", + "version": "0.16.0", "type": "add-on", "maintainer": "RaincloudTheDragon ", "license": [ @@ -49,16 +49,16 @@ "Workflow", "Materials" ], - "archive_url": "https://github.com/RaincloudTheDragon/Rainys-Bulk-Scene-Tools/releases/download/v0.15.1/Rainys_Bulk_Scene_Tools.v0.15.1.zip", - "archive_size": 81044, - "archive_hash": "sha256:a72f7dbf7c35fda94a7b67df79ef131391e0fe2ac4f416703b07ef59afd7235b" + "archive_url": "https://github.com/RaincloudTheDragon/Rainys-Bulk-Scene-Tools/releases/download/v0.16.0/Rainys_Bulk_Scene_Tools.v0.16.0.zip", + "archive_size": 80251, + "archive_hash": "sha256:3e6fafe11caa39e48b94288c12b2a88e521c928955a854ffdd1bd0936e6bc70a" }, { "schema_version": "1.0.0", "id": "atomic_data_manager", "name": "Atomic Data Manager", "tagline": "Smart cleanup and inspection of Blender data-blocks", - "version": "2.4.1", + "version": "2.5.0", "type": "add-on", "maintainer": "RaincloudTheDragon", "license": [ @@ -70,16 +70,16 @@ "management", "cleanup" ], - "archive_url": "https://github.com/RaincloudTheDragon/atomic-data-manager/releases/download/v2.4.1/Atomic_Data_Manager.v2.4.1.zip", - "archive_size": 108842, - "archive_hash": "sha256:4086ada3e9e8c852fd02d455f11f2f20fd19ca68acd10b101ab3aa0fae2be210" + "archive_url": "https://github.com/RaincloudTheDragon/atomic-data-manager/releases/download/v2.5.0/Atomic_Data_Manager.v2.5.0.zip", + "archive_size": 114674, + "archive_hash": "sha256:4b4834ed3910a428d4cb01f1891247ad80089b6c5324fc27c6862b09e81ff1c1" }, { "schema_version": "1.0.0", "id": "sheepit_project_submitter", "name": "SheepIt Project Submitter", "tagline": "Submit projects to SheepIt render farm", - "version": "0.0.2", + "version": "0.0.7", "type": "add-on", "maintainer": "RaincloudTheDragon", "license": [ @@ -92,9 +92,9 @@ "submission", "utility" ], - "archive_url": "https://github.com/RaincloudTheDragon/sheepit_project_submitter/releases/download/v0.0.2/SheepIt_Project_Submitter.v0.0.2.zip", - "archive_size": 64260, - "archive_hash": "sha256:0149a702a4caef68a5c4f7cb102ea51331d97446d8f1a57252f9ff3b44467ad0" + "archive_url": "https://github.com/RaincloudTheDragon/sheepit_project_submitter/releases/download/v0.0.7/SheepIt_Project_Submitter.v0.0.7.zip", + "archive_size": 47250, + "archive_hash": "sha256:cb8dee48c45cc51dd8237981f4ab96d97d476b547c8c640606e9bbfd0390a055" } ] } \ No newline at end of file diff --git a/extensions/rainys_extensions/.blender_ext/index.json@a0d8 b/extensions/rainys_extensions/.blender_ext/index.json@a0d8 deleted file mode 100644 index cbd370d..0000000 --- a/extensions/rainys_extensions/.blender_ext/index.json@a0d8 +++ /dev/null @@ -1,78 +0,0 @@ -{ - "version": "v1", - "blocklist": [], - "data": [ - { - "schema_version": "1.0.0", - "id": "basedplayblast", - "name": "BasedPlayblast", - "tagline": "Easily create playblasts from Blender and Flamenco", - "version": "2.6.2", - "type": "add-on", - "maintainer": "RaincloudTheDragon ", - "license": [ - "GPL-3.0-or-later" - ], - "blender_version_min": "4.2.0", - "website": "https://github.com/RaincloudTheDragon/BasedPlayblast", - "permissions": { - "files": "Import/export files and data" - }, - "tags": [ - "Animation", - "Render", - "Workflow", - "Video" - ], - "archive_url": "https://github.com/RaincloudTheDragon/BasedPlayblast/releases/download/v2.6.2/BasedPlayblast.v2.6.2.zip", - "archive_size": 48968, - "archive_hash": "sha256:c359a24fccb10b9d8df2941b0d75435eb0f7ac89db61836edb6d993b86354952" - }, - { - "schema_version": "1.0.0", - "id": "rainclouds_bulk_scene_tools", - "name": "Raincloud's Bulk Scene Tools", - "tagline": "Bulk utilities for optimizing scene data", - "version": "0.15.0", - "type": "add-on", - "maintainer": "RaincloudTheDragon ", - "license": [ - "GPL-3.0-or-later" - ], - "blender_version_min": "4.2.0", - "website": "https://github.com/RaincloudTheDragon/Rainys-Bulk-Scene-Tools", - "permissions": { - "files": "Read and write external resources referenced by scenes" - }, - "tags": [ - "Scene", - "Workflow", - "Materials" - ], - "archive_url": "https://github.com/RaincloudTheDragon/Rainys-Bulk-Scene-Tools/releases/download/v0.15.0/Rainys_Bulk_Scene_Tools.v0.15.0.zip", - "archive_size": 80698, - "archive_hash": "sha256:bbde2f4056d39f9b16072a45bc47a31c19e6beb24616101bdf9e556b99f9853c" - }, - { - "schema_version": "1.0.0", - "id": "atomic_data_manager", - "name": "Atomic Data Manager", - "tagline": "Smart cleanup and inspection of Blender data-blocks", - "version": "2.3.0", - "type": "add-on", - "maintainer": "RaincloudTheDragon", - "license": [ - "GPL-3.0-or-later" - ], - "blender_version_min": "4.2.0", - "tags": [ - "utility", - "management", - "cleanup" - ], - "archive_url": "https://github.com/RaincloudTheDragon/atomic-data-manager/releases/download/v2.3.0/Atomic_Data_Manager.v2.3.0.zip", - "archive_size": 92609, - "archive_hash": "sha256:be0304820428e461c3ecda4ab652d5c84d3df9c0548292870350ca86a9ba828c" - } - ] -} \ No newline at end of file diff --git a/extensions/user_default/blenderkit/bl_ext.user_default.blenderkit_updater/bl_ext.user_default.blenderkit_updater_status.json b/extensions/user_default/blenderkit/bl_ext.user_default.blenderkit_updater/bl_ext.user_default.blenderkit_updater_status.json index 0937064..0f1c52b 100644 --- a/extensions/user_default/blenderkit/bl_ext.user_default.blenderkit_updater/bl_ext.user_default.blenderkit_updater_status.json +++ b/extensions/user_default/blenderkit/bl_ext.user_default.blenderkit_updater/bl_ext.user_default.blenderkit_updater_status.json @@ -1,5 +1,5 @@ { - "last_check": "2026-03-05 13:07:15.606509", + "last_check": "2026-03-06 10:02:06.473451", "backup_date": "January-12-2026", "update_ready": false, "ignore": false, diff --git a/extensions/user_default/dynamiclinkmanager/blender_manifest.toml b/extensions/user_default/dynamiclinkmanager/blender_manifest.toml index 6ace7f5..ced2015 100644 --- a/extensions/user_default/dynamiclinkmanager/blender_manifest.toml +++ b/extensions/user_default/dynamiclinkmanager/blender_manifest.toml @@ -3,7 +3,7 @@ schema_version = "1.0.0" id = "dynamiclinkmanager" name = "Dynamic Link Manager" tagline = "Character migrator and linked library tools" -version = "0.1.1" +version = "0.2.0" type = "add-on" # Optional: Semantic Versioning diff --git a/extensions/user_default/dynamiclinkmanager/ops/fk_rotations.py b/extensions/user_default/dynamiclinkmanager/ops/fk_rotations.py new file mode 100644 index 0000000..888cd07 --- /dev/null +++ b/extensions/user_default/dynamiclinkmanager/ops/fk_rotations.py @@ -0,0 +1,403 @@ +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. + +"""FK rotations: copy visible rotations from original to replacement using constraints.""" + +import bpy + +# Arm FK bone name patterns to check (Rigify and common alternatives) +ARM_FK_PATTERNS = ( + # Rigify style + ("upper_arm_fk.L", "upper_arm_fk.R"), + ("forearm_fk.L", "forearm_fk.R"), + ("hand_fk.L", "hand_fk.R"), + # Common alternatives + ("upper_arm.L", "upper_arm.R"), + ("forearm.L", "forearm.R"), + ("hand.L", "hand.R"), + ("arm_fk.L", "arm_fk.R"), + ("lower_arm_fk.L", "lower_arm_fk.R"), + # Short forms + ("arm.L", "arm.R"), + ("elbow.L", "elbow.R"), +) + +# Finger bone name patterns (will match with .01, .02, .03, etc.) +FINGER_PREFIXES = ( + "thumb", "f_index", "f_middle", "f_ring", "f_pinky", + "finger1", "finger2", "finger3", "finger4", "finger5", +) + + +def _get_matching_arm_fk_bones(armature): + """Return list of arm FK bone names that exist on armature.""" + if not armature or armature.type != "ARMATURE" or not armature.pose: + return [] + bones = armature.pose.bones + found = [] + for pattern in ARM_FK_PATTERNS: + for name in pattern: + if name in bones: + found.append(name) + return found + + +def _get_finger_fk_bones(armature): + """Return list of FK finger bone names that exist on armature. Only control bones (no ORG-/DEF-/MCH- prefix).""" + if not armature or armature.type != "ARMATURE" or not armature.pose: + return [] + bones = armature.pose.bones + finger_bones = [] + for bone_name in bones.keys(): + if bone_name.startswith("ORG-") or bone_name.startswith("DEF-") or bone_name.startswith("MCH-"): + continue + lower_name = bone_name.lower() + for prefix in FINGER_PREFIXES: + if prefix in lower_name and ("_fk." in bone_name or bone_name.endswith(".L") or bone_name.endswith(".R")): + if "." in bone_name and any(d in bone_name for d in "0123456789"): + finger_bones.append(bone_name) + break + return finger_bones + + +def _get_fk_bones(armature): + """Return list of all FK arm and finger bone names that exist on armature.""" + arm_bones = _get_matching_arm_fk_bones(armature) + finger_bones = _get_finger_fk_bones(armature) + return list(dict.fromkeys(arm_bones + finger_bones)) + + +def copy_fk_rotations(context, orig, rep): + """ + Copy visual rotations from orig to rep using temporary COPY_TRANSFORMS constraints. + This properly handles all coordinate space conversions. + Returns (True, message) or (False, error_message). + """ + fk_names = _get_fk_bones(rep) + + print(f"[DLM MigFKRot] Found {len(fk_names)} FK bones on {rep.name}") + + if not fk_names: + return False, "No FK arm or finger bones found on replacement armature" + + # Filter to bones that exist on both + common_bones = [n for n in fk_names if n in orig.pose.bones and n in rep.pose.bones] + if not common_bones: + return False, "No matching FK bones found on both armatures" + + print(f"[DLM MigFKRot] Will copy {len(common_bones)} bones using constraints") + + original_active = context.view_layer.objects.active + constraints_added = [] + + try: + # Ensure rep is active and in pose mode + bpy.context.view_layer.objects.active = rep + if rep.mode != 'POSE': + bpy.ops.object.mode_set(mode='POSE') + + # Step 1: Add COPY_TRANSFORMS constraints to each rep bone + for bone_name in common_bones: + rep_bone = rep.pose.bones[bone_name] + + # Check if bone already has this constraint + existing = [c for c in rep_bone.constraints if c.type == 'COPY_TRANSFORMS' and getattr(c, 'target', None) == orig] + if existing: + continue + + # Add constraint + c = rep_bone.constraints.new(type='COPY_TRANSFORMS') + c.name = "MigFKRot_Temp" + c.target = orig + c.subtarget = bone_name + c.target_space = 'POSE' + c.owner_space = 'POSE' + constraints_added.append((rep_bone, c)) + + # Step 2: Update scene to evaluate constraints + context.view_layer.update() + + # Step 3: Apply visual transform (bake constraint result into pose) + try: + bpy.ops.pose.select_all(action='DESELECT') + for rep_bone, _ in constraints_added: + rep_bone.bone.select = True + # Apply visual transform - this bakes the constraint result + bpy.ops.pose.visual_transform_apply() + except (RuntimeError, AttributeError): + # visual_transform_apply requires bones to be selectable + # AttributeError: 'bone.select' may not exist in Blender 5.0 + # If selection fails, the constraint result is still applied + pass # Silently ignore - constraints still drove the pose + + # Constraints remain active for bake step + print(f"[DLM MigFKRot] Copied {len(constraints_added)} bones (constraints active)") + return True, f"Copied FK rotations for {len(constraints_added)} bones (constraints active - run Bake to finalize)" + + except Exception as e: + print(f"[DLM MigFKRot] Error: {e}") + # Cleanup constraints on error + for rep_bone, c in constraints_added: + try: + if c in rep_bone.constraints: + rep_bone.constraints.remove(c) + except: + pass + return False, str(e) + + finally: + # Only restore active object, don't remove constraints + if original_active: + context.view_layer.objects.active = original_active + + +def _get_action_frame_range(action): + """Get the full frame range from action keyframes (not just strip in/out).""" + if not action: + return None + + frames = set() + + # Try Blender 5.0+ channelbags first + if hasattr(action, 'channelbags'): + for cb in action.channelbags: + if hasattr(cb, 'fcurves'): + for fc in cb.fcurves: + for kp in fc.keyframe_points: + frames.add(int(kp.co.x)) + + # Fallback to fcurves + if hasattr(action, 'fcurves') and not frames: + for fc in action.fcurves: + for kp in fc.keyframe_points: + frames.add(int(kp.co.x)) + + if frames: + return (min(frames), max(frames)) + return None + + +def _extract_bone_name_from_data_path(data_path): + """Extract bone name from fcurve data_path like 'pose.bones["bone.name"].rotation_euler'.""" + if not data_path: + return None + if 'pose.bones["' in data_path: + start = data_path.find('["') + 2 + end = data_path.find('"]', start) + if start > 1 and end > start: + return data_path[start:end] + elif "pose.bones['" in data_path: + start = data_path.find("['") + 2 + end = data_path.find("']", start) + if start > 1 and end > start: + return data_path[start:end] + return None + + +def bake_fk_rotations(context, orig, rep, track_name=None, post_clean=False): + """ + Bake FK arm/finger rotations to a new NLA track with replace mode. + Returns (True, message) or (False, error_message). + """ + print(f"[DLM MigFKRot Bake] START: orig={orig.name}, rep={rep.name}") + + fk_names = _get_fk_bones(rep) + print(f"[DLM MigFKRot Bake] Found {len(fk_names)} FK bones: {fk_names[:5]}...") + + if not fk_names: + return False, f"No FK bones found on {rep.name}" + + # Filter to bones that exist on both + common_bones = [n for n in fk_names if n in orig.pose.bones and n in rep.pose.bones] + print(f"[DLM MigFKRot Bake] {len(common_bones)} common bones between orig and rep") + + if not common_bones: + return False, "No matching FK bones found on both armatures" + + # Get source action for frame range (from keyframes, not strip bounds) + source_action = None + if rep.animation_data: + if rep.animation_data.action: + source_action = rep.animation_data.action + elif rep.animation_data.nla_tracks: + for track in rep.animation_data.nla_tracks: + if track.strips: + for strip in track.strips: + if strip.action: + source_action = strip.action + break + if source_action: + break + + # Get frame range from source action keyframes + frame_range = _get_action_frame_range(source_action) if source_action else None + + if not frame_range: + # Fallback to scene range + frame_range = (context.scene.frame_start, context.scene.frame_end) + + frame_start, frame_end = frame_range + + # Ensure rep is active and in pose mode + if context.view_layer.objects.active != rep: + context.view_layer.objects.active = rep + if rep.mode != "POSE": + bpy.ops.object.mode_set(mode="POSE") + + # Step 1: Check for existing COPY_TRANSFORMS constraints + constraints_added = [] + for bone_name in common_bones: + rep_bone = rep.pose.bones[bone_name] + existing = [c for c in rep_bone.constraints if c.type == 'COPY_TRANSFORMS' and getattr(c, 'target', None) == orig] + if existing: + constraints_added.append((rep_bone, existing[0])) + + print(f"[DLM MigFKRot Bake] Found {len(constraints_added)} constraints from {orig.name} to {rep.name}") + print(f"[DLM MigFKRot Bake] Frame range: {frame_start}-{frame_end}") + + # Step 2: Create new action and bake with nla.bake + # We use the current action (not a new one) because nla.bake needs use_current_action=True + # After baking, we'll clean up non-FK fcurves from the baked action + + # First, ensure there's an action to bake to + if rep.animation_data is None: + rep.animation_data_create() + + # If there's no current action, create one + if not rep.animation_data.action: + action_name = f"{rep.name}_FK_Bake_{frame_start}-{frame_end}" + new_action = bpy.data.actions.new(name=action_name) + if len(new_action.slots) == 0: + new_action.slots.new(name=rep.name, id_type='OBJECT') + slot = new_action.slots[0] + try: + rep.animation_data.action_slot = slot + except Exception as e: + print(f"[DLM MigFKRot Bake] Warning: Could not set slot: {e}") + + # Store the action we're baking to + baked_action = rep.animation_data.action + print(f"[DLM MigFKRot Bake] Baking to action: {baked_action.name if baked_action else 'None'}") + + # Step 3: Select only FK bones and bake with only_selected=True + print(f"[DLM MigFKRot Bake] Selecting {len(common_bones)} FK bones...") + try: + # Deselect all bones first + bpy.ops.pose.select_all(action='DESELECT') + + # Select only our FK bones + for bone_name in common_bones: + if bone_name in rep.pose.bones: + rep_bone = rep.pose.bones[bone_name] + # Try different ways to select the bone (Blender 5.0 compatibility) + try: + # Method 1: Direct selection on pose bone + rep_bone.select = True + except (AttributeError, TypeError): + try: + # Method 2: Selection on the bone property + if hasattr(rep_bone, 'bone'): + rep_bone.bone.select = True + except (AttributeError, TypeError): + pass # Selection failed, continue anyway + + print(f"[DLM MigFKRot Bake] Running nla.bake with only_selected=True...") + bpy.ops.nla.bake( + frame_start=frame_start, + frame_end=frame_end, + step=1, + only_selected=True, + visual_keying=True, + clear_constraints=False, + clear_parents=False, + use_current_action=True, + clean_curves=False, + bake_types={"POSE"}, + channel_types={"ROTATION"}, + ) + print(f"[DLM MigFKRot Bake] nla.bake completed successfully") + except Exception as e: + # Clean up constraints on failure + for rep_bone, c in constraints_added: + try: + if c in rep_bone.constraints: + rep_bone.constraints.remove(c) + except: + pass + return False, f"nla.bake failed: {e}" + + # Step 4: Remove constraints + removed_count = 0 + for rep_bone, c in constraints_added: + try: + if c in rep_bone.constraints: + rep_bone.constraints.remove(c) + removed_count += 1 + except: + pass + print(f"[DLM MigFKRot Bake] Removed {removed_count} constraints") + + # Step 5: Create new NLA track at TOP with replace mode + # Use the baked action (which now has only FK fcurves) + if rep.animation_data and baked_action: + nla_track = rep.animation_data.nla_tracks.new(prev=None) + nla_track.name = f"FK_Bake_{frame_start}-{frame_end}" + + strip = nla_track.strips.new(name=baked_action.name, start=frame_start, action=baked_action) + strip.frame_end = frame_end + strip.blend_type = 'REPLACE' + strip.use_auto_blend = False + + print(f"[DLM MigFKRot Bake] Created NLA track '{nla_track.name}' (REPLACE mode)") + + if not post_clean: + return True, f"Baked {len(common_bones)} FK bones to NLA track ({frame_start}-{frame_end})." + + # Post-clean + win = context.window + for area in win.screen.areas: + if area.type == "DOPESHEET_EDITOR": + with context.temp_override(window=win, area=area): + try: + bpy.ops.action.clean_keyframes() + except Exception: + pass + break + for area in win.screen.areas: + if area.type == "GRAPH_EDITOR": + with context.temp_override(window=win, area=area): + try: + bpy.ops.graph.decimate(mode="ERROR", error=0.001) + except Exception: + pass + break + + return True, f"Baked and cleaned {len(common_bones)} FK bones to NLA track ({frame_start}-{frame_end})." + + +def remove_fk_rotations(context, rep): + """ + Remove COPY_TRANSFORMS constraints that were added by copy_fk_rotations. + Similar to tweak_tools.remove_tweak_constraints. + Returns (True, message) or (False, error_message). + """ + fk_names = _get_fk_bones(rep) + if not fk_names: + return False, f"No FK bones found on {rep.name}" + + removed = 0 + for bone_name in fk_names: + if bone_name not in rep.pose.bones: + continue + rep_bone = rep.pose.bones[bone_name] + to_remove = [ + c for c in rep_bone.constraints + if c.type == 'COPY_TRANSFORMS' and c.name == "MigFKRot_Temp" + ] + for c in to_remove: + rep_bone.constraints.remove(c) + removed += 1 + + return True, f"Removed {removed} FK rotation constraints." diff --git a/extensions/user_default/dynamiclinkmanager/ops/migrator.py b/extensions/user_default/dynamiclinkmanager/ops/migrator.py index c09a12a..bc2d9ae 100644 --- a/extensions/user_default/dynamiclinkmanager/ops/migrator.py +++ b/extensions/user_default/dynamiclinkmanager/ops/migrator.py @@ -184,8 +184,27 @@ def _mirror_als_turn_on(orig, rep): pass +def _duplicate_action(src_action, suffix=".rep"): + """Duplicate an action, returning the new action with a unique name.""" + if src_action is None: + return None + new_name = src_action.name + if not new_name.endswith(suffix): + new_name = f"{new_name}{suffix}" + # Ensure unique name + base_name = new_name + n = 1 + while new_name in bpy.data.actions: + new_name = f"{base_name}.{n:03d}" + n += 1 + new_action = src_action.copy() + new_action.name = new_name + return new_action + + def run_mig_nla(orig, rep, report=None): - """Migrate NLA: copy tracks and strips to replacement; or mirror action slot when no NLA (MigNLA).""" + """Migrate NLA: copy tracks and strips to replacement; or mirror action slot when no NLA (MigNLA). + Actions are duplicated so repchar has independent copies.""" if not orig.animation_data: return ad = orig.animation_data @@ -211,11 +230,13 @@ def run_mig_nla(orig, rep, report=None): print(f"[DLM MigNLA] {p}={v!r}") _slot_debug("Orig (before)", ad) _slot_debug("Rep (before)", rad) + # Duplicate the active action for repchar + dup_action = _duplicate_action(active_action, suffix=".rep") # Copy last_slot_identifier before action so slot is resolved when assigning (4.4+). if hasattr(ad, "last_slot_identifier") and hasattr(rad, "last_slot_identifier") and ad.last_slot_identifier: rad.last_slot_identifier = ad.last_slot_identifier print(f"[DLM MigNLA] set rep last_slot_identifier={ad.last_slot_identifier!r}") - rad.action = active_action + rad.action = dup_action # Copy Action Slot and related props (Blender 4.4+ slotted actions). if getattr(ad, "action_slot", None) and getattr(rad, "action_slot", None): try: @@ -230,7 +251,7 @@ def run_mig_nla(orig, rep, report=None): _slot_debug("Rep (after)", rad) _mirror_als_turn_on(orig, rep) if report: - report({"INFO"}, "No NLA detected, active action and slot copied to Replacement Armature.") + report({"INFO"}, "No NLA detected, active action (duplicated) and slot copied to Replacement Armature.") return if rep.animation_data is None: rep.animation_data_create() @@ -253,8 +274,9 @@ def run_mig_nla(orig, rep, report=None): for strip in track.strips: if strip.type != "CLIP" or not strip.action: continue + dup_action = _duplicate_action(strip.action, suffix=".rep") new_strip = new_track.strips.new( - strip.name, int(strip.frame_start), strip.action + strip.name, int(strip.frame_start), dup_action ) new_strip.blend_type = strip.blend_type new_strip.extrapolation = strip.extrapolation @@ -438,6 +460,16 @@ def run_mig_bone_const(orig, rep, orig_to_rep): def run_retarg_relatives(orig, rep, rep_descendants, orig_to_rep): """Retarget relations: parents, constraint targets, Armature modifiers to rep. Skip objects in orig's hierarchy (linked collection).""" + # Replicate orig's parent on rep if it exists (keep world transform) + if orig.parent is not None: + # Store world matrix before reparenting + world_matrix = rep.matrix_world.copy() + rep.parent = orig.parent + rep.parent_type = orig.parent_type + rep.parent_bone = orig.parent_bone + # Restore world matrix + rep.matrix_world = world_matrix + orig_hierarchy = {orig} | descendants(orig) candidates = set(rep_descendants) for ob in bpy.data.objects: @@ -612,10 +644,12 @@ def run_mig_bbody_shapekeys(orig, rep, rep_descendants, context=None): or bpy.data.actions.get(body_name + "Action.001") ) if action: + # Duplicate action so repchar has independent copy + dup_action = _duplicate_action(action, suffix=".rep") # Copy slot-related props before action so slot is applied (Blender 4.4+). if orig_sk_ad and hasattr(sk_ad, "last_slot_identifier") and hasattr(orig_sk_ad, "last_slot_identifier") and orig_sk_ad.last_slot_identifier: sk_ad.last_slot_identifier = orig_sk_ad.last_slot_identifier - sk_ad.action = action + sk_ad.action = dup_action if orig_sk_ad and getattr(orig_sk_ad, "action_slot", None) and getattr(sk_ad, "action_slot", None): try: sk_ad.action_slot = orig_sk_ad.action_slot diff --git a/extensions/user_default/dynamiclinkmanager/ui/operators.py b/extensions/user_default/dynamiclinkmanager/ui/operators.py index 87949c0..e1b7566 100644 --- a/extensions/user_default/dynamiclinkmanager/ui/operators.py +++ b/extensions/user_default/dynamiclinkmanager/ui/operators.py @@ -6,8 +6,11 @@ import bpy import os from bpy.types import Operator +from bpy.props import StringProperty, BoolProperty from bpy.props import StringProperty, IntProperty +from ..utils import collection_containing_armature + ADDON_NAME = __package__.rsplit(".", 1)[0] if "." in __package__ else __package__ @@ -403,40 +406,174 @@ class DLM_OT_migrator_basebody_shapekeys(Operator): return {"CANCELLED"} -MIGRATOR_STEP_OPS = ( - "dlm.migrator_copy_attributes", - "dlm.migrator_migrate_nla", - "dlm.migrator_custom_properties", - "dlm.migrator_bone_constraints", - "dlm.migrator_retarget_relations", - "dlm.migrator_basebody_shapekeys", -) - - -class DLM_OT_run_character_migration(Operator): - bl_idname = "dlm.run_character_migration" - bl_label = "Run Character Migration" - bl_description = "Run all six migration steps (CopyAttr, MigNLA, MigCustProps, MigBoneConst, RetargRelatives, MigBBodyShapeKeys) in order" +class DLM_OT_migrator_fk_rotations(Operator): + bl_idname = "dlm.migrator_fk_rotations" + bl_label = "MigFKRot" + bl_description = "Copy FK arm and finger rotations from original to replacement (uses constraints)" + bl_icon = "BONE_DATA" bl_options = {"REGISTER", "UNDO"} def execute(self, context): - steps = [ - bpy.ops.dlm.migrator_copy_attributes, - bpy.ops.dlm.migrator_migrate_nla, - bpy.ops.dlm.migrator_custom_properties, - bpy.ops.dlm.migrator_bone_constraints, - bpy.ops.dlm.migrator_retarget_relations, - bpy.ops.dlm.migrator_basebody_shapekeys, - ] - for i, op in enumerate(steps): - result = op() - if result != {"FINISHED"}: - self.report({"ERROR"}, f"Migration failed at step {i + 1}: {MIGRATOR_STEP_OPS[i]}") + orig, rep = _get_migrator_pair(context) + if not orig or not rep or orig == rep: + self.report({"ERROR"}, "No valid character pair.") + return {"CANCELLED"} + try: + from ..ops.fk_rotations import copy_fk_rotations + ok, msg = copy_fk_rotations(context, orig, rep) + if ok: + self.report({"INFO"}, msg) + return {"FINISHED"} + else: + self.report({"ERROR"}, msg) return {"CANCELLED"} - self.report({"INFO"}, "Migration complete.") - return {"FINISHED"} + except Exception as e: + self.report({"ERROR"}, str(e)) + return {"CANCELLED"} +class DLM_OT_migrator_fk_rotations_bake(Operator): + bl_idname = "dlm.migrator_fk_rotations_bake" + bl_label = "Bake MigFKRot" + bl_description = "Bake FK rotations to keyframes using nla.bake (similar to tweak tools)" + bl_icon = "KEYFRAME" + bl_options = {"REGISTER", "UNDO"} + + track_name: StringProperty(name="NLA Track", description="Optional NLA track name for frame range", default="") + post_clean: BoolProperty(name="Post-clean", description="Clean curves after bake", default=False) + + def execute(self, context): + orig, rep = _get_migrator_pair(context) + if not orig or not rep or orig == rep: + self.report({"ERROR"}, "No valid character pair.") + return {"CANCELLED"} + try: + from ..ops.fk_rotations import bake_fk_rotations + ok, msg = bake_fk_rotations(context, orig, rep, track_name=self.track_name or None, post_clean=self.post_clean) + if ok: + self.report({"INFO"}, msg) + return {"FINISHED"} + else: + self.report({"ERROR"}, msg) + return {"CANCELLED"} + except Exception as e: + self.report({"ERROR"}, str(e)) + return {"CANCELLED"} + + +class DLM_OT_migrator_fk_rotations_remove(Operator): + bl_idname = "dlm.migrator_fk_rotations_remove" + bl_label = "Remove MigFKRot" + bl_description = "Remove FK rotation COPY_TRANSFORMS constraints (similar to tweak_remove_arm)" + bl_icon = "X" + bl_options = {"REGISTER", "UNDO"} + + def execute(self, context): + orig, rep = _get_migrator_pair(context) + if not orig or not rep or orig == rep: + self.report({"ERROR"}, "No valid character pair.") + return {"CANCELLED"} + try: + from ..ops.fk_rotations import remove_fk_rotations + ok, msg = remove_fk_rotations(context, rep) + if ok: + self.report({"INFO"}, msg) + return {"FINISHED"} + else: + self.report({"ERROR"}, msg) + return {"CANCELLED"} + except Exception as e: + self.report({"ERROR"}, str(e)) + return {"CANCELLED"} + + + + +class DLM_OT_migrator_remove_original(Operator): + bl_idname = "dlm.migrator_remove_original" + bl_label = "Remove Original" + bl_description = "Delete the original character armature and its data from the scene" + bl_options = {"REGISTER", "UNDO"} + + def execute(self, context): + orig, rep = _get_migrator_pair(context) + if not orig: + self.report({"WARNING"}, "No original character selected") + return {"CANCELLED"} + if orig == rep: + self.report({"ERROR"}, "Original and replacement cannot be the same object") + return {"CANCELLED"} + + name = orig.name + + # Collect actions from original character before removal + actions_to_remove = set() + if orig.animation_data: + # Active action + if orig.animation_data.action: + actions_to_remove.add(orig.animation_data.action) + # NLA strips + for track in orig.animation_data.nla_tracks: + for strip in track.strips: + if strip.action: + actions_to_remove.add(strip.action) + + # Remove collected actions from bpy.data.actions + removed_actions = [] + for action in actions_to_remove: + action_name = action.name + try: + bpy.data.actions.remove(action) + removed_actions.append(action_name) + except Exception as e: + self.report({"WARNING"}, f"Could not remove action {action_name}: {e}") + + if removed_actions: + self.report({"INFO"}, f"Removed {len(removed_actions)} action(s) from original") + + try: + # Try to find and delete the collection containing the original character + coll = collection_containing_armature(orig) + if coll: + coll_name = coll.name # Store name BEFORE removal (RNA invalidates after remove) + context.scene.dynamic_link_manager.original_character = None + try: + bpy.data.collections.remove(coll) + self.report({"INFO"}, f"Removed collection: {coll_name}") + except Exception as remove_err: + # Collection may have already been removed by another process + self.report({"WARNING"}, f"Collection {coll_name} removal issue: {remove_err}") + else: + # Fallback: just delete the armature object + bpy.data.objects.remove(orig, do_unlink=True) + context.scene.dynamic_link_manager.original_character = None + self.report({"INFO"}, f"Removed original character: {name}") + except Exception as e: + self.report({"ERROR"}, f"Failed to remove original: {e}") + return {"CANCELLED"} + + # Rename replacement actions with ".rep" suffix + if rep and rep.animation_data: + renamed_actions = [] + # Active action + if rep.animation_data.action and ".rep" in rep.animation_data.action.name: + old_name = rep.animation_data.action.name + new_name = old_name.replace(".rep", "") + rep.animation_data.action.name = new_name + renamed_actions.append(f"{old_name} -> {new_name}") + # NLA strips + for track in rep.animation_data.nla_tracks: + for strip in track.strips: + if strip.action and ".rep" in strip.action.name: + old_name = strip.action.name + new_name = old_name.replace(".rep", "") + strip.action.name = new_name + renamed_actions.append(f"{old_name} -> {new_name}") + if renamed_actions: + self.report({"INFO"}, f"Renamed {len(renamed_actions)} replacement action(s)") + + return {"FINISHED"} + class DLM_OT_picker_original_character(Operator): bl_idname = "dlm.picker_original_character" bl_label = "Pick Original" @@ -673,7 +810,7 @@ OPERATOR_CLASSES = [ DLM_OT_make_paths_relative, DLM_OT_make_paths_absolute, DLM_OT_relocate_single_library, - DLM_OT_run_character_migration, + DLM_OT_migrator_remove_original, DLM_OT_picker_original_character, DLM_OT_picker_replacement_character, DLM_OT_migrator_copy_attributes, @@ -691,4 +828,7 @@ OPERATOR_CLASSES = [ DLM_OT_tweak_add_both, DLM_OT_tweak_remove_both, DLM_OT_tweak_bake_both, + DLM_OT_migrator_fk_rotations, + DLM_OT_migrator_fk_rotations_bake, + DLM_OT_migrator_fk_rotations_remove, ] diff --git a/extensions/user_default/dynamiclinkmanager/ui/panels.py b/extensions/user_default/dynamiclinkmanager/ui/panels.py index 78ba48d..43a23c6 100644 --- a/extensions/user_default/dynamiclinkmanager/ui/panels.py +++ b/extensions/user_default/dynamiclinkmanager/ui/panels.py @@ -84,7 +84,7 @@ class DLM_PT_main_panel(Panel): row.prop(props, "replacement_character", text="Replacement") row.operator("dlm.picker_replacement_character", text="", icon="EYEDROPPER") row = box.row() - row.operator("dlm.run_character_migration", text="Run migration", icon="ARMATURE_DATA") + row.operator("dlm.migrator_remove_original", text="Remove Original", icon="TRASH") row = box.row(align=True) row.operator("dlm.migrator_copy_attributes", text="CopyAttr", icon="COPY_ID") row.operator("dlm.migrator_migrate_nla", text="MigNLA", icon="NLA") @@ -92,27 +92,40 @@ class DLM_PT_main_panel(Panel): row = box.row(align=True) row.operator("dlm.migrator_bone_constraints", text="MigBoneConst", icon="CONSTRAINT_BONE") row.operator("dlm.migrator_retarget_relations", text="RetargRelatives", icon="ORIENTATION_PARENT") - row.operator("dlm.migrator_basebody_shapekeys", text="MigBBodyShapeKeys", icon="SHAPEKEY_DATA") - # Tweak Tools - tweak_box = layout.box() - tweak_box.label(text="Tweak Tools", icon="CONSTRAINT") - row = tweak_box.row(align=True) - row.operator("dlm.tweak_add_arm", text="Add Arm", icon="CONSTRAINT_BONE") - row.operator("dlm.tweak_remove_arm", text="Remove Arm", icon="X") - row.operator("dlm.tweak_bake_arm", text="Bake Arm", icon="KEYFRAME") - row = tweak_box.row(align=True) - row.operator("dlm.tweak_add_leg", text="Add Leg", icon="CONSTRAINT_BONE") - row.operator("dlm.tweak_remove_leg", text="Remove Leg", icon="X") - row.operator("dlm.tweak_bake_leg", text="Bake Leg", icon="KEYFRAME") - row = tweak_box.row(align=True) - row.operator("dlm.tweak_add_both", text="Add Both", icon="CONSTRAINT_BONE") - row.operator("dlm.tweak_remove_both", text="Remove Both", icon="X") - row.operator("dlm.tweak_bake_both", text="Bake Both", icon="KEYFRAME") - row = tweak_box.row() - row.prop(props, "tweak_nla_track_name", text="NLA track") - row = tweak_box.row() - row.prop(props, "tweak_bake_post_clean", text="Post-clean after bake") + # Situational + situational_box = layout.box() + situational_box.label(text="Situational Fixes", icon="QUESTION") + row = situational_box.row(align=True) + row.operator("dlm.migrator_basebody_shapekeys", text="MigBBodyShapeKeys", icon="SHAPEKEY_DATA") + row = situational_box.row(align=True) + row.operator("dlm.migrator_fk_rotations", text="MigFKRot", icon="BONE_DATA") + row.operator("dlm.migrator_fk_rotations_remove", text="Remove", icon="X") + row.operator("dlm.migrator_fk_rotations_bake", text="Bake", icon="KEYFRAME") + + # Tweak Tools: header row (always), main box only when expanded + section_icon = "DISCLOSURE_TRI_DOWN" if props.tweak_tools_section_expanded else "DISCLOSURE_TRI_RIGHT" + row = layout.row(align=True) + row.prop(props, "tweak_tools_section_expanded", text="", icon=section_icon, icon_only=True) + row.label(text="Tweak Tools", icon="CONSTRAINT") + if props.tweak_tools_section_expanded: + tweak_box = layout.box() + row = tweak_box.row(align=True) + row.operator("dlm.tweak_add_arm", text="Add Arm", icon="CONSTRAINT_BONE") + row.operator("dlm.tweak_remove_arm", text="Remove Arm", icon="X") + row.operator("dlm.tweak_bake_arm", text="Bake Arm", icon="KEYFRAME") + row = tweak_box.row(align=True) + row.operator("dlm.tweak_add_leg", text="Add Leg", icon="CONSTRAINT_BONE") + row.operator("dlm.tweak_remove_leg", text="Remove Leg", icon="X") + row.operator("dlm.tweak_bake_leg", text="Bake Leg", icon="KEYFRAME") + row = tweak_box.row(align=True) + row.operator("dlm.tweak_add_both", text="Add Both", icon="CONSTRAINT_BONE") + row.operator("dlm.tweak_remove_both", text="Remove Both", icon="X") + row.operator("dlm.tweak_bake_both", text="Bake Both", icon="KEYFRAME") + row = tweak_box.row() + row.prop(props, "tweak_nla_track_name", text="NLA track") + row = tweak_box.row() + row.prop(props, "tweak_bake_post_clean", text="Post-clean after bake") # Linked Libraries: header row (always), main box only when expanded missing_count = sum(1 for lib in props.linked_libraries if lib.is_missing) diff --git a/extensions/user_default/dynamiclinkmanager/ui/properties.py b/extensions/user_default/dynamiclinkmanager/ui/properties.py index 525a30f..a7bce05 100644 --- a/extensions/user_default/dynamiclinkmanager/ui/properties.py +++ b/extensions/user_default/dynamiclinkmanager/ui/properties.py @@ -60,7 +60,12 @@ class DynamicLinkManagerProperties(PropertyGroup): poll=lambda self, obj: obj and obj.type == "ARMATURE", ) - # Tweak tools (bake frame range and post-clean) + # Tweak tools (collapsible section) + tweak_tools_section_expanded: BoolProperty( + name="Tweak Tools Expanded", + description="Show or hide the Tweak Tools section", + default=False, + ) tweak_nla_track_name: StringProperty( name="NLA Track (bake range)", description="If set, bake uses this NLA track on the replacement armature for frame range; else scene range", diff --git a/extensions/user_default/flip_fluids_addon/ffengine/lib/ff_alembic_exporter_linux b/extensions/user_default/flip_fluids_addon/ffengine/lib/ff_alembic_exporter_linux deleted file mode 100644 index 441319be37078e0bcc6279069f23d603b6b95cec..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 183976 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 z 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 diff --git a/extensions/user_default/flip_fluids_addon/ffengine/lib/ff_alembic_exporter_macos b/extensions/user_default/flip_fluids_addon/ffengine/lib/ff_alembic_exporter_macos deleted file mode 100644 index 6cb44103f6f403d72bf7fe8f5e0e1c3f7858383a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 447128 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 MFXjK1+VZpi0<&oKBK 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

{o(o8l=Ihc0*iH{lk|@ zn!L4lg)VQ-`Bs1Sn(oHtj_?_#c;Hg5AqJS7k1jx_<2&xKO@?=s~4pLV!I+HHPofVPRoF=++m5niuqo z3nHwp?a%9#gWlaPt*G@`{ZR|^Y#{1tF+@|!xl8;hcD+sUW&Xo zWRZ&YO8=035qe0xKaK~P;(j^mFpsMjJP8=YGq9G5+#Qxd1rij$u~$gy>FDO@?9x*- z8qN}fg~iInG2xNf(n5vD$}Xia=`n#-^a1vF6E_*{=>nZ3c_&LE4AquVSQ3EIA_{Ox zBNrwqruhlkhopxS5Yj`$VUj?OyF-K^Fe)`k2?ay65wSLaaVitEZ8(?V&rs|6>6yD*(k<+hhuHJ{25t1GwIo0L@X@e0!$ zrKVUg=!NAOX$66C7uZ^#9dxH6_EOXZryuCI1q%0D!tLTh%&NlepbOfEv|E$v)wa8;~$d%owQv^%UA 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�{x(?Mrr0MveC(6S^Qd@(#&V5n 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≶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℘PO33 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

=T8cqcRHMbP%R!-kkeKW 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ξW9;n{6nshR2OKR*TqdEmOsD8ecegZF%jk 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%0D!YZE0@?le*Sp1% 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 K^8fPB|Nj8Mo-{cC diff --git a/extensions/user_default/flip_fluids_addon/ffengine/lib/libImath-3_1.29.11.0.dylib b/extensions/user_default/flip_fluids_addon/ffengine/lib/libImath-3_1.29.11.0.dylib deleted file mode 100644 index b61c286..0000000 --- a/extensions/user_default/flip_fluids_addon/ffengine/lib/libImath-3_1.29.11.0.dylib +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:33ba312f81b8086e9cbc2b5d4dc95e921a5ad1382df994bafb25ecef658b4587 -size 732248 diff --git a/extensions/user_default/flip_fluids_addon/ffengine/lib/libImath-3_1.so.29.11.0 b/extensions/user_default/flip_fluids_addon/ffengine/lib/libImath-3_1.so.29.11.0 deleted file mode 100644 index 1cee96e55a4b8d9f077f5c45f3b46a2d53c9e28c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 340680 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\z>sY>E$O5*8C;u%WfnM&eWO5)i{;wO~EbCkqS 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 !Qw=eZcGg`tuRe1ZeBp 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