* Add integration test for blendshape sync
* fix: blendshape sync not being processed
This change refactors AnimationDatabase to be part of the same extension
context as the TrackObjectRenames functionality (which is renamed back to
PathMappings). This then allows us to sequence deactivation of this context
to come after blendshape processing completes.
Fixes: #461
This reverts commit 6cbcde05f4.
Adding a suffix broke enough people's workflows that it's probably
better to look for a more targeted solution to the misbinding issue
(once we have a repro).
The human avatar mapping system seems to use bone _names_ rather than full
_paths_ to identify bones. When the avatar armature and an outfit armature
are both present under the avatar root, this can result in misidentification
of outfit bones as avatar bones on the avatar animator. This in turn results
in issues with Bone Proxy's editor-side tracking logic.
This change adjusts setup outfit to ensure that there is always a prefix
and/or suffix set, renaming bones if necessary.
Note that this does not fully use outfit human avatar data to map bones yet;
this is mostly intended as a patch to resolve the issues that have been
reported recently, particularly around the stricter validations in SDK
3.3.0.
When multiple bones with the same name exist in the initial hierarchy, the root Animator
can cache (prior to MA execution) bones that will later be deleted or renamed due to MA
action. While this isn't persisted to the avatar asset bundle, it can result in validation failures
blocking upload. To resolve this, invalidate this cache late in MA execution.