Namespace Serenity.Editor.AnimationHub.Discovery
Classes
AnimationHubRowKeys
Builds the stable row keys the Animation Hub window uses for expansion state, and that ModelAnimationValidator anchors its findings to. Lives in Discovery rather than Window so a pure validator can name the row a finding belongs to without depending on presentation code — the key scheme is domain vocabulary (which Animator, which layer, which state) shared by the validator and by whatever draws it.
AnimatorEntry
One Animator found under a scanned model, and everything wired into its controller.
ClipEntry
One clip discovered for the model, with the metadata a validator or authoring tool needs without loading it again.
LayerEntry
One layer declared on an Animator Controller, with its state machine flattened.
ModelAnimationInventory
Plain, engine-agnostic snapshot of everything ModelAnimationScanner found for one model asset. Stores only paths, names and value data — never a live UnityEngine.Object reference — so an inventory can be cached, compared, or handed to a validator without keeping the scanned prefab loaded.
ModelAnimationScanner
Reads the full animation setup of a model asset (a prefab, a prefab variant, or an imported model) straight off the loaded prefab asset — never UnityEditor.PrefabUtility.LoadPrefabContents(System.String), whose instantiated hierarchy is destroyed on unload and would leave every reference in the returned ModelAnimationInventory dangling.
ModelAnimationValidator
The authoring rules for a scanned model: a controller actually assigned, every state and transition wired to something real, clips that will actually play under Mecanim, parameters and nearby clips that are not simply dead weight, and — over Procedural — the Procedural Expression components, rig bindings and applier diagnostics.
ModelAnimationValidator.Sections
The groups a finding can belong to, in the hub's own vocabulary.
ModelClipDiscovery
Builds the deduplicated ClipEntry list for a scanned model: clips wired into the model's controllers (found by ModelAnimationScanner's state-machine walk), clips embedded in the source model asset, and — opt-in — loose clips found nearby in the model's own folder tree. A clip already reported under one origin is never reported again under a lower-priority one.
ParameterEntry
One parameter declared on an Animator Controller.
ProceduralActionEntry
One entry in the profile's effective Actions list.
ProceduralAnimatorScanner
Reads a model's Procedural Animator setup straight off the loaded prefab asset, the same way ModelAnimationScanner reads its Unity Animator setup: never UnityEditor.PrefabUtility.LoadPrefabContents(System.String), whose instantiated hierarchy is destroyed on unload and would leave every reference in the returned ProceduralInventory dangling.
ProceduralInventory
Plain, engine-agnostic snapshot of everything ProceduralAnimatorScanner found for one model's Procedural Animator setup: which of the three components are present, the rig's bone bindings, the assigned profile's own composition (rules, effective layers/actions, reachable state keys), and the applier's own setup warnings. Stores only paths, names and value data — never a live UnityEngine.Object reference — mirroring ModelAnimationInventory.
ProceduralLayerEntry
One entry in the profile's effective Layers list.
ProceduralRuleEntry
One entry in the profile's Rules list — the composition root wiring a condition to a layer-weight or action-trigger effect.
ProceduralStateKeyEntry
One state key reachable from the profile's rules (via a StateKeyWeightProviderSO).
StateEntry
One state in a layer's state machine.
TransitionEntry
One transition in a layer's state machine.
UnityAnimationInventory
The Animator and clip data found under a scanned model.
Structs
ModelAnimationScanner.ScanOptions
Enums
ClipOrigin
Where a discovered ClipEntry was found relative to the model.
ControllerKind
What kind of runtime controller drives an AnimatorEntry.
ModelSourceKind
How the scanned model's asset was authored, driving IsWritable.
MotionKind
What kind of motion a StateEntry plays.