HumanoidRetargeter/Core/Formats/Ant/AntImportOptions.cs

Options type for importing ANT animation data. Holds sampling rate, authored tick rate, and base clip name used when imported clips lack names.

#nullable enable annotations

using System;
using System.Collections.Generic;
using System.Numerics;
using HumanoidRetargeter.Core.Maths;
using HumanoidRetargeter.Core.Skeleton;
using SkeletonModel = HumanoidRetargeter.Core.Skeleton.Skeleton;

namespace HumanoidRetargeter.Core.Formats.Ant;

/// <summary>Sampling and naming options for <see cref="AntImporter"/>.</summary>
public sealed class AntImportOptions
{
    /// <summary>Resample rate for the imported clips (Hz).</summary>
    public float SampleFps { get; init; } = 30f;

    /// <summary>
    /// Authored tick rate of the package. ANT key times are in TICKS; Fight Night's packages
    /// are authored at 30 ticks per second (a 66-tick punch is 2.2 s, which matches the
    /// shipped clip lengths).
    /// </summary>
    public float TicksPerSecond { get; init; } = 30f;

    /// <summary>Base name for clips (ANT clip chunks carry no name of their own —
    /// see <see cref="AntImporter"/> remarks). Takes become <c>{Base}_1</c>, <c>_2</c>, …</summary>
    public string ClipNameBase { get; init; } = "clip";
}