"""Load the fixed eval-set manifest (one image filename per line)."""
from __future__ import annotations

from pathlib import Path
from typing import List


def load_manifest(manifest_path: Path, image_root: Path) -> List[Path]:
    paths: List[Path] = []
    for raw in manifest_path.read_text(encoding="utf-8").splitlines():
        name = raw.strip()
        if not name or name.startswith("#"):
            continue
        image = image_root / name
        if not image.exists():
            raise FileNotFoundError(f"manifest image not found: {name} (looked in {image_root})")
        paths.append(image)
    return paths
