{
  "repository": "pollen-robotics/microduck-simulator",
  "source": "https://huggingface.co/spaces/pollen-robotics/microduck-simulator",
  "revision": "ad9d41a763f30dc770817c33d92dcfec0205db1e",
  "files": {
    "kinematics.json": {
      "path": "app/public/robot/mjlab/kinematics.json",
      "sha256": "099c64fa03280514eed881accf563061a640eb7800d5ce15be5af92d1f63d38b",
      "bytes": 26666
    },
    "microduck.glb": {
      "path": "app/public/robot/mjlab/microduck.glb",
      "sha256": "ad0b8d1c886a857fd09d337be11e731f4ac72bf099b0af63081031f97ed6eadb",
      "bytes": 1279444
    },
    "robot-upstream.xml": {
      "path": "app/public/robot/mjlab/robot_allcollisions.xml",
      "sha256": "7a6fdf437f5a80c7348ad801f43f906b997a834389cb70cca5e1e8517ba38044",
      "bytes": 32898
    },
    "walking.onnx": {
      "path": "app/public/policies/BEST_alpha_walking.onnx",
      "sha256": "e36332d383997d51401897734cd3e79cf5038406feddb18b4d57ecfb141daa6c",
      "bytes": 793705
    },
    "stand.onnx": {
      "path": "app/public/policies/BEST_alpha_stand.onnx",
      "sha256": "1569268713e40deea795dd2922dba50d3621e15a872855408b6b1b125b1c094b",
      "bytes": 793705
    },
    "APACHE-LICENSE.txt": {
      "path": "LICENSE",
      "sha256": "cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30",
      "bytes": 11358
    },
    "upstream-duck.js": {
      "path": "app/src/game/duck.js",
      "sha256": "bfb6c5f3f5da74df626361ff874776de3366746b7e99d76cf5d5c642443de4ab",
      "bytes": 16555
    },
    "upstream-constants.js": {
      "path": "app/src/game/constants.js",
      "sha256": "7342a74e19a77ccab0b25a146815c1d045f51e16c9cf5e4d74974ca67cb5a69e",
      "bytes": 6204
    },
    "upstream-game.js": {
      "path": "app/src/game/game.js",
      "sha256": "71ee74e2eef11ba172b2949462a591a6578a28291cee76cad72ff64cfdb0f563",
      "bytes": 102556
    },
    "meshes/sole_left.stl": {
      "path": "app/public/robot/mjlab/meshes/sole_left.stl",
      "sha256": "357f80bb46855e3ce50f817705acd80471dae90b4ee6b4a0a948614a7daeddb1",
      "bytes": 197384
    },
    "meshes/sole_right.stl": {
      "path": "app/public/robot/mjlab/meshes/sole_right.stl",
      "sha256": "07801107a36dbc1c2b83b3b64ad98be39ba662a8a7fa0b62a29119b201f41fe6",
      "bytes": 198684
    },
    "meshes/leg.stl": {
      "path": "app/public/robot/mjlab/meshes/leg.stl",
      "sha256": "bfbc6ae5faefc56bd65d860cf3410a08e8286717063584f15b56bbd5302b20f8",
      "bytes": 166434
    },
    "meshes/top_head_shell.stl": {
      "path": "app/public/robot/mjlab/meshes/top_head_shell.stl",
      "sha256": "a59823b8f2ab23d530e6b071559f7fd308851ae035b7cb4d0b7baf7edef4b3e3",
      "bytes": 194984
    },
    "meshes/bottom_head_shell.stl": {
      "path": "app/public/robot/mjlab/meshes/bottom_head_shell.stl",
      "sha256": "331a361406e77c05256e5064197f785ac1e9c8f091079a3519c2e33f28ae5ebc",
      "bytes": 231334
    },
    "meshes/np_f970.stl": {
      "path": "app/public/robot/mjlab/meshes/np_f970.stl",
      "sha256": "01fbacc788b53ebb7648cda07090133b8c696da31d700c560f45189494977871",
      "bytes": 247734
    },
    "meshes/hip_l.stl": {
      "path": "app/public/robot/mjlab/meshes/hip_l.stl",
      "sha256": "dbdf6e7f5587385c0f6a77b407931b30e81c9a212dac7c52b4e0884156049056",
      "bytes": 229134
    },
    "meshes/power_support.stl": {
      "path": "app/public/robot/mjlab/meshes/power_support.stl",
      "sha256": "4aee9ddf8c12478d334f3d8d9e65af712072bef241283a08c895606fc2e3d9e8",
      "bytes": 128234
    },
    "meshes/jaw.stl": {
      "path": "app/public/robot/mjlab/meshes/jaw.stl",
      "sha256": "90afa64e47ef237f0f58d6f4830dc3cd6215328ed8a639b1e1a9eb2157307f4a",
      "bytes": 120834
    }
  },
  "modifications": [
    "physics.xml removes visual geoms; retains upstream mass/joints/collision meshes/actuators; adds estimated backyard obstacles and 5 ms step",
    "No robot firmware or Menlo SDK command routing for Microduck",
    "microduck-lite.glb: display mesh quadric decimation; source meshes unchanged for physics",
    "shared-world.xml combines existing Asimov yard and rigid props with 10 namespaced original duck articulations, shared collision assets, and 1 ms physics; explicit contype/conaffinity enables cross-robot contacts",
    "microduck-physics.js adapts 61-observation / 14-action policy loop with per-duck history; joint targets run at 50 Hz in one shared MjData",
    "instanced display renderer follows live shared-world joint states"
  ],
  "license": "App code Apache-2.0; 3D meshes CC BY-NC-SA-4.0; upstream policy weights license not separately stated in snapshot",
  "displayLOD": {
    "sha256": "78870cbb6c2ab5482461a086e95e7e665bce26386ba073a75989bb7dce6358c8",
    "license": "CC BY-NC-SA-4.0"
  },
  "sharedWorld": {
    "sha256": "84a71ddb9e117c6edd944d671c5b9fcf30a14c38df13c21ef3c59ec6a31f6316",
    "generator": "backyard-review/scripts/build-shared-microducks.py"
  }
}
