This adds support for creating a BlendFile (internally called Main),
which is limited to a context.
This can now be passed to bpy.data.libraries.load, supporting loading temporary data.
To prevent errors caused by mixing the temporary ID's with data in bpy.data
they are tagged as temporary so they can't be assigned to properties,
however they can be passed as arguments to functions.
- This adds id_tag_extra to support adding extra ID tags at load time. This will be split off into a separate commit.
This is one of the requirements for T86183: Pose Library: temporarily load Action asset.
Example usage:
Other Topics
These topics could be investigated later.
- Support writing temporary Main from bpy.data.libraries.write(..).
- Support merging the temporary Main into G.main (or other instances of Main).