[
  {
    "id": "arena_homing_train",
    "demo_number": 1,
    "title": "Homing Rover Train (Arena)",
    "description": "Loads a simple arena and a PD controller script, then autoplays.",
    "levelPath": "/demo/blank.json",
    "scriptPath": "/demo/homing/force_train.js",
    "autoplay": true,
    "autoHideMs": 500
  },
  {
    "id": "arena_homing_run",
    "demo_number": 1,
    "title": "Homing Rover Running (Arena)",
    "levelPath": "/demo/blank.json",
    "scriptPath": "/demo/homing/force_run.js",
    "autoplay": true,
    "autoHideMs": 500
  },
  {
    "id": "arena_cart_pole",
    "demo_number": 2,
    "title": "Multi Arena Cart Pole Example",
    "levelPath": "/demo/blank.json",
    "scriptPath": "/demo/multi_arena_cart_pole/train.js",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "Example of how to do a multi cart pole experiment"
  },
  {
    "id": "single_shape_bulk_spawner",
    "demo_number": 3,
    "title": "Spawns up to SPAWN_TARGET of SHAPE",
    "levelPath": "/demo/bulk_static_load/scene.json",
    "scriptPath": "/demo/bulk_static_load/code.js",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "Bulk objs stress test"
  },
  {
    "id": "drop_bear",
    "demo_number": 4,
    "title": "First showcase of contraints",
    "levelPath": "/demo/bear/scene.json",
    "scriptPath": "/demo/empty.js",
    "contraintsPath": "/demo/bear/constraints.json",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "Testing the fixed contraints"
  },
  {
    "id": "playing_around_with_contraints",
    "demo_number": 5,
    "title": "Whack a mole o_o just playing around",
    "levelPath": "/demo/swing_testing/scene.json",
    "scriptPath": "/demo/swing_testing/code.js",
    "contraintsPath": "/demo/swing_testing/cons.json",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "Whack a mole o_o just playing around"
  },
  {
    "id": "ragdoll_flailing",
    "demo_number": 6,
    "title": "Ragdoll Flailing Demo",
    "levelPath": "/demo/ragdoll/scene.json",
    "scriptPath": "/demo/ragdoll/script.js",
    "contraintsPath": "/demo/ragdoll/constraints.json",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "Humanoid ragdoll falls while flailing arms and legs"
  },
  {
    "id": "ragdoll_walker",
    "demo_number": 7,
    "title": "Ragdoll Walker Demo",
    "levelPath": "/demo/ragdoll_walker/scene.json",
    "scriptPath": "/demo/ragdoll_walker/script.js",
    "contraintsPath": "/demo/ragdoll_walker/constraints.json",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "Ragdoll with hinge constraints for proper walking motion"
  },
  {
    "id": "ragdoll_spheres",
    "demo_number": 8,
    "title": "Ragdoll with Sphere Joints",
    "levelPath": "/demo/ragdoll_spheres/scene.json",
    "scriptPath": "/demo/ragdoll_spheres/script.js",
    "contraintsPath": "/demo/ragdoll_spheres/constraints.json",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "Ragdoll with visible sphere joints - watch them rotate!"
  },
  {
    "id": "ragdoll_hinges",
    "demo_number": 9,
    "title": "Ragdoll with Hinge Joints",
    "levelPath": "/demo/ragdoll_hinges/scene.json",
    "scriptPath": "/demo/ragdoll_hinges/script.js",
    "contraintsPath": "/demo/ragdoll_hinges/constraints.json",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "Sphere joints with hinges - rotating spheres move the limbs!"
  },
  {
    "id": "ragdoll_motors",
    "demo_number": 10,
    "title": "Ragdoll with Motor Hinges",
    "levelPath": "/demo/ragdoll_motors/scene.json",
    "scriptPath": "/demo/ragdoll_motors/script.js",
    "contraintsPath": "/demo/ragdoll_motors/constraints.json",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "Simple ragdoll with hinge motors - controlled swinging!"
  },
  {
    "id": "simple_car",
    "demo_number": 11,
    "title": "Simple Car with Spinning Wheels",
    "levelPath": "/demo/simple_car/scene.json",
    "scriptPath": "/demo/simple_car/script.js",
    "contraintsPath": "/demo/simple_car/constraints.json",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "A simple car with 4 wheels that spin like wheels should!"
  },
  {
    "id": "ragdoll_hinge_walk",
    "demo_number": 12,
    "title": "Ragdoll Six-DOF Walking",
    "levelPath": "/demo/ragdoll_hinge_walk/scene.json",
    "scriptPath": "/demo/ragdoll_hinge_walk/script.js",
    "contraintsPath": "/demo/ragdoll_hinge_walk/constraints.json",
    "autoplay": true,
    "autoHideMs": 500,
    "description": "Ragdoll with sixdof constraints for controlled walking!"
  }
]
