Changes to pass ordering caused Merge Armature to destroy menus before being
processed by Menu Installer; fix this by hoisting menu generation to occur within
the animation services context, before Merge Armature runs. This is safe because
the menu installer pass does not interact with the avatar's animator controllers
directly.
* fix: menu item with float value incorrectly generates bool parameter
* fix: reactive components generate transitions with overlapping condition ranges
* chore: add tests for menu item parameter type
* fix: incorrect parameter type detemination for float values
* chore: add more tests for menu item parameter type
* refactor: unify logic to determine parameter type and rename confusing variable
* refactor: generalize support for arbitrary parameters as conditions
* feat: automatically assign Menu Item parameters
* feat: ReactiveComponents respond to MenuItems
* feat: AvatarObjectReference tracks both paths and direct object references
* feat: set isSaved/isSynced/default values from MenuItem
* feat: Object Toggle preview supports menu items and manipulating parent objects
* feat: reactive previews respond to menu item default value states
* chore: update NDMF dependency
Zero-length allocations could result in multiple entries with the same offset in the segment map. This would then break subsequent lookups.
Fixed by increasing these allocations to a minimum length of one.
* opti: fix perf regressions in new armature lock system
... by avoiding reinitializing everything whenever any target bone moves.
* chore: fixing unity 2019 issues
* fix: untranslated warning generated when multiple parameters remap to the same name
Fixed by allowing this case and applying normal parameter type resolution rules.
Closes: #694
* chore: enable accidentally disabled unit test
Changes in 1.9.0 broke existing avatars that used animators with
different default values than the MA Parameters fields. This change
makes overriding the animator defaults require an explicit configuration;
this is technically a change which would require a minor version bump,
but as this is addressing a major-version-level compatibility break in 1.9.0,
we're going to push this out at a minor version this time.
* add referenced assembly
* remove unused usings
* MA Merge Blend Tree is VRC specific
because it expects VRC style Animator Layer setup
* PruneParametersPass is VRChat specific
* fix: use FindAvatarTransformInParents() to be more cross platform
* fix MergeArmatureHook: nop logic for PhysBones if we do not dedup PhysBones
* fix AnimatorCombiner: ignore VRC components when non-VRC
btw, is AnimatorCombiner VRC specific?
* conditional compile some VRChat specific tests