{
  "schema_version": "0.1-vlm-spatial",
  "source": {
    "dataset": "PhysX-Anything-VLM",
    "object_json": "",
    "object_id": "laptop_real",
    "category": "ElectronicDevice"
  },
  "object": {
    "name": "Laptop",
    "category": "ElectronicDevice",
    "root_part_id": 2,
    "stats": {
      "num_parts": 4,
      "num_motion_groups": 2,
      "num_joints": 1
    }
  },
  "parts": [
    {
      "part_id": 0,
      "name": "screen",
      "parent_id": 2,
      "child_ids": [],
      "bbox": {
        "center": [
          0.484375,
          0.703125,
          0.5
        ],
        "size": [
          0.875,
          0.25,
          0.53125
        ],
        "volume": 0.1162109375,
        "diagonal": 1.0537322062554604
      },
      "joint": {
        "type": "C",
        "range": [
          -0.1,
          0.0
        ],
        "axis_origin": [
          0.015625,
          0.754687488079071,
          0.4753125011920929
        ],
        "axis_direction": [
          1.0,
          0.0,
          0.0
        ],
        "motion_dof": 1,
        "is_explicitly_articulated": true
      },
      "motion": {
        "motion_group_id": "group_1",
        "nearest_articulated_ancestor_id": 0,
        "moves_with_part_id": 0,
        "motion_salience_score": 0.7508
      },
      "geometry_refs": {
        "objs": [],
        "plys": [
          "ind_0.ply"
        ],
        "voxels": [
          "ind_0.npy"
        ]
      },
      "topology": {
        "group_root": 0,
        "is_group_root": true
      }
    },
    {
      "part_id": 1,
      "name": "screen_frame",
      "parent_id": -1,
      "child_ids": [],
      "bbox": {
        "center": [
          0.5,
          0.703125,
          0.484375
        ],
        "size": [
          0.96875,
          0.3125,
          0.6875
        ],
        "volume": 0.2081298828125,
        "diagonal": 1.2283277504395966
      },
      "joint": {
        "type": "C",
        "range": [
          -0.1,
          0.0
        ],
        "axis_origin": [
          0.015625,
          0.754687488079071,
          0.4753125011920929
        ],
        "axis_direction": [
          1.0,
          0.0,
          0.0
        ],
        "motion_dof": 1,
        "is_explicitly_articulated": true
      },
      "motion": {
        "motion_group_id": "group_1",
        "nearest_articulated_ancestor_id": 1,
        "moves_with_part_id": 1,
        "motion_salience_score": 0.7849
      },
      "geometry_refs": {
        "objs": [],
        "plys": [
          "ind_1.ply"
        ],
        "voxels": [
          "ind_1.npy"
        ]
      },
      "topology": {
        "group_root": 1,
        "is_group_root": true
      }
    },
    {
      "part_id": 2,
      "name": "base_side",
      "parent_id": -1,
      "child_ids": [
        0
      ],
      "bbox": {
        "center": [
          0.5,
          0.46875,
          0.15625
        ],
        "size": [
          0.96875,
          0.90625,
          0.09375
        ],
        "volume": 0.082305908203125,
        "diagonal": 1.3298701769345758
      },
      "joint": {
        "type": "E",
        "range": [
          0.0,
          0.0
        ],
        "axis_origin": [
          0.0,
          0.0,
          0.0
        ],
        "axis_direction": [
          0.0,
          0.0,
          1.0
        ],
        "motion_dof": 0,
        "is_explicitly_articulated": false
      },
      "motion": {
        "motion_group_id": "group_0",
        "nearest_articulated_ancestor_id": -1,
        "moves_with_part_id": 2,
        "motion_salience_score": 0.0277
      },
      "geometry_refs": {
        "objs": [],
        "plys": [
          "ind_2.ply"
        ],
        "voxels": [
          "ind_2.npy"
        ]
      },
      "topology": {
        "group_root": 2,
        "is_group_root": true
      }
    },
    {
      "part_id": 3,
      "name": "shaft",
      "parent_id": -1,
      "child_ids": [],
      "bbox": {
        "center": [
          0.5,
          0.828125,
          0.265625
        ],
        "size": [
          0.40625,
          0.25,
          0.5
        ],
        "volume": 0.05078125,
        "diagonal": 0.6910420121092494
      },
      "joint": {
        "type": "E",
        "range": [
          0.0,
          0.0
        ],
        "axis_origin": [
          0.0,
          0.0,
          0.0
        ],
        "axis_direction": [
          0.0,
          0.0,
          1.0
        ],
        "motion_dof": 0,
        "is_explicitly_articulated": false
      },
      "motion": {
        "motion_group_id": "group_0",
        "nearest_articulated_ancestor_id": -1,
        "moves_with_part_id": 2,
        "motion_salience_score": 0.025
      },
      "geometry_refs": {
        "objs": [],
        "plys": [
          "ind_3.ply"
        ],
        "voxels": [
          "ind_3.npy"
        ]
      },
      "topology": {
        "group_root": 2,
        "is_group_root": false
      }
    }
  ],
  "joints": [
    {
      "joint_id": "joint_1",
      "parent_part_id": 2,
      "child_part_id": 0,
      "motion_group_id": "group_1",
      "joint": {
        "type": "C",
        "range": [
          -0.1,
          0.0
        ],
        "axis_origin": [
          0.015625,
          0.754687488079071,
          0.4753125011920929
        ],
        "axis_direction": [
          1.0,
          0.0,
          0.0
        ],
        "motion_dof": 1
      }
    }
  ],
  "motion_groups": [
    {
      "motion_group_id": "group_0",
      "root_part_id": 2,
      "part_ids": [
        2,
        3
      ],
      "joint_type": "E",
      "range": [
        0.0,
        0.0
      ],
      "axis_origin": [
        0.0,
        0.0,
        0.0
      ],
      "axis_direction": [
        0.0,
        0.0,
        1.0
      ]
    },
    {
      "motion_group_id": "group_1",
      "root_part_id": 0,
      "part_ids": [
        0,
        1
      ],
      "joint_type": "C",
      "range": [
        -0.1,
        0.0
      ],
      "axis_origin": [
        0.015625,
        0.754687488079071,
        0.4753125011920929
      ],
      "axis_direction": [
        1.0,
        0.0,
        0.0
      ]
    }
  ],
  "topology": {
    "edges": [
      {
        "parent_part_id": 2,
        "child_part_id": 0,
        "center_delta": [
          -0.015625,
          0.234375,
          0.34375
        ],
        "bbox_iou_estimate": 0.0
      }
    ],
    "interface_candidates": [
      {
        "part_a": 0,
        "part_b": 1,
        "bbox_gap": 0.0,
        "bbox_iou": 0.558358
      },
      {
        "part_a": 0,
        "part_b": 2,
        "bbox_gap": 0.03125,
        "bbox_iou": 0.0
      },
      {
        "part_a": 0,
        "part_b": 3,
        "bbox_gap": 0.0,
        "bbox_iou": 0.093525
      },
      {
        "part_a": 1,
        "part_b": 2,
        "bbox_gap": 0.0,
        "bbox_iou": 0.069686
      },
      {
        "part_a": 1,
        "part_b": 3,
        "bbox_gap": 0.0,
        "bbox_iou": 0.101246
      },
      {
        "part_a": 2,
        "part_b": 3,
        "bbox_gap": 0.0,
        "bbox_iou": 0.066781
      }
    ]
  },
  "layout_proxy": {
    "coordinate_space": "normalized_[0,1]^3",
    "parts": [
      {
        "label": 0,
        "name": "screen",
        "bbox": [
          0.046875,
          0.578125,
          0.234375,
          0.921875,
          0.828125,
          0.765625
        ],
        "is_base_proxy": false
      },
      {
        "label": 1,
        "name": "screen_frame",
        "bbox": [
          0.015625,
          0.546875,
          0.140625,
          0.984375,
          0.859375,
          0.828125
        ],
        "is_base_proxy": true
      },
      {
        "label": 2,
        "name": "base_side",
        "bbox": [
          0.015625,
          0.015625,
          0.109375,
          0.984375,
          0.921875,
          0.203125
        ],
        "is_base_proxy": false
      },
      {
        "label": 3,
        "name": "shaft",
        "bbox": [
          0.296875,
          0.703125,
          0.015625,
          0.703125,
          0.953125,
          0.515625
        ],
        "is_base_proxy": false
      }
    ]
  }
}