"""Bypass rd's fzf picker — pass task + episode as args.

Usage (run on robot-lab inside ~/raiden/.venv):
    cd /home/robot-lab
    python rd_visualize_direct.py <task_name> [episode] [--web-port 9090] [--stride 1]

Example:
    python rd_visualize_direct.py pickup_apple 0000 --web-port 9090 --stride 5
"""
import sys, argparse
from pathlib import Path
from raiden.visualizer import visualize_recording

p = argparse.ArgumentParser()
p.add_argument("task")
p.add_argument("episode", nargs="?", default="0000")
p.add_argument("--data-root", default="/home/robot-lab/data/processed")
p.add_argument("--web-port", type=int, default=9090)
p.add_argument("--stride", type=int, default=1)
p.add_argument("--image-scale", type=float, default=0.25)
p.add_argument("--no-web", action="store_true")
args = p.parse_args()

rec_dir = str(Path(args.data_root) / args.task)
visualize_recording(
    recording_dir=rec_dir,
    episode=args.episode,
    stride=args.stride,
    image_scale=args.image_scale,
    web=not args.no_web,
    web_port=args.web_port,
)
