{ "demoIndex": 5, "wallMapData": { "wall1": { "parsAtBirth": { "fence": true, "half_width_m": 3, "half_height_m": 0.05 }, "name": "wall1", "position_2d_m": { "x": 3, "y": 6 }, "position_2d_px": { "x": 300, "y": 0 }, "fence": true, "velocity_2d_mps": { "x": 0, "y": 0 }, "angle_r": 0, "angularSpeed_rps": 0, "half_width_m": 3, "half_height_m": 0.05, "half_width_px": 300, "half_height_px": 5, "width_scaling": 1, "height_scaling": 1, "color": "white", "deleted": false }, "wall2": { "parsAtBirth": { "fence": true, "half_width_m": 3, "half_height_m": 0.05 }, "name": "wall2", "position_2d_m": { "x": 3, "y": 0 }, "position_2d_px": { "x": 300, "y": 600 }, "fence": true, "velocity_2d_mps": { "x": 0, "y": 0 }, "angle_r": 0, "angularSpeed_rps": 0, "half_width_m": 3, "half_height_m": 0.05, "half_width_px": 300, "half_height_px": 5, "width_scaling": 1, "height_scaling": 1, "color": "white", "deleted": false }, "wall3": { "parsAtBirth": { "fence": true, "half_width_m": 0.05, "half_height_m": 3 }, "name": "wall3", "position_2d_m": { "x": 0, "y": 3 }, "position_2d_px": { "x": 0, "y": 300 }, "fence": true, "velocity_2d_mps": { "x": 0, "y": 0 }, "angle_r": 0, "angularSpeed_rps": 0, "half_width_m": 0.05, "half_height_m": 3, "half_width_px": 5, "half_height_px": 300, "width_scaling": 1, "height_scaling": 1, "color": "white", "deleted": false }, "wall4": { "parsAtBirth": { "fence": true, "half_width_m": 0.05, "half_height_m": 3 }, "name": "wall4", "position_2d_m": { "x": 6, "y": 3 }, "position_2d_px": { "x": 600, "y": 300 }, "fence": true, "velocity_2d_mps": { "x": 0, "y": 0 }, "angle_r": 0, "angularSpeed_rps": 0, "half_width_m": 0.05, "half_height_m": 3, "half_width_px": 5, "half_height_px": 300, "width_scaling": 1, "height_scaling": 1, "color": "white", "deleted": false } }, "puckMapData": { "puck1": { "parsAtBirth": { "radius_m": 0.15, "name": "puck1" }, "bullet": false, "jello": false, "clientName": null, "name": "puck1", "position_2d_m": { "x": 1.5076721043327395, "y": 1.2352104121330898 }, "position_2d_px": { "x": 151, "y": 476 }, "velocity_2d_mps": { "x": 0.33232722188665836, "y": -2.9160364935085004 }, "color": "DarkSlateGray", "shape": "circle", "colorSource": false, "density": 1.5, "linDamp": 0, "hitLimit": 10, "createdByClient": null, "ageLimit_ms": null, "createTail": false, "tailPars": null, "tail": null, "groupIndex": 0, "categoryBits": 1, "maskBits": 65535, "angle_r": 0, "angularSpeed_rps": 0, "borderWidth_px": 3, "age_ms": 0, "restitution": 1, "restitution_fixed": false, "friction": 0.6, "friction_fixed": false, "radius_m": 0.15, "aspectR": 1, "half_height_m": null, "half_width_m": null, "radius_px": 15, "width_scaling": 1, "height_scaling": 1, "radius_scaling": 1, "mass_kg": 0.10602875205865551, "cursorString_spring_force_2d_N": { "x": 0, "y": 0 }, "cursorString_puckDrag_force_2d_N": { "x": 0, "y": 0 }, "nonCOM_2d_N": [], "sprDamp_force_2d_N": { "x": 0, "y": 0 }, "springOnly_force_2d_N": { "x": -0.9563790899191404, "y": 0.055565099450707194 }, "jet_force_2d_N": { "x": 0, "y": 0 }, "impulse_2d_Ns": { "x": 0, "y": 0 }, "hitCount": 0, "poorHealthFraction": 0, "flash": false, "inComing": false, "flashCount": 0, "navSpringName": null, "pinName": null, "deleted": false }, "puck2": { "parsAtBirth": { "radius_m": 0.25, "name": "puck2" }, "bullet": false, "jello": false, "clientName": null, "name": "puck2", "position_2d_m": { "x": 0.817238042440214, "y": 1.2753242516320875 }, "position_2d_px": { "x": 82, "y": 472 }, "velocity_2d_mps": { "x": -0.11963779987919682, "y": 1.0497731376630597 }, "color": "DarkSlateGray", "shape": "circle", "colorSource": false, "density": 1.5, "linDamp": 0, "hitLimit": 10, "createdByClient": null, "ageLimit_ms": null, "createTail": false, "tailPars": null, "tail": null, "groupIndex": 0, "categoryBits": 1, "maskBits": 65535, "angle_r": 0, "angularSpeed_rps": 0, "borderWidth_px": 3, "age_ms": 0, "restitution": 1, "restitution_fixed": false, "friction": 0.6, "friction_fixed": false, "radius_m": 0.25, "aspectR": 1, "half_height_m": null, "half_width_m": null, "radius_px": 25, "width_scaling": 1, "height_scaling": 1, "radius_scaling": 1, "mass_kg": 0.2945243112740431, "cursorString_spring_force_2d_N": { "x": 0, "y": 0 }, "cursorString_puckDrag_force_2d_N": { "x": 0, "y": 0 }, "nonCOM_2d_N": [], "sprDamp_force_2d_N": { "x": 0, "y": 0 }, "springOnly_force_2d_N": { "x": 0.9563790899191404, "y": -0.055565099450707194 }, "jet_force_2d_N": { "x": 0, "y": 0 }, "impulse_2d_Ns": { "x": 0, "y": 0 }, "hitCount": 0, "poorHealthFraction": 0, "flash": false, "inComing": false, "flashCount": 0, "navSpringName": null, "pinName": null, "deleted": false }, "puck6": { "parsAtBirth": { "radius_m": 0.2, "name": "puck6" }, "bullet": false, "jello": false, "clientName": null, "name": "puck6", "position_2d_m": { "x": 2.4434598027549232, "y": 5 }, "position_2d_px": { "x": 244, "y": 100 }, "velocity_2d_mps": { "x": -0.829441724810629, "y": 0 }, "color": "DarkSlateGray", "shape": "circle", "colorSource": false, "density": 1.5, "linDamp": 0, "hitLimit": 10, "createdByClient": null, "ageLimit_ms": null, "createTail": false, "tailPars": null, "tail": null, "groupIndex": 0, "categoryBits": 1, "maskBits": 65535, "angle_r": 0, "angularSpeed_rps": 0, "borderWidth_px": 3, "age_ms": 0, "restitution": 1, "restitution_fixed": false, "friction": 0.6, "friction_fixed": false, "radius_m": 0.2, "aspectR": 1, "half_height_m": null, "half_width_m": null, "radius_px": 20, "width_scaling": 1, "height_scaling": 1, "radius_scaling": 1, "mass_kg": 0.1884955592153876, "cursorString_spring_force_2d_N": { "x": 0, "y": 0 }, "cursorString_puckDrag_force_2d_N": { "x": 0, "y": 0 }, "nonCOM_2d_N": [], "sprDamp_force_2d_N": { "x": 0, "y": 0 }, "springOnly_force_2d_N": { "x": -4.717299013774616, "y": 0 }, "jet_force_2d_N": { "x": 0, "y": 0 }, "impulse_2d_Ns": { "x": 0, "y": 0 }, "hitCount": 0, "poorHealthFraction": 0, "flash": false, "inComing": false, "flashCount": 0, "navSpringName": null, "pinName": null, "deleted": false }, "puck3": { "parsAtBirth": { "radius_m": 0.15, "name": "puck3" }, "bullet": false, "jello": false, "clientName": null, "name": "puck3", "position_2d_m": { "x": 5.5417289680866455, "y": 1.3356447262629045 }, "position_2d_px": { "x": 554, "y": 466 }, "velocity_2d_mps": { "x": 0.583726454504006, "y": -2.6381815255324446 }, "color": "DarkSlateGray", "shape": "circle", "colorSource": false, "density": 1.5, "linDamp": 0, "hitLimit": 10, "createdByClient": null, "ageLimit_ms": null, "createTail": false, "tailPars": null, "tail": null, "groupIndex": 0, "categoryBits": 1, "maskBits": 65535, "angle_r": 0, "angularSpeed_rps": 0, "borderWidth_px": 3, "age_ms": 0, "restitution": 1, "restitution_fixed": false, "friction": 0.6, "friction_fixed": false, "radius_m": 0.15, "aspectR": 1, "half_height_m": null, "half_width_m": null, "radius_px": 15, "width_scaling": 1, "height_scaling": 1, "radius_scaling": 1, "mass_kg": 0.10602875205865551, "cursorString_spring_force_2d_N": { "x": 0, "y": 0 }, "cursorString_puckDrag_force_2d_N": { "x": 0, "y": 0 }, "nonCOM_2d_N": [], "sprDamp_force_2d_N": { "x": 0, "y": 0 }, "springOnly_force_2d_N": { "x": 0, "y": 0 }, "jet_force_2d_N": { "x": 0, "y": 0 }, "impulse_2d_Ns": { "x": 0, "y": 0 }, "hitCount": 0, "poorHealthFraction": 0, "flash": false, "inComing": false, "flashCount": 0, "navSpringName": null, "pinName": null, "deleted": false }, "puck4": { "parsAtBirth": { "radius_m": 0.25, "name": "puck4" }, "bullet": false, "jello": false, "clientName": null, "name": "puck4", "position_2d_m": { "x": 4.804977571488807, "y": 1.2391678985453547 }, "position_2d_px": { "x": 480, "y": 476 }, "velocity_2d_mps": { "x": -0.2101415236214422, "y": 0.9497453491916799 }, "color": "DarkSlateGray", "shape": "circle", "colorSource": false, "density": 1.5, "linDamp": 0, "hitLimit": 10, "createdByClient": null, "ageLimit_ms": null, "createTail": false, "tailPars": null, "tail": null, "groupIndex": 0, "categoryBits": 1, "maskBits": 65535, "angle_r": 0, "angularSpeed_rps": 0, "borderWidth_px": 3, "age_ms": 0, "restitution": 1, "restitution_fixed": false, "friction": 0.6, "friction_fixed": false, "radius_m": 0.25, "aspectR": 1, "half_height_m": null, "half_width_m": null, "radius_px": 25, "width_scaling": 1, "height_scaling": 1, "radius_scaling": 1, "mass_kg": 0.2945243112740431, "cursorString_spring_force_2d_N": { "x": 0, "y": 0 }, "cursorString_puckDrag_force_2d_N": { "x": 0, "y": 0 }, "nonCOM_2d_N": [], "sprDamp_force_2d_N": { "x": 0, "y": 0 }, "springOnly_force_2d_N": { "x": 0, "y": 0 }, "jet_force_2d_N": { "x": 0, "y": 0 }, "impulse_2d_Ns": { "x": 0, "y": 0 }, "hitCount": 0, "poorHealthFraction": 0, "flash": false, "inComing": false, "flashCount": 0, "navSpringName": null, "pinName": null, "deleted": false }, "puck5": { "parsAtBirth": { "radius_m": 0.2, "name": "puck5" }, "bullet": false, "jello": false, "clientName": null, "name": "puck5", "position_2d_m": { "x": 3.5891224994785857, "y": 5 }, "position_2d_px": { "x": 359, "y": 100 }, "velocity_2d_mps": { "x": 0.7137583395845721, "y": 0 }, "color": "DarkSlateGray", "shape": "circle", "colorSource": false, "density": 1.5, "linDamp": 0, "hitLimit": 10, "createdByClient": null, "ageLimit_ms": null, "createTail": false, "tailPars": null, "tail": null, "groupIndex": 0, "categoryBits": 1, "maskBits": 65535, "angle_r": 0, "angularSpeed_rps": 0, "borderWidth_px": 3, "age_ms": 0, "restitution": 1, "restitution_fixed": false, "friction": 0.6, "friction_fixed": false, "radius_m": 0.2, "aspectR": 1, "half_height_m": null, "half_width_m": null, "radius_px": 20, "width_scaling": 1, "height_scaling": 1, "radius_scaling": 1, "mass_kg": 0.1884955592153876, "cursorString_spring_force_2d_N": { "x": 0, "y": 0 }, "cursorString_puckDrag_force_2d_N": { "x": 0, "y": 0 }, "nonCOM_2d_N": [], "sprDamp_force_2d_N": { "x": 0, "y": 0 }, "springOnly_force_2d_N": { "x": 0, "y": 0 }, "jet_force_2d_N": { "x": 0, "y": 0 }, "impulse_2d_Ns": { "x": 0, "y": 0 }, "hitCount": 0, "poorHealthFraction": 0, "flash": false, "inComing": false, "flashCount": 0, "navSpringName": null, "pinName": null, "deleted": false } }, "pinMapData": { "pin1": { "parsAtBirth": { "name": "pin1" }, "name": "pin1", "position_2d_m": { "x": 1, "y": 5 }, "position_2d_px": { "x": 100, "y": 100 }, "radius_px": 6, "radius_m": 0.08, "categoryBits": 0, "maskBits": 0, "velocity_2d_mps": { "x": 0, "y": 0 }, "deleted": false, "NPC": false, "nextPinName": null, "previousPinName": null, "fillColor": "blue", "borderColor": "gray" }, "pin2": { "parsAtBirth": { "name": "pin2" }, "name": "pin2", "position_2d_m": { "x": 5, "y": 5 }, "position_2d_px": { "x": 500, "y": 100 }, "radius_px": 6, "radius_m": 0.08, "categoryBits": 0, "maskBits": 0, "velocity_2d_mps": { "x": 0, "y": 0 }, "deleted": false, "NPC": false, "nextPinName": null, "previousPinName": null, "fillColor": "blue", "borderColor": "gray" } }, "springMapData": { "s1": { "parsAtBirth": { "length_m": 0.5, "strength_Npm": 5, "unstretched_width_m": 0.05, "color": "yellow", "damper_Ns2pm2": 0.5, "softContraints": false }, "name": "s1", "color": "yellow", "length_m": 0.5, "strength_Npm": 5, "unstretched_width_m": 0.05, "drag_c": 0, "damper_Ns2pm2": 0.5, "dashedLine": false, "roundedEnds": true, "navigationForNPC": false, "p1_name": "puck1", "pinned": false, "p2_name": "puck2", "p1p2_separation_2d_m": { "x": 0.6904340618925254, "y": -0.040113839498997717 }, "p1p2_separation_m": 0.6915983761843018, "p1p2_normalized_2d": { "x": 0.9983164878173947, "y": -0.05800163921771255 }, "softContraints": false }, "s2": { "parsAtBirth": { "length_m": 0.5, "strength_Npm": 5, "unstretched_width_m": 0.05, "color": "yellow", "damper_Ns2pm2": 0.5, "softContraints": false }, "name": "s2", "color": "yellow", "length_m": 0.5, "strength_Npm": 5, "unstretched_width_m": 0.05, "drag_c": 0, "damper_Ns2pm2": 0.5, "dashedLine": false, "roundedEnds": true, "navigationForNPC": false, "p1_name": "pin1", "pinned": false, "p2_name": "puck6", "p1p2_separation_2d_m": { "x": -1.4434598027549232, "y": 0 }, "p1p2_separation_m": 1.4434598027549232, "p1p2_normalized_2d": { "x": -1, "y": 0 }, "softContraints": false }, "s3": { "parsAtBirth": { "length_m": 0.5, "strength_Npm": 5, "unstretched_width_m": 0.05, "color": "cyan", "damper_Ns2pm2": 0.5, "softContraints": true }, "name": "s3", "color": "cyan", "length_m": 0.5, "strength_Npm": 5, "unstretched_width_m": 0.05, "drag_c": 0, "damper_Ns2pm2": 0.5, "dashedLine": false, "roundedEnds": true, "navigationForNPC": false, "p1_name": "puck3", "pinned": false, "p2_name": "puck4", "p1p2_separation_2d_m": { "x": 0.7367513965978381, "y": 0.09647682771754984 }, "p1p2_separation_m": 0.7430413169368892, "p1p2_normalized_2d": { "x": 0, "y": 0 }, "softContraints": true }, "s4": { "parsAtBirth": { "length_m": 0.5, "strength_Npm": 5, "unstretched_width_m": 0.05, "color": "cyan", "damper_Ns2pm2": 0.5, "softContraints": true }, "name": "s4", "color": "cyan", "length_m": 0.5, "strength_Npm": 5, "unstretched_width_m": 0.05, "drag_c": 0, "damper_Ns2pm2": 0.5, "dashedLine": false, "roundedEnds": true, "navigationForNPC": false, "p1_name": "pin2", "pinned": false, "p2_name": "puck5", "p1p2_separation_2d_m": { "x": 1.4108775005214143, "y": 0 }, "p1p2_separation_m": 1.4108775005214143, "p1p2_normalized_2d": { "x": 0, "y": 0 }, "softContraints": true } }, "clients": { "local": { "color": "red", "name": "local", "puck": null, "isMouseDown": false, "button": null, "mouseX_px": 640, "mouseY_px": 393, "mouse_2d_px": { "x": 635, "y": 389 }, "mouse_2d_m": { "x": 6.35, "y": 2.11 }, "selectedBody": null, "selectionPoint_l_2d_m": null, "selectionPoint_w_2d_m": null, "selectionPoint_w_2d_px": null, "key_shift": "U", "key_ctrl": "U", "key_alt": "U", "key_space": "U", "key_leftArrow": "U", "key_upArrow": "U", "key_rightArrow": "U", "key_downArrow": "U", "key_0": "U", "key_1": "U", "key_2": "U", "key_3": "U", "key_4": "U", "key_5": "U", "key_6": "U", "key_7": "U", "key_8": "U", "key_9": "U", "key_a": "U", "key_b": "U", "key_c": "U", "key_d": "U", "key_e": "U", "key_f": "U", "key_g": "U", "key_i": "U", "key_j": "U", "key_k": "U", "key_l": "U", "key_m": "U", "key_p": "U", "key_q": "U", "key_r": "U", "key_s": "U", "key_t": "U", "key_v": "U", "key_w": "U", "key_x": "U", "key_z": "U", "key_s_enabled": true, "key_k_enabled": true, "key_i_enabled": true, "triangle_raw_2d_px": [{ "x": 0, "y": 0 }, { "x": 11, "y": 12 }, { "x": 3, "y": 16 } ], "NPC_guncooling_timer_s": 0, "NPC_guncooling_timer_limit_s": 2, "NPC_shield_timer_s": 0, "NPC_shield_timer_limit_s": 0.5, "NPC_pin_timer_s": 0, "NPC_pin_timer_limit_s": 5, "NPC_aimStepCount": 0, "NPC_aimStepCount_limit": 20, "NPC_skipFrame": false, "triangle_2d_px": [{ "x": 635, "y": 390 }, { "x": 646, "y": 402 }, { "x": 638, "y": 406 } ] } } }