"""RotationResult hot-path dataclass (ARCH-02).

eq=False because the optional `homography` is a numpy array.
"""

from __future__ import annotations

from dataclasses import dataclass
from typing import Optional

import numpy as np


@dataclass(slots=True, frozen=True, eq=False)
class RotationResult:
    """Result of a rotation sweep alignment."""

    matched: bool
    initial_angle: float
    precise_angle: float
    confidence: float
    homography: Optional[np.ndarray] = None
    inlier_count: int = 0
