from dataclasses import dataclass


@dataclass
class RLConfig:
    scene_path: str
    library_dir: str
    run_name: str
    environment: str
    num_envs: int = 16
    # num_envs: int = 4096
    device: str = "cuda"
    distributed: bool = False
    
    resume: str = ""



    # video arguments
    video: bool = False
    video_length: int = 200
    video_interval: int = (
        2000  # TODO: what does this interval really mean? should we change behavior
    )

    # hyper params
    seed: int = 42
    headless: bool = True

    dataset: str = ""
    # max_iterations: int = 1000000
    # distributed: bool = False
    # export_io_descriptors: bool = False
    # ray_proc_id: int = None
    # experiment_name: str = None
    # run_name: str = None
    # resume: bool = False
    # load_run: str = None

