<mujoco model="right_shadow_hand scene">
  <include file="right_hand.xml"/>

  <statistic extent="0.3" center="0.3 0 0"/>

  <visual>
    <rgba haze="0.15 0.25 0.35 1"/>
    <quality shadowsize="8192"/>
    <global azimuth="220" elevation="-30"/>
  </visual>

  <asset>
    <texture type="skybox" builtin="gradient" rgb1="0.3 0.5 0.7" rgb2="0 0 0" width="512" height="3072"/>
    <texture type="2d" name="groundplane" builtin="checker" mark="edge" rgb1="0.2 0.3 0.4" rgb2="0.1 0.2 0.3"
      markrgb="0.8 0.8 0.8" width="300" height="300"/>
    <material name="groundplane" texture="groundplane" texuniform="true" texrepeat="5 5" reflectance="0.2"/>
  </asset>

  <worldbody>
    <light pos="0 0 1"/>
    <light pos="0.3 0 1.5" dir="0 0 -1" directional="true"/>
    <geom name="floor" pos="0 0 -0.1" size="0 0 0.05" type="plane" material="groundplane"/>
    <!-- Thin fixed pedestal so the free object rests in the hand's grasp zone
         (the fully-closed fingertip centroid is ~(0.32,-0.01,0.06)). Radius is
         small so the closing fingers wrap the object, not the post. -->
    <geom name="pedestal" type="cylinder" pos="0.32 -0.01 -0.028" size="0.012 0.062"
      rgba="0.35 0.35 0.4 1"/>
    <body name="object" pos="0.32 -0.01 0.062">
      <freejoint/>
      <geom type="ellipsoid" size="0.026 0.026 0.026" rgba="0.5 0.7 0.5 1" condim="6"
        priority="1" friction="0.6 0.02 0.004"/>
    </body>
  </worldbody>

  <!-- Hand↔object weld, captured on first grasp contact so a free object holds
       where the fingers seat it (a fixed-base hand can't otherwise stop a free
       object squirting out). Mirrors the RX1 grasp-weld approach. -->
  <equality>
    <weld name="grasp" body1="rh_palm" body2="object" active="false"/>
  </equality>
</mujoco>
