HumanoidRetargeter/Core/Solve/IRetargetSolver.cs

Interface for a retarget solver. Declares a single Solve method that maps a source animation clip (with a mapping result and options) onto a target rig and returns a resulting Clip.

Reflection
#nullable enable annotations

using HumanoidRetargeter.Core.Mapping;
using HumanoidRetargeter.Core.Skeleton;
using HumanoidRetargeter.Core.Target;

namespace HumanoidRetargeter.Core.Solve;

/// <summary>
/// A retarget solver: maps one source clip onto the target rig's skeleton. The pluggable
/// seam between the shipped <see cref="GeometricSolver"/> and possible future solvers
/// (design §10).
/// </summary>
public interface IRetargetSolver
{
    /// <summary>
    /// Retargets the clip selected by <paramref name="options"/> from <paramref name="source"/>
    /// onto <paramref name="target"/>. The result holds one local transform per target skeleton
    /// bone per frame (target bone order); fps and looping are copied from the source clip.
    /// </summary>
    Clip Solve(SourceScene source, MappingResult sourceMap, TargetRig target, SolveOptions options);
}