namespace NeonSprawl.Server.Game.PositionState;
/// Per-command movement sanity limits (NS-19). Bound from Game:MovementValidation.
public sealed class MovementValidationOptions
{
/// When true, enforces . False (default) means no horizontal limit.
public bool HorizontalStepEnabled { get; set; }
/// Max horizontal displacement on X/Z in one move (meters). Inclusive at the limit.
/// Only applied when is true.
public double MaxHorizontalStep { get; set; } = 18.0;
/// Max absolute delta on Y in one move (meters). Inclusive at the limit.
public double MaxVerticalStep { get; set; } = 2.2;
/// When true, target must lie inside the axis-aligned district box (inclusive min/max).
public bool DistrictBoundsEnabled { get; set; }
public double DistrictMinX { get; set; } = -12.0;
public double DistrictMaxX { get; set; } = 12.0;
public double DistrictMinY { get; set; } = -2.0;
public double DistrictMaxY { get; set; } = 24.0;
public double DistrictMinZ { get; set; } = -12.0;
public double DistrictMaxZ { get; set; } = 12.0;
}