Asset library
MetaFine ships 40+ part-annotated articulated objects — a PartNet-Mobility subset plus custom URDFs — every one of which declares its part-level affordances in capabilities.json. That declaration is what makes the skill ↔ asset compatibility check a closed-set lookup instead of a heuristic.
Folder schema
Each asset is a self-contained directory under assets/:
assets/
100221/ # PartNet-Mobility-style asset id
urdf.xml # geometry + joint structure
capabilities.json # part → affordance map (see capabilities.json page)
model_data.json # bbox, scale, friction, mass — sim-physics tuning
meshes/ # collision + visual meshes
textures/ # optional, for visual realism
urdf.xml describes the geometry and joint chain; capabilities.json tells the skill registry which parts can do what; model_data.json carries the physics tuning (bbox normalisation, friction, mass) used at env-load time.
Distribution
The asset library is too large to bundle with the repo, so it lives in two mirror buckets: ModelScope (recommended for users in CN) and HuggingFace Datasets. The scripts/download_assets.py helper pulls either mirror into assets/.
# Pull the canonical 40-asset bundle from HuggingFace $ python scripts/download_assets.py --source hf --bundle core_40 # Or from ModelScope $ python scripts/download_assets.py --source modelscope --bundle core_40
Repo placeholders: https://modelscope.cn/datasets/<org>/metafine-assets, https://huggingface.co/datasets/<org>/metafine-assets.
Coverage
The core bundle is curated for the fine-grained tasks MetaFine targets:
- Containers with lids — kettles, bottles, jars, boxes (graspable + rotatable + openable).
- Sliding parts — drawers, lid-on-rail boxes, sliding-door cabinets (slidable + drawable).
- Switches & buttons — wall switches, push-buttons, toggle racks (pressable + flippable).
- Insertion targets — peg-in-hole boards, plug-in sockets (insertable).
- Stackables — cubes, plates, rings (placeable + stackable + liftable).
Adding your own
Onboarding a new URDF — phone-scan or hand-modelled — is a 4-step pipeline. See Onboarding a URDF for the walkthrough.