{
  "p1_complex": {
    "benchmark_index": 73,
    "sample_id": "PartNetMobility/electronics/3811",
    "source_dataset": "PartNetMobility",
    "source_gt_sdf": "/data/share/ud4scenesmith/scenesmith_unified_articulated_v0.4_sourcefaithful_scenesmith_format_20260507/artvip_sdf/electronics/3811/3811.sdf",
    "source_gt": {
      "links": 33,
      "joints_all": 32,
      "joints_movable": 30,
      "joints_fixed": 2,
      "joint_types": [
        "fixed",
        "prismatic"
      ]
    },
    "pact_reference": {
      "parts": 31,
      "movable_joints": 30,
      "fixed_joints": 1,
      "joint_types": {
        "prismatic": 30,
        "fixed": 1
      }
    },
    "rendering_note": "2D/3D state previews labeled PAct-ref GT are rendered from reference_object.json, not directly from raw SDF links."
  },
  "p2_ood": {
    "benchmark_index": 19,
    "sample_id": "GRScenes/architectural_fixtures/grscenes_window_836a30a6ddbf_ef632e",
    "source_dataset": "GRScenes",
    "source_gt_sdf": "/data/share/ud4scenesmith/scenesmith_unified_articulated_v0.4_sourcefaithful_scenesmith_format_20260507/artvip_sdf/architectural_fixtures/grscenes_window_836a30a6ddbf_ef632e/grscenes_window_836a30a6ddbf_ef632e.sdf",
    "source_gt": {
      "links": 5,
      "joints_all": 4,
      "joints_movable": 3,
      "joints_fixed": 1,
      "joint_types": [
        "fixed",
        "revolute"
      ]
    },
    "pact_reference": {
      "parts": 4,
      "movable_joints": 3,
      "fixed_joints": 1,
      "joint_types": {
        "revolute": 3,
        "fixed": 1
      }
    },
    "rendering_note": "2D/3D state previews labeled PAct-ref GT are rendered from reference_object.json, not directly from raw SDF links."
  },
  "p3_occlusion": {
    "benchmark_index": 72,
    "sample_id": "PartNetMobility/major_appliances/283",
    "source_dataset": "PartNetMobility",
    "source_gt_sdf": "/data/share/ud4scenesmith/scenesmith_unified_articulated_v0.4_sourcefaithful_scenesmith_format_20260507/artvip_sdf/major_appliances/283/283.sdf",
    "source_gt": {
      "links": 14,
      "joints_all": 13,
      "joints_movable": 11,
      "joints_fixed": 2,
      "joint_types": [
        "fixed",
        "prismatic",
        "revolute"
      ]
    },
    "pact_reference": {
      "parts": 12,
      "movable_joints": 11,
      "fixed_joints": 1,
      "joint_types": {
        "revolute": 2,
        "prismatic": 9,
        "fixed": 1
      }
    },
    "rendering_note": "2D/3D state previews labeled PAct-ref GT are rendered from reference_object.json, not directly from raw SDF links. For p3, the preview caption is dominated by the representative revolute joint; the 9 prismatic joints have only 0.002m range and are visually tiny in this render."
  },
  "p4_smallparts": {
    "benchmark_index": 35,
    "sample_id": "ArtVIP/household_items/model_scissors_23",
    "source_dataset": "ArtVIP",
    "source_gt_sdf": "/data/share/ud4scenesmith/scenesmith_unified_articulated_v0.4_sourcefaithful_scenesmith_format_20260507/artvip_sdf/household_items/model_scissors_23/model_scissors_23.sdf",
    "source_gt": {
      "links": 4,
      "joints_all": 3,
      "joints_movable": 2,
      "joints_fixed": 1,
      "joint_types": [
        "fixed",
        "revolute"
      ]
    },
    "pact_reference": {
      "parts": 3,
      "movable_joints": 2,
      "fixed_joints": 1,
      "joint_types": {
        "revolute": 2,
        "fixed": 1
      }
    },
    "rendering_note": "2D/3D state previews labeled PAct-ref GT are rendered from reference_object.json, not directly from raw SDF links."
  },
  "p5_jointparams": {
    "benchmark_index": 58,
    "sample_id": "PartNetMobility/small_appliances/3483",
    "source_dataset": "PartNetMobility",
    "source_gt_sdf": "/data/share/ud4scenesmith/scenesmith_unified_articulated_v0.4_sourcefaithful_scenesmith_format_20260507/artvip_sdf/small_appliances/3483/3483.sdf",
    "source_gt": {
      "links": 4,
      "joints_all": 3,
      "joints_movable": 1,
      "joints_fixed": 2,
      "joint_types": [
        "fixed",
        "prismatic"
      ]
    },
    "pact_reference": {
      "parts": 2,
      "movable_joints": 1,
      "fixed_joints": 1,
      "joint_types": {
        "prismatic": 1,
        "fixed": 1
      }
    },
    "rendering_note": "2D/3D state previews labeled PAct-ref GT are rendered from reference_object.json, not directly from raw SDF links."
  },
  "p6_mask": {
    "benchmark_index": 62,
    "sample_id": "PartNetMobility/small_appliances/1436",
    "source_dataset": "PartNetMobility",
    "source_gt_sdf": "/data/share/ud4scenesmith/scenesmith_unified_articulated_v0.4_sourcefaithful_scenesmith_format_20260507/artvip_sdf/small_appliances/1436/1436.sdf",
    "source_gt": {
      "links": 4,
      "joints_all": 3,
      "joints_movable": 1,
      "joints_fixed": 2,
      "joint_types": [
        "fixed",
        "revolute"
      ]
    },
    "pact_reference": {
      "parts": 2,
      "movable_joints": 1,
      "fixed_joints": 1,
      "joint_types": {
        "revolute": 1,
        "fixed": 1
      }
    },
    "rendering_note": "2D/3D state previews labeled PAct-ref GT are rendered from reference_object.json, not directly from raw SDF links."
  },
  "p7_topology": {
    "benchmark_index": 4,
    "sample_id": "GAPartNet/small_appliances/103101",
    "source_dataset": "GAPartNet",
    "source_gt_sdf": "/data/share/ud4scenesmith/scenesmith_unified_articulated_v0.4_sourcefaithful_scenesmith_format_20260507/artvip_sdf/small_appliances/103101/103101.sdf",
    "source_gt": {
      "links": 14,
      "joints_all": 13,
      "joints_movable": 11,
      "joints_fixed": 2,
      "joint_types": [
        "fixed",
        "prismatic",
        "revolute"
      ]
    },
    "pact_reference": {
      "parts": 12,
      "movable_joints": 11,
      "fixed_joints": 1,
      "joint_types": {
        "prismatic": 8,
        "revolute": 3,
        "fixed": 1
      }
    },
    "rendering_note": "2D/3D state previews labeled PAct-ref GT are rendered from reference_object.json, not directly from raw SDF links. For p7, gt_closed.png, gt_mid.png, and gt_open.png are byte-identical in the current static render, so they should not be interpreted as open/closed evidence."
  },
  "p8_simpleregr": {
    "benchmark_index": 67,
    "sample_id": "PartNetMobility/household_fixtures/915",
    "source_dataset": "PartNetMobility",
    "source_gt_sdf": "/data/share/ud4scenesmith/scenesmith_unified_articulated_v0.4_sourcefaithful_scenesmith_format_20260507/artvip_sdf/household_fixtures/915/915.sdf",
    "source_gt": {
      "links": 4,
      "joints_all": 3,
      "joints_movable": 1,
      "joints_fixed": 2,
      "joint_types": [
        "fixed",
        "revolute"
      ]
    },
    "pact_reference": {
      "parts": 2,
      "movable_joints": 1,
      "fixed_joints": 1,
      "joint_types": {
        "revolute": 1,
        "fixed": 1
      }
    },
    "rendering_note": "2D/3D state previews labeled PAct-ref GT are rendered from reference_object.json, not directly from raw SDF links."
  },
  "p9_texture": {
    "benchmark_index": 22,
    "sample_id": "ArtVIP/household_items/model_folder_25",
    "source_dataset": "ArtVIP",
    "source_gt_sdf": "/data/share/ud4scenesmith/scenesmith_unified_articulated_v0.4_sourcefaithful_scenesmith_format_20260507/artvip_sdf/household_items/model_folder_25/model_folder_25.sdf",
    "source_gt": {
      "links": 3,
      "joints_all": 2,
      "joints_movable": 1,
      "joints_fixed": 1,
      "joint_types": [
        "fixed",
        "revolute"
      ]
    },
    "pact_reference": {
      "parts": 2,
      "movable_joints": 1,
      "fixed_joints": 1,
      "joint_types": {
        "fixed": 1,
        "revolute": 1
      }
    },
    "rendering_note": "2D/3D state previews labeled PAct-ref GT are rendered from reference_object.json, not directly from raw SDF links. For p9, the single movable revolute has range [-1.396, 0] rad: theta=0 is reference rest/folded and t=1 opens in the negative direction; the moving part name 'knob' is a conversion artifact."
  }
}
