AnimCupboard: ID Management Pie #127
No reviewers
Labels
No Label
Kind
Breaking
Kind
Bug
Kind: Community
Kind
Documentation
Kind
Easy
Kind
Enhancement
Kind
Feature
Kind
Proposal
Kind
Security
Kind
Studio Request
Kind
Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: studio/blender-studio-tools#127
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "Mets/blender-studio-pipeline:AnimCupboard-relationship-viewer"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR adds a pie menu in the outliner, bound to the Y key (because Y not?), with a bunch of handy dandy operators for basically any member of the team, to troubleshoot datablock relationships and overrides:
List Datablock Users:
So you can actually see why your datablock is refusing to get purged; It's being used by something, and this operator will tell you what it is.
If the user is a linked ID, its library will also be displayed. With the arrow button, you can keep digging.
List Datablock Dependencies:
Same as above but in the opposite direction. Possibly less useful, but an obvious counter-part, it would be weird to have one but not the other.
Better Purge
Before executing Blender's built-in recursive purge, this operator will remove fake users from all collections and linked IDs. The result of this purge should be more in line with what one would expect from purging in the first place.
Relink Overridden Asset:
This harsh troubleshooting-with-an-axe operator will delete an overridden asset, run Better Purge, then re-link and re-override the asset.
Only Armature objects will be made into Editable Overrides. Anything in the scene that was previously referencing any part of this asset, should get remapped to this new copy, even if the object names have changed. Within Armatures of the asset, the assigned Action should be preserved, as well as any added constraints.
Overridden values that weren't keyed will not be preserved, although implementing that may be possible.
Remap Users
This is a much more usable version of Blender's built-in Remap Users operator:
Resync Override Hierarchy
This is just the built-in Resync Enforce button, just easier to access.
@ -0,0 +289,4 @@
)
def execute(self, context):
for area in context.screen.areas:
This loop is looking for a
VIEW_3D
but the report says it is checking if an outliner is present. Assuming the outliner is what you are looking for wouldn't it be more explicit to do...