demo_capture = {
   "demoIndex": 5,
   "demoVersion": "5.b",
   "date": "11/1/2023, 6:39:25 PM",
   "capturedAtFrame": 10587,
   "canvasDimensions": {
      "width": 600,
      "height": 600
   },
   "gravity": false,
   "comSelection": true,
   "EpL": {
      "display": true,
      "reportType": "EpL",
      "COM": true
   },
   "fullScreenDemo": false,
   "globalCompositeOperation": "source-over",
   "wallMapData": {},
   "puckMapData": {
      "puck1": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck1",
         "position_2d_m": {
            "x": 4.320864779350179,
            "y": 2.2790991606047
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 0
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tail": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 0,
         "angularSpeed_rps": -5,
         "angleLine": "stripe",
         "borderWidth_px": 0,
         "restitution": 0,
         "restitution_fixed": false,
         "friction": 1,
         "friction_fixed": true,
         "radius_m": 0.5,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck2": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck2",
         "position_2d_m": {
            "x": 3.3470911316077148,
            "y": 4.683109317049125
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 0
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tail": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 0,
         "angularSpeed_rps": -5,
         "angleLine": "stripe",
         "borderWidth_px": 0,
         "restitution": 0,
         "restitution_fixed": false,
         "friction": 1,
         "friction_fixed": true,
         "radius_m": 0.5,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      },
      "puck3": {
         "bullet": false,
         "bulletIndication": false,
         "jello": false,
         "clientName": null,
         "name": "puck3",
         "position_2d_m": {
            "x": 1.752044089042273,
            "y": 2.6377915223460984
         },
         "velocity_2d_mps": {
            "x": 0,
            "y": 0
         },
         "color": "DarkSlateGray",
         "borderColor": "white",
         "shape": "circle",
         "imageID": null,
         "imageScale": 1,
         "colorSource": false,
         "density": 1.5,
         "linDamp": 0,
         "angDamp": 0,
         "createTail": false,
         "tail": null,
         "groupIndex": 0,
         "categoryBits": 1,
         "maskBits": 65535,
         "angle_r": 0,
         "angularSpeed_rps": -5,
         "angleLine": "stripe",
         "borderWidth_px": 0,
         "restitution": 0,
         "restitution_fixed": false,
         "friction": 1,
         "friction_fixed": true,
         "radius_m": 0.5,
         "aspectR": 1,
         "half_height_m": null,
         "half_width_m": null
      }
   },
   "pinMapData": {},
   "springMapData": {
      "s1": {
         "name": "s1",
         "color": "brown",
         "visible": true,
         "length_m": 0.18,
         "stretch_m": 0,
         "strength_Npm": 7,
         "unstretched_width_m": 0.1,
         "drag_c": 0,
         "damper_Ns2pm2": 10,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "puck3",
         "spo1_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "p2_name": "puck1",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": false
      },
      "s2": {
         "name": "s2",
         "color": "brown",
         "visible": true,
         "length_m": 0.18,
         "stretch_m": 0,
         "strength_Npm": 7,
         "unstretched_width_m": 0.1,
         "drag_c": 0,
         "damper_Ns2pm2": 10,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "puck3",
         "spo1_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "p2_name": "puck2",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": false
      },
      "s3": {
         "name": "s3",
         "color": "brown",
         "visible": true,
         "length_m": 0.18,
         "stretch_m": 0,
         "strength_Npm": 7,
         "unstretched_width_m": 0.1,
         "drag_c": 0,
         "damper_Ns2pm2": 10,
         "navigationForNPC": false,
         "forCursor": false,
         "p1_name": "puck1",
         "spo1_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "p2_name": "puck2",
         "spo2_ap_l_2d_m": {
            "x": 0,
            "y": 0
         },
         "fixedLength": false,
         "collideConnected": true,
         "softConstraints": false
      }
   },
   "jointMapData": {},
   "startingPosAndVels": [],
   "clients": {
      "local": {
         "color": "tomato",
         "name": "local",
         "bulletAgeLimit_ms": null
      }
   }
}