Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

80 lines
1.6 KiB
Python
Raw Permalink Normal View History

# SPDX-FileCopyrightText: 2009-2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
from __future__ import annotations
2016-03-04 06:14:02 +11:00
# support reloading sub-modules
if "bpy" in locals():
from importlib import reload
_modules_loaded[:] = [reload(val) for val in _modules_loaded]
del reload
_modules = [
"add_mesh_torus",
"anim",
Asset System: New Asset Browser editor This introduces the User Interface part of the Asset Browser, based on the design in T54642. Additions: * New Asset Browser (internally a sub-editor of the File Browser). * Navigation region showing asset categories. * Main region showing the assets of the selected asset library with previews. The assets may be stored over multiple .blends in the directory that's "mounted" as asset library in the Preferences. They will all be shown in this list. * Header with an asset library dropdown, allowing to choose the active asset library to show. Options are the "Current File" as asset library and all custom libraries. * Display popover, filter popover and search box (partially dummies, see T82680). * Sidebar showing the metadata of the currently active file (name, preview, description and tags), which can be edited for assets in the "Current File" asset library. (For others it will reset on reload.) * The sidebar includes a button to load a custom preview image from a file. * Make asset files draggable (with preview image). * If a library with invalid path is selected, a message is drawn in the main region to help the user understand what's wrong. * Operators to add and remove asset tags. Exposed in the sidebar. * "Only Assets" option for Link/Append. * Internal utilities for asset UI scripts. For screenshots or demo videos, please see D9725. Or the 2.92 release notes. Note that there are many things to be tweaked and polished in the Asset Browser UI still. For example, the filter and display popovers are mostly dummies. See T82680. Part of the first Asset Browser milestone. Check the #asset_browser_milestone_1 project milestone on developer.blender.org. Differential Revision: https://developer.blender.org/D9725 Reviewed by: Brecht Van Lommel, Hans Goudey
2020-12-14 14:07:42 +01:00
"assets",
Anim: move Bone Selection Sets add-on into Blender The functionality of the Bone Selection Sets add-on is now integrated into Blender itself. Rigify has been updated to no longer check for the add-on, but just assume that the functionality is available. The keymap is still the same, and so are all the class names. This ensures that there are no conflicts when people still have the old add-on enabled somehow. And there is versioning code to remove the 'add-on enabled' state so that Blender won't complain it cannot find it any more. Compared to the add-on, the following changes are made: - The 'bone' icon has been removed from the list of available selection sets. It was the same for each entry anyway, and thus didn't provide any information. - The code has been split up into multiple files, with the UI elements in `scripts/startup/bl_ui/properties_data_armature.py` and the operators in `scripts/startup/bl_operators/bone_selection_sets.py`. - Helper functions and classes are prefixed with `_` to indicate that they are not part of any public API. - The `Operator` helper subclasses have been transformed to mix-in classes. This way the only subclasses of `Operator` are the actual operators. - Comments & descriptions have been updated for clarity & consistency. This commit contains code by the following authors, ordered by number of commits in the original add-on repository, highest first: Co-Authored By: Ines Almeida <britalmeida@gmail.com> Co-Authored By: Sybren A. Stüvel <sybren@stuvel.eu> Co-Authored By: Campbell Barton <ideasman42@gmail.com> Co-Authored By: meta-androcto <meta.androcto1@gmail.com> Co-Authored By: Demeter Dzadik <Mets> Co-Authored By: lijenstina <lijenstina@gmail.com> Co-Authored By: Brecht Van Lommel <brechtvanlommel@gmail.com> Co-Authored By: Aaron Carlisle <carlisle.b3d@gmail.com> For the full history see the original add-on at: https://projects.blender.org/blender/blender-addons/commits/branch/main/bone_selection_sets.py Reviewed On: https://projects.blender.org/blender/blender/pulls/124343
2024-07-08 12:35:54 +02:00
"bone_selection_sets",
Camera tracking integration =========================== Commiting camera tracking integration gsoc project into trunk. This commit includes: - Bundled version of libmv library (with some changes against official repo, re-sync with libmv repo a bit later) - New datatype ID called MovieClip which is optimized to work with movie clips (both of movie files and image sequences) and doing camera/motion tracking operations. - New editor called Clip Editor which is currently used for motion/tracking stuff only, but which can be easily extended to work with masks too. This editor supports: * Loading movie files/image sequences * Build proxies with different size for loaded movie clip, also supports building undistorted proxies to increase speed of playback in undistorted mode. * Manual lens distortion mode calibration using grid and grease pencil * Supervised 2D tracking using two different algorithms KLT and SAD. * Basic algorithm for feature detection * Camera motion solving. scene orientation - New constraints to "link" scene objects with solved motions from clip: * Follow Track (make object follow 2D motion of track with given name or parent object to reconstructed 3D position of track) * Camera Solver to make camera moving in the same way as reconstructed camera This commit NOT includes changes from tomato branch: - New nodes (they'll be commited as separated patch) - Automatic image offset guessing for image input node and image editor (need to do more tests and gather more feedback) - Code cleanup in libmv-capi. It's not so critical cleanup, just increasing readability and understanadability of code. Better to make this chaneg when Keir will finish his current patch. More details about this project can be found on this page: http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2011 Further development of small features would be done in trunk, bigger/experimental features would first be implemented in tomato branch.
2011-11-07 12:55:18 +00:00
"clip",
Nodes: port "Connect to Output" operator from Node Wrangler As Node Wrangler add-on is moving to extensions platform and maybe isn't shipped with Blender from 4.2 onwards, some of it's more important functionalities which are crucial for Blender UX can be ported inside core. Also see #121749. This PR ports "Preview Node" operator from add-on inside `scripts/startup/bl_operators`. When Shift-Ctrl (or Shift-Alt) clicked on the node operator connects output socket of the node to active Output node in the tree (group, material, light, or world output). For Geometry Nodes this is just handy operator, but in Shader Nodes, because Viewer Node isn't implemented, this has always been the only way to quickly preview nodes by connecting it to Material Output. Changes made from Node Wrangler version: - Renamed operator from "Preview Node" to "**Connect to Output**", because node previews already mean a different thing in context of compositor and shader editor, and viewer node is used for previewing in geometry nodes. Connect to Output is correct name because in every context it's called that's what it does. - Assigned shortcut Shift-Alt-Click in shader editor as well. Even though Shift-Ctrl click already works, it's good to have consistency with geometry nodes, so that users can use same shortcut in both contexts. Operator doesn't work in compositor. It's not clear if that's wanted (to connect to Composite node), and if it is it'll be added in separate PR. Original authors of the add-on: Bartek Skorupa, Greg Zaal, Sebastian Koenig, Christian Brinkmann, Florian Meyer Pull Request: https://projects.blender.org/blender/blender/pulls/122016
2024-05-28 16:42:55 +02:00
"connect_to_output",
"console",
"constraint",
"file",
Geometry Nodes: initial scattering and geometry nodes This is the initial merge from the geometry-nodes branch. Nodes: * Attribute Math * Boolean * Edge Split * Float Compare * Object Info * Point Distribute * Point Instance * Random Attribute * Random Float * Subdivision Surface * Transform * Triangulate It includes the initial evaluation of geometry node groups in the Geometry Nodes modifier. Notes on the Generic attribute access API The API adds an indirection for attribute access. That has the following benefits: * Most code does not have to care about how an attribute is stored internally. This is mainly necessary, because we have to deal with "legacy" attributes such as vertex weights and attributes that are embedded into other structs such as vertex positions. * When reading from an attribute, we generally don't care what domain the attribute is stored on. So we want to abstract away the interpolation that that adapts attributes from one domain to another domain (this is not actually implemented yet). Other possible improvements for later iterations include: * Actually implement interpolation between domains. * Don't use inheritance for the different attribute types. A single class for read access and one for write access might be enough, because we know all the ways in which attributes are stored internally. We don't want more different internal structures in the future. On the contrary, ideally we can consolidate the different storage formats in the future to reduce the need for this indirection. * Remove the need for heap allocations when creating attribute accessors. It includes commits from: * Dalai Felinto * Hans Goudey * Jacques Lucke * Léo Depoix
2020-12-02 13:25:25 +01:00
"geometry_nodes",
"grease_pencil",
"image",
Support "Add -> Image -> Mesh Plane" as a built-in operator Add the operator from the io_import_images_as_planes add-on, making it a built-in operator. The main differences with the add-on are: - Compositor integration has been removed. - The file handler for dropping images has been removed to avoid a popup whenever images are dropped onto Blender. There were also changes to follow Blender's core scripts more closely: - Defer imports where possible. - Use `str.format`. - Use double-quotes for non-enum strings. - Remove or "_" prefix unused arguments. - Avoid unnecessary use back-slashes for wrapping lines. Otherwise all other functionality has been kept. Ref !122223 Co-authored-by: Aaron Carlisle <carlisle.b3d@gmail.com> Co-authored-by: Bastien Montagne <bastien@blender.org> Co-authored-by: Brecht Van Lommel <brecht@blender.org> Co-authored-by: Brendon Murphy <meta.androcto1@gmail.com> Co-authored-by: CoDEmanX <codemanx@gmx.de> Co-authored-by: Dalai Felinto <dalai@blender.org> Co-authored-by: Damien Picard <dam.pic@free.fr> Co-authored-by: Daniel Salazar <zanqdo@gmail.com> Co-authored-by: Florian Meyer <florianfelix@web.de> Co-authored-by: Jacques Lucke <mail@jlucke.com> Co-authored-by: Jesse Yurkovich <jesse.y@gmail.com> Co-authored-by: Jonathan Smith <j.jaydez@gmail.com> Co-authored-by: Luca Bonavita <mindrones@gmail.com> Co-authored-by: meta-androcto <meta.androcto1@gmail.com> Co-authored-by: Philipp Oeser <info@graphics-engineer.com> Co-authored-by: Pratik Borhade <pratikborhade302@gmail.com> Co-authored-by: Rick Astley <mrbimax> Co-authored-by: Sergey Sharybin <sergey@blender.org> Co-authored-by: Sibo Van Gool <SiboVG> Co-authored-by: Sun Kim <perplexing.sun@gmail.com> Co-authored-by: Thomas Dinges <blender@dingto.org> Co-authored-by: Victor Chedeville <victor-09@noreply.localhost>
2024-05-27 12:41:25 +10:00
"image_as_planes",
"mesh",
"node",
"object",
"object_align",
"object_quick_effects",
"object_randomize_transform",
"presets",
"rigidbody",
"screen_play_rendered_anim",
"sequencer",
"spreadsheet",
"userpref",
"uvcalc_follow_active",
"uvcalc_lightmap",
"uvcalc_transform",
"vertexpaint_dirt",
"view3d",
"world",
"wm",
2018-06-26 19:41:37 +02:00
]
import bpy
if bpy.app.build_options.freestyle:
_modules.append("freestyle")
__import__(name=__name__, fromlist=_modules)
_namespace = globals()
_modules_loaded = [_namespace[name] for name in _modules]
del _namespace
def register():
from bpy.utils import register_class
Anim: move Bone Selection Sets add-on into Blender The functionality of the Bone Selection Sets add-on is now integrated into Blender itself. Rigify has been updated to no longer check for the add-on, but just assume that the functionality is available. The keymap is still the same, and so are all the class names. This ensures that there are no conflicts when people still have the old add-on enabled somehow. And there is versioning code to remove the 'add-on enabled' state so that Blender won't complain it cannot find it any more. Compared to the add-on, the following changes are made: - The 'bone' icon has been removed from the list of available selection sets. It was the same for each entry anyway, and thus didn't provide any information. - The code has been split up into multiple files, with the UI elements in `scripts/startup/bl_ui/properties_data_armature.py` and the operators in `scripts/startup/bl_operators/bone_selection_sets.py`. - Helper functions and classes are prefixed with `_` to indicate that they are not part of any public API. - The `Operator` helper subclasses have been transformed to mix-in classes. This way the only subclasses of `Operator` are the actual operators. - Comments & descriptions have been updated for clarity & consistency. This commit contains code by the following authors, ordered by number of commits in the original add-on repository, highest first: Co-Authored By: Ines Almeida <britalmeida@gmail.com> Co-Authored By: Sybren A. Stüvel <sybren@stuvel.eu> Co-Authored By: Campbell Barton <ideasman42@gmail.com> Co-Authored By: meta-androcto <meta.androcto1@gmail.com> Co-Authored By: Demeter Dzadik <Mets> Co-Authored By: lijenstina <lijenstina@gmail.com> Co-Authored By: Brecht Van Lommel <brechtvanlommel@gmail.com> Co-Authored By: Aaron Carlisle <carlisle.b3d@gmail.com> For the full history see the original add-on at: https://projects.blender.org/blender/blender-addons/commits/branch/main/bone_selection_sets.py Reviewed On: https://projects.blender.org/blender/blender/pulls/124343
2024-07-08 12:35:54 +02:00
from . import bone_selection_sets
for mod in _modules_loaded:
for cls in mod.classes:
register_class(cls)
Anim: move Bone Selection Sets add-on into Blender The functionality of the Bone Selection Sets add-on is now integrated into Blender itself. Rigify has been updated to no longer check for the add-on, but just assume that the functionality is available. The keymap is still the same, and so are all the class names. This ensures that there are no conflicts when people still have the old add-on enabled somehow. And there is versioning code to remove the 'add-on enabled' state so that Blender won't complain it cannot find it any more. Compared to the add-on, the following changes are made: - The 'bone' icon has been removed from the list of available selection sets. It was the same for each entry anyway, and thus didn't provide any information. - The code has been split up into multiple files, with the UI elements in `scripts/startup/bl_ui/properties_data_armature.py` and the operators in `scripts/startup/bl_operators/bone_selection_sets.py`. - Helper functions and classes are prefixed with `_` to indicate that they are not part of any public API. - The `Operator` helper subclasses have been transformed to mix-in classes. This way the only subclasses of `Operator` are the actual operators. - Comments & descriptions have been updated for clarity & consistency. This commit contains code by the following authors, ordered by number of commits in the original add-on repository, highest first: Co-Authored By: Ines Almeida <britalmeida@gmail.com> Co-Authored By: Sybren A. Stüvel <sybren@stuvel.eu> Co-Authored By: Campbell Barton <ideasman42@gmail.com> Co-Authored By: meta-androcto <meta.androcto1@gmail.com> Co-Authored By: Demeter Dzadik <Mets> Co-Authored By: lijenstina <lijenstina@gmail.com> Co-Authored By: Brecht Van Lommel <brechtvanlommel@gmail.com> Co-Authored By: Aaron Carlisle <carlisle.b3d@gmail.com> For the full history see the original add-on at: https://projects.blender.org/blender/blender-addons/commits/branch/main/bone_selection_sets.py Reviewed On: https://projects.blender.org/blender/blender/pulls/124343
2024-07-08 12:35:54 +02:00
bone_selection_sets.register()
def unregister():
from bpy.utils import unregister_class
Anim: move Bone Selection Sets add-on into Blender The functionality of the Bone Selection Sets add-on is now integrated into Blender itself. Rigify has been updated to no longer check for the add-on, but just assume that the functionality is available. The keymap is still the same, and so are all the class names. This ensures that there are no conflicts when people still have the old add-on enabled somehow. And there is versioning code to remove the 'add-on enabled' state so that Blender won't complain it cannot find it any more. Compared to the add-on, the following changes are made: - The 'bone' icon has been removed from the list of available selection sets. It was the same for each entry anyway, and thus didn't provide any information. - The code has been split up into multiple files, with the UI elements in `scripts/startup/bl_ui/properties_data_armature.py` and the operators in `scripts/startup/bl_operators/bone_selection_sets.py`. - Helper functions and classes are prefixed with `_` to indicate that they are not part of any public API. - The `Operator` helper subclasses have been transformed to mix-in classes. This way the only subclasses of `Operator` are the actual operators. - Comments & descriptions have been updated for clarity & consistency. This commit contains code by the following authors, ordered by number of commits in the original add-on repository, highest first: Co-Authored By: Ines Almeida <britalmeida@gmail.com> Co-Authored By: Sybren A. Stüvel <sybren@stuvel.eu> Co-Authored By: Campbell Barton <ideasman42@gmail.com> Co-Authored By: meta-androcto <meta.androcto1@gmail.com> Co-Authored By: Demeter Dzadik <Mets> Co-Authored By: lijenstina <lijenstina@gmail.com> Co-Authored By: Brecht Van Lommel <brechtvanlommel@gmail.com> Co-Authored By: Aaron Carlisle <carlisle.b3d@gmail.com> For the full history see the original add-on at: https://projects.blender.org/blender/blender-addons/commits/branch/main/bone_selection_sets.py Reviewed On: https://projects.blender.org/blender/blender/pulls/124343
2024-07-08 12:35:54 +02:00
from . import bone_selection_sets
bone_selection_sets.unregister()
for mod in reversed(_modules_loaded):
for cls in reversed(mod.classes):
if cls.is_registered:
unregister_class(cls)