Code/HumanoidRetargeter/Solve/IRetargetSolver.cs

Interface for a retarget solver. Declares a single Solve method that maps a source clip (with a mapping result) onto a target rig and returns a Clip of per-bone local transforms matching the source clip fps and loop settings.

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

namespace HumanoidRetargeter.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);
}