from metasim.cfg.objects import PrimitiveCubeMetaCfg, RigidObjMetaCfg
from metasim.constants import PhysicStateType
from metasim.utils import configclass

from .rlbench_task_metacfg import RLBenchTaskMetaCfg


@configclass
class PutToiletRollOnStandMetaCfg(RLBenchTaskMetaCfg):
    episode_length = 200
    traj_filepath = "roboverse_data/trajs/rlbench/put_toilet_roll_on_stand/v2"
    objects = [
        RigidObjMetaCfg(
            name="toilet_roll_visual",
            filepath="roboverse_data/assets/rlbench/put_toilet_roll_on_stand/toilet_roll_visual/usd/toilet_roll_visual.usd",
            physics=PhysicStateType.RIGIDBODY,
        ),
        RigidObjMetaCfg(
            name="stand_base",
            filepath="roboverse_data/assets/rlbench/put_toilet_roll_on_stand/stand_base/usd/stand_base.usd",
            physics=PhysicStateType.RIGIDBODY,
        ),
        PrimitiveCubeMetaCfg(
            name="toilet_roll_box",
            size=[0.1, 0.1, 0.1],
            color=[0.85, 0.85, 0.85],
            physics=PhysicStateType.RIGIDBODY,
        ),
    ]
    # TODO: add checker
