diff --git a/addons/openfairway/physics/BallPhysicsProfile.cs b/addons/openfairway/physics/BallPhysicsProfile.cs index 9255abe..dd99aea 100644 --- a/addons/openfairway/physics/BallPhysicsProfile.cs +++ b/addons/openfairway/physics/BallPhysicsProfile.cs @@ -155,7 +155,16 @@ private static Dictionary BuildDefaultRegimeOverrid // Fast iron with high spin: over-carry ["I-S3-V2-P3"] = new() { DragScaleMultiplier = 1.08f, LiftScaleMultiplier = 0.96f }, - ["I-S2-V2-P3"] = new() { DragScaleMultiplier = 1.04f }, + ["I-S3-V1-P2"] = new() { DragScaleMultiplier = 1.04f, LiftScaleMultiplier = 0.98f }, + ["I-S2-V2-P3"] = new() { DragScaleMultiplier = 1.05f }, + ["I-S2-V2-P4"] = new() { DragScaleMultiplier = 1.06f, LiftScaleMultiplier = 0.95f }, + + // Mid-speed iron: over-carry clusters + ["I-S2-V1-P2"] = new() { DragScaleMultiplier = 1.03f, LiftScaleMultiplier = 0.99f }, + ["I-S2-V0-P2"] = new() { DragScaleMultiplier = 1.06f, LiftScaleMultiplier = 0.96f }, + + // Mid-speed iron: under-carry (very low spin) + ["I-S2-V1-P0"] = new() { DragScaleMultiplier = 0.96f, LiftScaleMultiplier = 1.03f }, // Mid-speed iron: all short ["I-S2-V1-P1"] = new() { DragScaleMultiplier = 0.97f, LiftScaleMultiplier = 1.02f }, diff --git a/addons/openfairway/physics/FlightProfile.cs b/addons/openfairway/physics/FlightProfile.cs index ad9f336..5a7f0bd 100644 --- a/addons/openfairway/physics/FlightProfile.cs +++ b/addons/openfairway/physics/FlightProfile.cs @@ -101,7 +101,7 @@ public sealed class FlightProfile // --- Mid-spin Cl boost (bell-shaped lift recovery for mid-iron SR regime) --- public float MidSpinClBoostSrStart { get; init; } = 0.17f; public float MidSpinClBoostSrEnd { get; init; } = 0.31f; - public float MidSpinClBoostMax { get; init; } = 0.50f; + public float MidSpinClBoostMax { get; init; } = 0.45f; // --- High-launch drag boost --- public float HighLaunchDragBoostMax { get; init; } = 1.24f; diff --git a/assets/data/calibration/flightscope.csv b/assets/data/calibration/flightscope.csv index 7948f08..ce41223 100644 --- a/assets/data/calibration/flightscope.csv +++ b/assets/data/calibration/flightscope.csv @@ -135,3 +135,49 @@ s4_shot_pw_49,shot_pw_49.json,60.30,22.56,3.45,4043.8,4.96,4028.7,350.0,59.3,68. s4_shot_pw_6,shot_pw_6.json,68.69,26.10,1.07,4148.8,8.23,4106.0,593.9,78.4,83.1,4.7,38.6 s4_shot_pw_7,shot_pw_7.json,76.85,25.20,3.72,6565.2,8.16,6498.7,931.8,91.1,92.6,1.5,49.5 s4_shot_pw_9,shot_pw_9.json,76.60,28.64,4.92,7133.1,5.71,7097.7,709.7,0.0,0.0,0.0,0.0 +s5_shot_3w_35,shot_3w_35.json,107.01,10.72,9.52,3700.4,15.50,3565.9,988.7,134.5,151.6,17.1,31.0 +s5_shot_3w_36,shot_3w_36.json,128.27,9.51,-2.92,2613.7,-6.77,2595.5,-308.1,180.9,199.7,18.8,39.9 +s5_shot_3w_37,shot_3w_37.json,100.89,23.65,6.42,7893.3,7.23,7830.5,993.3,131.0,131.7,0.7,87.5 +s5_shot_3w_38,shot_3w_38.json,130.05,7.89,-0.57,1997.4,1.80,1996.4,62.6,171.0,200.0,29.0,28.9 +s5_shot_3w_39,shot_3w_39.json,129.89,11.95,-1.78,2965.3,-0.82,2965.0,-42.3,197.1,208.9,11.8,59.4 +s5_shot_3w_40,shot_3w_40.json,116.24,14.11,0.83,3909.1,0.36,3909.0,24.4,169.4,177.1,7.7,60.2 +s5_shot_3w_41,shot_3w_41.json,126.56,7.88,-0.02,2418.3,5.93,2405.4,249.7,165.8,191.8,26.0,28.8 +s5_shot_6i_30,shot_6i_30.json,96.45,10.09,-3.53,1644.0,5.10,1637.5,146.1,98.4,129.3,30.9,16.5 +s5_shot_6i_31,shot_6i_31.json,97.89,9.42,-3.68,3752.0,4.52,3740.4,295.5,109.9,130.4,20.5,20.5 +s5_shot_6i_32,shot_6i_32.json,90.17,9.74,-1.26,4135.2,7.98,4095.1,573.9,93.7,113.4,19.7,17.2 +s5_shot_6i_33,shot_6i_33.json,105.71,11.72,-1.36,3776.1,10.99,3706.9,720.0,136.7,151.9,15.2,35.0 +s5_shot_6i_34,shot_6i_34.json,111.13,9.31,-8.56,2637.1,-2.91,2633.7,-134.0,136.7,161.3,24.6,25.6 +s5_shot_7i_26,shot_7i_26.json,107.15,14.31,-2.94,4648.0,7.59,4607.2,614.2,147.4,153.9,6.5,51.9 +s5_shot_7i_27,shot_7i_27.json,103.35,14.05,-1.80,5084.7,13.65,4941.0,1200.1,136.6,142.8,6.2,46.5 +s5_shot_7i_28,shot_7i_28.json,98.45,15.21,-3.44,3446.7,6.38,3425.3,383.1,129.8,140.3,10.5,40.9 +s5_shot_7i_29,shot_7i_29.json,110.04,12.92,-0.51,3297.2,8.98,3256.8,514.5,150.7,163.0,12.3,42.9 +s5_shot_8i_22,shot_8i_22.json,100.79,15.59,-5.47,3498.0,3.50,3491.5,213.3,136.5,146.4,9.9,45.5 +s5_shot_8i_23,shot_8i_23.json,109.67,18.21,-0.03,3711.3,5.17,3696.2,334.5,160.9,167.2,6.3,70.2 +s5_shot_8i_24,shot_8i_24.json,106.67,18.22,0.20,5796.8,8.85,5727.9,891.6,147.5,150.4,2.9,72.1 +s5_shot_8i_25,shot_8i_25.json,96.96,18.53,-2.03,4809.3,4.30,4795.8,360.2,130.8,135.6,4.8,56.2 +s5_shot_9i_19,shot_9i_19.json,101.23,20.48,-2.39,4282.2,5.84,4259.9,435.9,142.6,147.2,4.6,69.2 +s5_shot_9i_20,shot_9i_20.json,98.52,20.39,1.42,4377.3,10.38,4305.7,788.4,136.0,140.8,4.8,64.1 +s5_shot_9i_21,shot_9i_21.json,90.13,20.73,0.61,6342.4,5.08,6317.5,561.6,115.3,117.5,2.2,56.5 +s5_shot_driver_42,shot_driver_42.json,136.11,8.71,-3.00,2154.9,-0.59,2154.8,-22.3,193.9,216.9,23.0,39.1 +s5_shot_driver_43,shot_driver_43.json,133.20,5.82,-6.58,2130.0,-19.69,2005.5,-717.5,154.2,192.0,37.8,18.4 +s5_shot_driver_44,shot_driver_44.json,123.96,12.67,1.29,3764.6,2.20,3761.8,144.7,184.7,193.3,8.6,61.9 +s5_shot_driver_45,shot_driver_45.json,128.90,5.14,-5.25,1634.8,2.91,1632.7,83.0,135.9,181.7,45.8,13.3 +s5_shot_driver_46,shot_driver_46.json,134.80,10.70,-2.42,3349.5,-6.46,3328.2,-376.8,204.1,215.2,11.1,59.2 +s5_shot_driver_47,shot_driver_47.json,137.20,7.11,-4.32,2596.0,-12.12,2538.1,-545.3,186.5,211.8,25.3,32.0 +s5_shot_driver_48,shot_driver_48.json,123.09,15.27,-4.21,4479.8,-6.82,4448.1,-532.0,184.2,189.2,5.0,79.3 +s5_shot_driver_49,shot_driver_49.json,123.52,18.72,3.77,5686.4,8.96,5617.1,885.3,180.1,182.6,2.5,104.1 +s5_shot_lw_15,shot_lw_15.json,47.74,29.72,2.34,5998.7,0.00,5998.7,0.0,41.4,45.1,3.7,21.3 +s5_shot_lw_16,shot_lw_16.json,52.57,37.20,5.56,5241.1,7.60,5195.1,692.9,50.6,51.8,1.2,36.6 +s5_shot_lw_17,shot_lw_17.json,55.36,37.35,7.30,5902.8,9.87,5815.5,1011.5,54.5,55.4,0.9,41.0 +s5_shot_lw_18,shot_lw_18.json,52.33,36.23,0.10,5373.7,13.17,5232.3,1224.3,50.0,51.3,1.3,34.7 +s5_shot_pw_1,shot_pw_1.json,48.44,29.04,5.59,4593.3,2.52,4588.9,201.9,42.6,47.8,5.2,21.0 +s5_shot_pw_10,shot_pw_10.json,83.58,25.18,1.37,5520.0,9.92,5437.5,950.8,105.5,107.9,2.4,59.2 +s5_shot_pw_11,shot_pw_11.json,76.63,21.19,2.89,5232.4,-5.55,5207.9,-505.6,89.9,94.2,4.3,37.9 +s5_shot_pw_2,shot_pw_2.json,57.80,26.75,2.79,4564.0,2.10,4560.9,167.5,57.9,61.9,4.0,27.4 +s5_shot_pw_3,shot_pw_3.json,69.78,29.37,8.09,6334.5,8.08,6271.6,890.6,79.4,80.6,1.2,48.8 +s5_shot_pw_4,shot_pw_4.json,68.60,29.11,3.83,6801.1,6.75,6753.9,799.5,76.8,77.8,1.0,46.6 +s5_shot_pw_5,shot_pw_5.json,77.39,28.89,4.54,6293.5,7.31,6242.3,801.2,93.0,94.2,1.2,60.1 +s5_shot_pw_6,shot_pw_6.json,76.27,28.17,3.68,5434.0,9.06,5366.3,855.3,92.3,94.4,2.1,55.8 +s5_shot_pw_7,shot_pw_7.json,79.68,28.14,4.44,5839.6,9.11,5765.9,924.9,97.9,99.5,1.6,61.5 +s5_shot_pw_8,shot_pw_8.json,76.43,28.21,1.55,5023.9,4.70,5007.0,411.9,93.4,95.9,2.5,55.9 +s5_shot_pw_9,shot_pw_9.json,86.42,24.09,0.20,5479.7,3.71,5468.2,354.1,111.1,113.7,2.6,60.9 diff --git a/assets/data/calibration/history/iteration_073.json b/assets/data/calibration/history/iteration_073.json new file mode 100644 index 0000000..a8fa487 --- /dev/null +++ b/assets/data/calibration/history/iteration_073.json @@ -0,0 +1,1310 @@ +{ + "iteration": 73, + "timestamp": "2026-03-16T10:43:33.676227", + "profile_overrides": {}, + "summary": { + "pass": 38, + "moderate": 31, + "severe": 60, + "no_reference": 53 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_36": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_37": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_38": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_39": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_40": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_30": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_31": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_32": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_33": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_34": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_26": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_27": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_28": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_29": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_22": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_19": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_20": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_21": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_43": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_44": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_46": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_48": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_49": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_15": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_17": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_1": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_10": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_3": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_7": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_074.json b/assets/data/calibration/history/iteration_074.json new file mode 100644 index 0000000..2eed5e7 --- /dev/null +++ b/assets/data/calibration/history/iteration_074.json @@ -0,0 +1,1310 @@ +{ + "iteration": 74, + "timestamp": "2026-03-16T10:43:39.795988", + "profile_overrides": {}, + "summary": { + "pass": 38, + "moderate": 31, + "severe": 60, + "no_reference": 53 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_36": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_37": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_38": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_39": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_40": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_30": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_31": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_32": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_33": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_34": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_26": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_27": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_28": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_29": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_22": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_19": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_20": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_21": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_43": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_44": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_46": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_48": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_49": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_15": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_17": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_1": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_10": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_3": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_7": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_075.json b/assets/data/calibration/history/iteration_075.json new file mode 100644 index 0000000..6ef68c8 --- /dev/null +++ b/assets/data/calibration/history/iteration_075.json @@ -0,0 +1,1310 @@ +{ + "iteration": 75, + "timestamp": "2026-03-16T10:43:58.820904", + "profile_overrides": {}, + "summary": { + "pass": 38, + "moderate": 31, + "severe": 60, + "no_reference": 53 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_36": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_37": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_38": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_39": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_40": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_30": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_31": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_32": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_33": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_34": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_26": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_27": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_28": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_29": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_22": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_19": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_20": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_21": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_43": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_44": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_46": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_48": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_49": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_15": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_17": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_1": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_10": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_3": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_7": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_076.json b/assets/data/calibration/history/iteration_076.json new file mode 100644 index 0000000..67ceeb9 --- /dev/null +++ b/assets/data/calibration/history/iteration_076.json @@ -0,0 +1,1310 @@ +{ + "iteration": 76, + "timestamp": "2026-03-16T10:49:33.673445", + "profile_overrides": {}, + "summary": { + "pass": 38, + "moderate": 31, + "severe": 60, + "no_reference": 53 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_36": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_37": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_38": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_39": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_40": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_30": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_31": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_32": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_33": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_34": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_26": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_27": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_28": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_29": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_22": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_19": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_20": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_21": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_43": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_44": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_46": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_48": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_49": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_15": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_17": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_1": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_10": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_3": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_7": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_077.json b/assets/data/calibration/history/iteration_077.json new file mode 100644 index 0000000..d3e8745 --- /dev/null +++ b/assets/data/calibration/history/iteration_077.json @@ -0,0 +1,1310 @@ +{ + "iteration": 77, + "timestamp": "2026-03-16T10:49:48.425388", + "profile_overrides": {}, + "summary": { + "pass": 38, + "moderate": 31, + "severe": 60, + "no_reference": 53 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_36": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_37": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_38": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_39": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_40": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_30": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_31": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_32": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_33": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_34": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_26": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_27": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_28": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_29": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_22": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_19": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_20": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_21": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_43": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_44": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_46": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_48": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_49": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_15": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_17": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_1": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_10": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_3": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_7": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_078.json b/assets/data/calibration/history/iteration_078.json new file mode 100644 index 0000000..bd4af7d --- /dev/null +++ b/assets/data/calibration/history/iteration_078.json @@ -0,0 +1,1310 @@ +{ + "iteration": 78, + "timestamp": "2026-03-16T10:49:58.218621", + "profile_overrides": {}, + "summary": { + "pass": 38, + "moderate": 31, + "severe": 60, + "no_reference": 53 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_36": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_37": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_38": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_39": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_40": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_30": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_31": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_32": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_33": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_34": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_26": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_27": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_28": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_29": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_22": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_19": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_20": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_21": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_43": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_44": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_46": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_48": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_49": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_15": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_17": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_1": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_10": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_3": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_7": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_079.json b/assets/data/calibration/history/iteration_079.json new file mode 100644 index 0000000..67f3f30 --- /dev/null +++ b/assets/data/calibration/history/iteration_079.json @@ -0,0 +1,1310 @@ +{ + "iteration": 79, + "timestamp": "2026-03-16T10:52:17.173776", + "profile_overrides": {}, + "summary": { + "pass": 38, + "moderate": 31, + "severe": 60, + "no_reference": 53 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_36": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_37": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_38": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_39": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_40": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_30": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_31": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_32": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_33": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_34": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_26": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_27": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_28": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_29": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_22": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_19": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_20": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_21": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_43": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_44": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_46": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_48": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_49": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_15": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_17": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_1": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_10": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_3": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_7": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_080.json b/assets/data/calibration/history/iteration_080.json new file mode 100644 index 0000000..831f806 --- /dev/null +++ b/assets/data/calibration/history/iteration_080.json @@ -0,0 +1,1310 @@ +{ + "iteration": 80, + "timestamp": "2026-03-16T10:54:22.373169", + "profile_overrides": {}, + "summary": { + "pass": 38, + "moderate": 31, + "severe": 60, + "no_reference": 53 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_36": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_37": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_38": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_39": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_40": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_30": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_31": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_32": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_33": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_6i_34": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_26": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_27": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_28": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_7i_29": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_22": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_19": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_20": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_9i_21": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_43": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_44": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_46": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_48": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_49": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_15": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_17": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_1": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_10": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_3": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_7": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_081.json b/assets/data/calibration/history/iteration_081.json new file mode 100644 index 0000000..14f76f4 --- /dev/null +++ b/assets/data/calibration/history/iteration_081.json @@ -0,0 +1,1556 @@ +{ + "iteration": 81, + "timestamp": "2026-03-16T10:54:53.716423", + "profile_overrides": {}, + "summary": { + "pass": 49, + "moderate": 43, + "severe": 83, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 10.8, + "diff_total_yd": 18.8, + "diff_apex_ft": -5.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -4.3, + "diff_total_yd": 18.6, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_6i_31": { + "diff_carry_yd": 0.3, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 10.5, + "diff_total_yd": -9.1, + "diff_apex_ft": 4.9, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.2, + "diff_total_yd": -14.9, + "diff_apex_ft": -2.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 7.1, + "diff_total_yd": 13.0, + "diff_apex_ft": 14.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 9.0, + "diff_total_yd": 12.8, + "diff_apex_ft": 12.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.3, + "diff_total_yd": -7.7, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.3, + "diff_total_yd": 3.3, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -0.9, + "diff_total_yd": 6.1, + "diff_apex_ft": -4.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.8, + "diff_total_yd": 5.8, + "diff_apex_ft": 8.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": 8.6, + "diff_apex_ft": 10.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.3, + "diff_total_yd": 7.4, + "diff_apex_ft": 11.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": 0.4, + "diff_total_yd": 1.1, + "diff_apex_ft": -7.5, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.9, + "diff_total_yd": 10.3, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 2.3, + "diff_total_yd": 21.9, + "diff_apex_ft": 29.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.1, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [ + { + "shot": "s5_shot_3w_35", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -18.4 + }, + { + "shot": "s5_shot_3w_36", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -21.7 + }, + { + "shot": "s5_shot_3w_37", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 18.8 + }, + { + "shot": "s5_shot_3w_38", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -29.5 + }, + { + "shot": "s5_shot_3w_39", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": -6.8 + }, + { + "shot": "s5_shot_3w_41", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -23.5 + }, + { + "shot": "s5_shot_6i_30", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 18.6 + }, + { + "shot": "s5_shot_6i_31", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -21.0 + }, + { + "shot": "s5_shot_6i_32", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -9.1 + }, + { + "shot": "s5_shot_6i_33", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -14.9 + }, + { + "shot": "s5_shot_6i_34", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -26.3 + }, + { + "shot": "s5_shot_7i_26", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 13.0 + }, + { + "shot": "s5_shot_7i_27", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 12.8 + }, + { + "shot": "s5_shot_7i_28", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": -7.7 + }, + { + "shot": "s5_shot_7i_29", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -12.7 + }, + { + "shot": "s5_shot_8i_24", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": 6.1 + }, + { + "shot": "s5_shot_8i_25", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": 5.8 + }, + { + "shot": "s5_shot_9i_19", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": 8.6 + }, + { + "shot": "s5_shot_9i_20", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": 7.4 + }, + { + "shot": "s5_shot_driver_42", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -23.9 + }, + { + "shot": "s5_shot_driver_43", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 24.9 + }, + { + "shot": "s5_shot_driver_45", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 15.7 + }, + { + "shot": "s5_shot_driver_47", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": -23.0 + }, + { + "shot": "s5_shot_driver_48", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 10.3 + }, + { + "shot": "s5_shot_driver_49", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 21.9 + }, + { + "shot": "s5_shot_lw_16", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 11.3 + }, + { + "shot": "s5_shot_lw_17", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 10.9 + }, + { + "shot": "s5_shot_lw_18", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": 9.0 + }, + { + "shot": "s5_shot_pw_1", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": 9.5 + }, + { + "shot": "s5_shot_pw_2", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 16.9 + }, + { + "shot": "s5_shot_pw_3", + "was": "pass", + "now": "severe", + "prev_total_diff": null, + "curr_total_diff": 10.4 + }, + { + "shot": "s5_shot_pw_4", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": 8.4 + }, + { + "shot": "s5_shot_pw_6", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": 6.2 + }, + { + "shot": "s5_shot_pw_7", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": 5.8 + }, + { + "shot": "s5_shot_pw_8", + "was": "pass", + "now": "moderate", + "prev_total_diff": null, + "curr_total_diff": 5.2 + } + ], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_082.json b/assets/data/calibration/history/iteration_082.json new file mode 100644 index 0000000..8f6b7e6 --- /dev/null +++ b/assets/data/calibration/history/iteration_082.json @@ -0,0 +1,1310 @@ +{ + "iteration": 82, + "timestamp": "2026-03-16T10:55:01.522762", + "profile_overrides": {}, + "summary": { + "pass": 49, + "moderate": 43, + "severe": 83, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 10.8, + "diff_total_yd": 18.8, + "diff_apex_ft": -5.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -4.3, + "diff_total_yd": 18.6, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_6i_31": { + "diff_carry_yd": 0.3, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 10.5, + "diff_total_yd": -9.1, + "diff_apex_ft": 4.9, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.2, + "diff_total_yd": -14.9, + "diff_apex_ft": -2.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 7.1, + "diff_total_yd": 13.0, + "diff_apex_ft": 14.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 9.0, + "diff_total_yd": 12.8, + "diff_apex_ft": 12.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.3, + "diff_total_yd": -7.7, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.3, + "diff_total_yd": 3.3, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -0.9, + "diff_total_yd": 6.1, + "diff_apex_ft": -4.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.8, + "diff_total_yd": 5.8, + "diff_apex_ft": 8.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": 8.6, + "diff_apex_ft": 10.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.3, + "diff_total_yd": 7.4, + "diff_apex_ft": 11.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": 0.4, + "diff_total_yd": 1.1, + "diff_apex_ft": -7.5, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.9, + "diff_total_yd": 10.3, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 2.3, + "diff_total_yd": 21.9, + "diff_apex_ft": 29.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.1, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_083.json b/assets/data/calibration/history/iteration_083.json new file mode 100644 index 0000000..988e5e5 --- /dev/null +++ b/assets/data/calibration/history/iteration_083.json @@ -0,0 +1,1310 @@ +{ + "iteration": 83, + "timestamp": "2026-03-16T10:55:22.167581", + "profile_overrides": {}, + "summary": { + "pass": 49, + "moderate": 43, + "severe": 83, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 10.8, + "diff_total_yd": 18.8, + "diff_apex_ft": -5.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -4.3, + "diff_total_yd": 18.6, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_6i_31": { + "diff_carry_yd": 0.3, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 10.5, + "diff_total_yd": -9.1, + "diff_apex_ft": 4.9, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.2, + "diff_total_yd": -14.9, + "diff_apex_ft": -2.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 7.1, + "diff_total_yd": 13.0, + "diff_apex_ft": 14.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 9.0, + "diff_total_yd": 12.8, + "diff_apex_ft": 12.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.3, + "diff_total_yd": -7.7, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.3, + "diff_total_yd": 3.3, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -0.9, + "diff_total_yd": 6.1, + "diff_apex_ft": -4.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.8, + "diff_total_yd": 5.8, + "diff_apex_ft": 8.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": 8.6, + "diff_apex_ft": 10.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.3, + "diff_total_yd": 7.4, + "diff_apex_ft": 11.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": 0.4, + "diff_total_yd": 1.1, + "diff_apex_ft": -7.5, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.9, + "diff_total_yd": 10.3, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 2.3, + "diff_total_yd": 21.9, + "diff_apex_ft": 29.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.1, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_084.json b/assets/data/calibration/history/iteration_084.json new file mode 100644 index 0000000..ea3054c --- /dev/null +++ b/assets/data/calibration/history/iteration_084.json @@ -0,0 +1,1310 @@ +{ + "iteration": 84, + "timestamp": "2026-03-16T11:11:33.155330", + "profile_overrides": {}, + "summary": { + "pass": 49, + "moderate": 43, + "severe": 83, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 4.8, + "diff_total_yd": 11.3, + "diff_apex_ft": 4.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.6, + "diff_total_yd": 7.3, + "diff_apex_ft": -5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 15.9, + "diff_apex_ft": 17.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.3, + "diff_total_yd": 9.3, + "diff_apex_ft": 2.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s3_shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 10.8, + "diff_total_yd": 18.8, + "diff_apex_ft": -5.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -4.3, + "diff_total_yd": 18.6, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_6i_31": { + "diff_carry_yd": 0.3, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 10.5, + "diff_total_yd": -9.1, + "diff_apex_ft": 4.9, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.2, + "diff_total_yd": -14.9, + "diff_apex_ft": -2.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 7.1, + "diff_total_yd": 13.0, + "diff_apex_ft": 14.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 9.0, + "diff_total_yd": 12.8, + "diff_apex_ft": 12.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.3, + "diff_total_yd": -7.7, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.3, + "diff_total_yd": 3.3, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -0.9, + "diff_total_yd": 6.1, + "diff_apex_ft": -4.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.8, + "diff_total_yd": 5.8, + "diff_apex_ft": 8.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": 8.6, + "diff_apex_ft": 10.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.3, + "diff_total_yd": 7.4, + "diff_apex_ft": 11.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": 0.4, + "diff_total_yd": 1.1, + "diff_apex_ft": -7.5, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.9, + "diff_total_yd": 10.3, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 2.3, + "diff_total_yd": 21.9, + "diff_apex_ft": 29.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.1, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.9, + "diff_total_yd": -4.0, + "diff_apex_ft": 3.1, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Flight.HighLaunchDragBoostMax" + ] +} diff --git a/assets/data/calibration/history/iteration_085.json b/assets/data/calibration/history/iteration_085.json new file mode 100644 index 0000000..13ea067 --- /dev/null +++ b/assets/data/calibration/history/iteration_085.json @@ -0,0 +1,1317 @@ +{ + "iteration": 85, + "timestamp": "2026-03-16T11:12:12.663708", + "profile_overrides": {}, + "summary": { + "pass": 54, + "moderate": 43, + "severe": 78, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 2.1, + "diff_total_yd": 6.1, + "diff_apex_ft": 1.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.5, + "diff_total_yd": 7.4, + "diff_apex_ft": -5.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 16.8, + "diff_apex_ft": 14.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.5, + "diff_apex_ft": 1.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 1.2, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.8, + "diff_total_yd": -0.7, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.8, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -3.3, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.5, + "diff_total_yd": 1.8, + "diff_apex_ft": -3.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 1.0, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.2, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.2, + "diff_total_yd": 5.2, + "diff_apex_ft": -4.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.4, + "diff_total_yd": 5.9, + "diff_apex_ft": -3.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.9, + "diff_total_yd": 21.6, + "diff_apex_ft": 20.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.7, + "diff_total_yd": 8.3, + "diff_apex_ft": 2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.6, + "diff_total_yd": 2.3, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": -0.1, + "diff_total_yd": -10.6, + "diff_apex_ft": 4.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.9, + "diff_total_yd": -15.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 0.3, + "diff_total_yd": -24.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.7, + "diff_apex_ft": 0.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.0, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.8, + "diff_total_yd": -16.2, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 1.8, + "diff_total_yd": 12.7, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.9, + "diff_total_yd": 11.7, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.9, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": -0.2, + "diff_total_yd": 7.1, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.9, + "diff_total_yd": 8.5, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -1.0, + "diff_total_yd": -17.4, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 2.6, + "diff_total_yd": -4.1, + "diff_apex_ft": 5.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 3.0, + "diff_total_yd": 4.1, + "diff_apex_ft": 7.9, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_48": { + "diff_carry_yd": 2.3, + "diff_total_yd": 4.6, + "diff_apex_ft": 10.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -1.7, + "diff_total_yd": -13.5, + "diff_apex_ft": 2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -1.4, + "diff_total_yd": -19.0, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 0.8, + "diff_total_yd": -23.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": -0.1, + "diff_apex_ft": 5.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": -2.0, + "diff_total_yd": -1.9, + "diff_apex_ft": 5.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -3.0, + "diff_total_yd": -2.2, + "diff_apex_ft": 3.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.7, + "diff_total_yd": -1.1, + "diff_apex_ft": 3.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.5, + "diff_total_yd": -0.4, + "diff_apex_ft": 4.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 0.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 1.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_1": { + "diff_carry_yd": -0.2, + "diff_total_yd": -11.5, + "diff_apex_ft": 1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -1.9, + "diff_apex_ft": 0.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.5, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.3, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.4, + "diff_total_yd": 3.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.7, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.3, + "diff_total_yd": 17.0, + "diff_apex_ft": -8.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.6, + "diff_apex_ft": 5.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.6, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.1, + "diff_total_yd": 3.3, + "diff_apex_ft": -7.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 5.7, + "diff_apex_ft": -5.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_3w_33": { + "diff_carry_yd": 5.6, + "diff_total_yd": 9.4, + "diff_apex_ft": -9.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -4.8, + "diff_total_yd": -9.2, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": -1.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 0.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -2.6, + "diff_total_yd": -10.0, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 5.0, + "diff_total_yd": 12.9, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 1.7, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": -14.0, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.9, + "diff_total_yd": 10.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 3.4, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.7, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.6, + "diff_total_yd": -0.9, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.4, + "diff_total_yd": -16.0, + "diff_apex_ft": -0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.3, + "diff_total_yd": -6.9, + "diff_apex_ft": 2.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.2, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 5.4, + "diff_total_yd": 12.1, + "diff_apex_ft": -9.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -2.1, + "diff_total_yd": 21.3, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_6i_31": { + "diff_carry_yd": -0.3, + "diff_total_yd": -21.8, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 4.0, + "diff_total_yd": -15.8, + "diff_apex_ft": 2.4, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.4, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 2.7, + "diff_total_yd": 6.7, + "diff_apex_ft": 9.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 5.8, + "diff_total_yd": 8.1, + "diff_apex_ft": 8.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.5, + "diff_total_yd": -7.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.5, + "diff_total_yd": 3.0, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -1.0, + "diff_total_yd": 4.5, + "diff_apex_ft": -5.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.5, + "diff_total_yd": 5.1, + "diff_apex_ft": 7.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -3.0, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.5, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": -0.2, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.8, + "diff_total_yd": 9.8, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 3.0, + "diff_total_yd": 22.1, + "diff_apex_ft": 26.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.2, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.3, + "diff_total_yd": -4.7, + "diff_apex_ft": 2.6, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [ + { + "shot": "s4_shot_3w_32", + "was": "pass", + "now": "moderate", + "prev_total_diff": 4.4, + "curr_total_diff": 5.7 + } + ], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax" + ] +} diff --git a/assets/data/calibration/history/iteration_086.json b/assets/data/calibration/history/iteration_086.json new file mode 100644 index 0000000..1e9e45d --- /dev/null +++ b/assets/data/calibration/history/iteration_086.json @@ -0,0 +1,1309 @@ +{ + "iteration": 86, + "timestamp": "2026-03-16T11:17:26.286963", + "profile_overrides": {}, + "summary": { + "pass": 54, + "moderate": 43, + "severe": 78, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 2.1, + "diff_total_yd": 6.1, + "diff_apex_ft": 1.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.5, + "diff_total_yd": 7.4, + "diff_apex_ft": -5.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 16.8, + "diff_apex_ft": 14.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.5, + "diff_apex_ft": 1.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 1.2, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.8, + "diff_total_yd": -0.7, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.8, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -3.3, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.5, + "diff_total_yd": 1.8, + "diff_apex_ft": -3.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 1.0, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.2, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.2, + "diff_total_yd": 5.2, + "diff_apex_ft": -4.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.4, + "diff_total_yd": 5.9, + "diff_apex_ft": -3.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.9, + "diff_total_yd": 21.6, + "diff_apex_ft": 20.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.7, + "diff_total_yd": 8.3, + "diff_apex_ft": 2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.6, + "diff_total_yd": 2.3, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": -0.1, + "diff_total_yd": -10.6, + "diff_apex_ft": 4.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.9, + "diff_total_yd": -15.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 0.3, + "diff_total_yd": -24.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.7, + "diff_apex_ft": 0.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.0, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.8, + "diff_total_yd": -16.2, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 1.8, + "diff_total_yd": 12.7, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.9, + "diff_total_yd": 11.7, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.9, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": -0.2, + "diff_total_yd": 7.1, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.9, + "diff_total_yd": 8.5, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -1.0, + "diff_total_yd": -17.4, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 2.6, + "diff_total_yd": -4.1, + "diff_apex_ft": 5.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 3.0, + "diff_total_yd": 4.1, + "diff_apex_ft": 7.9, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_48": { + "diff_carry_yd": 2.3, + "diff_total_yd": 4.6, + "diff_apex_ft": 10.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -1.7, + "diff_total_yd": -13.5, + "diff_apex_ft": 2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -1.4, + "diff_total_yd": -19.0, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 0.8, + "diff_total_yd": -23.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": -0.1, + "diff_apex_ft": 5.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": -2.0, + "diff_total_yd": -1.9, + "diff_apex_ft": 5.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -3.0, + "diff_total_yd": -2.2, + "diff_apex_ft": 3.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.7, + "diff_total_yd": -1.1, + "diff_apex_ft": 3.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.5, + "diff_total_yd": -0.4, + "diff_apex_ft": 4.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 0.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 1.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_1": { + "diff_carry_yd": -0.2, + "diff_total_yd": -11.5, + "diff_apex_ft": 1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -1.9, + "diff_apex_ft": 0.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.5, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.3, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.4, + "diff_total_yd": 3.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.7, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.3, + "diff_total_yd": 17.0, + "diff_apex_ft": -8.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.6, + "diff_apex_ft": 5.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.6, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.1, + "diff_total_yd": 3.3, + "diff_apex_ft": -7.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 5.7, + "diff_apex_ft": -5.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_3w_33": { + "diff_carry_yd": 5.6, + "diff_total_yd": 9.4, + "diff_apex_ft": -9.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -4.8, + "diff_total_yd": -9.2, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": -1.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 0.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -2.6, + "diff_total_yd": -10.0, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 5.0, + "diff_total_yd": 12.9, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 1.7, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": -14.0, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.9, + "diff_total_yd": 10.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 3.4, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.7, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.6, + "diff_total_yd": -0.9, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.4, + "diff_total_yd": -16.0, + "diff_apex_ft": -0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.3, + "diff_total_yd": -6.9, + "diff_apex_ft": 2.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.2, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 5.4, + "diff_total_yd": 12.1, + "diff_apex_ft": -9.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -2.1, + "diff_total_yd": 21.3, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_6i_31": { + "diff_carry_yd": -0.3, + "diff_total_yd": -21.8, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 4.0, + "diff_total_yd": -15.8, + "diff_apex_ft": 2.4, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.4, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 2.7, + "diff_total_yd": 6.7, + "diff_apex_ft": 9.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 5.8, + "diff_total_yd": 8.1, + "diff_apex_ft": 8.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.5, + "diff_total_yd": -7.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.5, + "diff_total_yd": 3.0, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -1.0, + "diff_total_yd": 4.5, + "diff_apex_ft": -5.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.5, + "diff_total_yd": 5.1, + "diff_apex_ft": 7.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -3.0, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.5, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": -0.2, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.8, + "diff_total_yd": 9.8, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 3.0, + "diff_total_yd": 22.1, + "diff_apex_ft": 26.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.2, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.3, + "diff_total_yd": -4.7, + "diff_apex_ft": 2.6, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax" + ] +} diff --git a/assets/data/calibration/history/iteration_087.json b/assets/data/calibration/history/iteration_087.json new file mode 100644 index 0000000..672bf22 --- /dev/null +++ b/assets/data/calibration/history/iteration_087.json @@ -0,0 +1,1309 @@ +{ + "iteration": 87, + "timestamp": "2026-03-16T11:17:56.660362", + "profile_overrides": {}, + "summary": { + "pass": 54, + "moderate": 43, + "severe": 78, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 2.1, + "diff_total_yd": 6.1, + "diff_apex_ft": 1.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.5, + "diff_total_yd": 7.4, + "diff_apex_ft": -5.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 16.8, + "diff_apex_ft": 14.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.5, + "diff_apex_ft": 1.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 1.2, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.8, + "diff_total_yd": -0.7, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.8, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -3.3, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.5, + "diff_total_yd": 1.8, + "diff_apex_ft": -3.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 1.0, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.2, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.2, + "diff_total_yd": 5.2, + "diff_apex_ft": -4.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.4, + "diff_total_yd": 5.9, + "diff_apex_ft": -3.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.9, + "diff_total_yd": 21.6, + "diff_apex_ft": 20.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.7, + "diff_total_yd": 8.3, + "diff_apex_ft": 2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.6, + "diff_total_yd": 2.3, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": -0.1, + "diff_total_yd": -10.6, + "diff_apex_ft": 4.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.9, + "diff_total_yd": -15.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 0.3, + "diff_total_yd": -24.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.7, + "diff_apex_ft": 0.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.0, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.8, + "diff_total_yd": -16.2, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 1.8, + "diff_total_yd": 12.7, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.9, + "diff_total_yd": 11.7, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.9, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": -0.2, + "diff_total_yd": 7.1, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.9, + "diff_total_yd": 8.5, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -1.0, + "diff_total_yd": -17.4, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 2.6, + "diff_total_yd": -4.1, + "diff_apex_ft": 5.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 3.0, + "diff_total_yd": 4.1, + "diff_apex_ft": 7.9, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_48": { + "diff_carry_yd": 2.3, + "diff_total_yd": 4.6, + "diff_apex_ft": 10.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -1.7, + "diff_total_yd": -13.5, + "diff_apex_ft": 2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -1.4, + "diff_total_yd": -19.0, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 0.8, + "diff_total_yd": -23.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": -0.1, + "diff_apex_ft": 5.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": -2.0, + "diff_total_yd": -1.9, + "diff_apex_ft": 5.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -3.0, + "diff_total_yd": -2.2, + "diff_apex_ft": 3.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.7, + "diff_total_yd": -1.1, + "diff_apex_ft": 3.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.5, + "diff_total_yd": -0.4, + "diff_apex_ft": 4.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 0.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 1.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_1": { + "diff_carry_yd": -0.2, + "diff_total_yd": -11.5, + "diff_apex_ft": 1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -1.9, + "diff_apex_ft": 0.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.5, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.3, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.4, + "diff_total_yd": 3.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.7, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.3, + "diff_total_yd": 17.0, + "diff_apex_ft": -8.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.6, + "diff_apex_ft": 5.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.6, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.1, + "diff_total_yd": 3.3, + "diff_apex_ft": -7.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 5.7, + "diff_apex_ft": -5.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_3w_33": { + "diff_carry_yd": 5.6, + "diff_total_yd": 9.4, + "diff_apex_ft": -9.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -4.8, + "diff_total_yd": -9.2, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": -1.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 0.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -2.6, + "diff_total_yd": -10.0, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 5.0, + "diff_total_yd": 12.9, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 1.7, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": -14.0, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.9, + "diff_total_yd": 10.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 3.4, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.7, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.6, + "diff_total_yd": -0.9, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.4, + "diff_total_yd": -16.0, + "diff_apex_ft": -0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.3, + "diff_total_yd": -6.9, + "diff_apex_ft": 2.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.2, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 5.4, + "diff_total_yd": 12.1, + "diff_apex_ft": -9.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -2.1, + "diff_total_yd": 21.3, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_6i_31": { + "diff_carry_yd": -0.3, + "diff_total_yd": -21.8, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 4.0, + "diff_total_yd": -15.8, + "diff_apex_ft": 2.4, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.4, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 2.7, + "diff_total_yd": 6.7, + "diff_apex_ft": 9.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 5.8, + "diff_total_yd": 8.1, + "diff_apex_ft": 8.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.5, + "diff_total_yd": -7.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.5, + "diff_total_yd": 3.0, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -1.0, + "diff_total_yd": 4.5, + "diff_apex_ft": -5.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.5, + "diff_total_yd": 5.1, + "diff_apex_ft": 7.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -3.0, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.5, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": -0.2, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.8, + "diff_total_yd": 9.8, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 3.0, + "diff_total_yd": 22.1, + "diff_apex_ft": 26.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.2, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.3, + "diff_total_yd": -4.7, + "diff_apex_ft": 2.6, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax" + ] +} diff --git a/assets/data/calibration/history/iteration_088.json b/assets/data/calibration/history/iteration_088.json new file mode 100644 index 0000000..16b8b24 --- /dev/null +++ b/assets/data/calibration/history/iteration_088.json @@ -0,0 +1,1309 @@ +{ + "iteration": 88, + "timestamp": "2026-03-16T11:31:27.555165", + "profile_overrides": {}, + "summary": { + "pass": 54, + "moderate": 43, + "severe": 78, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 2.1, + "diff_total_yd": 6.1, + "diff_apex_ft": 1.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.5, + "diff_total_yd": 7.4, + "diff_apex_ft": -5.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 16.8, + "diff_apex_ft": 14.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.5, + "diff_apex_ft": 1.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 1.2, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.8, + "diff_total_yd": -0.7, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.8, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -3.3, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.5, + "diff_total_yd": 1.8, + "diff_apex_ft": -3.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 1.0, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.2, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.2, + "diff_total_yd": 5.2, + "diff_apex_ft": -4.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.4, + "diff_total_yd": 5.9, + "diff_apex_ft": -3.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.9, + "diff_total_yd": 21.6, + "diff_apex_ft": 20.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.7, + "diff_total_yd": 8.3, + "diff_apex_ft": 2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.6, + "diff_total_yd": 2.3, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": -0.1, + "diff_total_yd": -10.6, + "diff_apex_ft": 4.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.9, + "diff_total_yd": -15.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 0.3, + "diff_total_yd": -24.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.7, + "diff_apex_ft": 0.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.0, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.8, + "diff_total_yd": -16.2, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 1.8, + "diff_total_yd": 12.7, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.9, + "diff_total_yd": 11.7, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.9, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": -0.2, + "diff_total_yd": 7.1, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.9, + "diff_total_yd": 8.5, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -1.0, + "diff_total_yd": -17.4, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 2.6, + "diff_total_yd": -4.1, + "diff_apex_ft": 5.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 3.0, + "diff_total_yd": 4.1, + "diff_apex_ft": 7.9, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_48": { + "diff_carry_yd": 2.3, + "diff_total_yd": 4.6, + "diff_apex_ft": 10.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -1.7, + "diff_total_yd": -13.5, + "diff_apex_ft": 2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -1.4, + "diff_total_yd": -19.0, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 0.8, + "diff_total_yd": -23.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": -0.1, + "diff_apex_ft": 5.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": -2.0, + "diff_total_yd": -1.9, + "diff_apex_ft": 5.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -3.0, + "diff_total_yd": -2.2, + "diff_apex_ft": 3.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.7, + "diff_total_yd": -1.1, + "diff_apex_ft": 3.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.5, + "diff_total_yd": -0.4, + "diff_apex_ft": 4.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 0.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 1.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_1": { + "diff_carry_yd": -0.2, + "diff_total_yd": -11.5, + "diff_apex_ft": 1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -1.9, + "diff_apex_ft": 0.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.5, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.3, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.4, + "diff_total_yd": 3.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.7, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.3, + "diff_total_yd": 17.0, + "diff_apex_ft": -8.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.6, + "diff_apex_ft": 5.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.6, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.1, + "diff_total_yd": 3.3, + "diff_apex_ft": -7.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 5.7, + "diff_apex_ft": -5.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_3w_33": { + "diff_carry_yd": 5.6, + "diff_total_yd": 9.4, + "diff_apex_ft": -9.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -4.8, + "diff_total_yd": -9.2, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": -1.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 0.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -2.6, + "diff_total_yd": -10.0, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 5.0, + "diff_total_yd": 12.9, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 1.7, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": -14.0, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.9, + "diff_total_yd": 10.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 3.4, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.7, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.6, + "diff_total_yd": -0.9, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.4, + "diff_total_yd": -16.0, + "diff_apex_ft": -0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.3, + "diff_total_yd": -6.9, + "diff_apex_ft": 2.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.2, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 5.4, + "diff_total_yd": 12.1, + "diff_apex_ft": -9.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -2.1, + "diff_total_yd": 21.3, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_6i_31": { + "diff_carry_yd": -0.3, + "diff_total_yd": -21.8, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 4.0, + "diff_total_yd": -15.8, + "diff_apex_ft": 2.4, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.4, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 2.7, + "diff_total_yd": 6.7, + "diff_apex_ft": 9.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 5.8, + "diff_total_yd": 8.1, + "diff_apex_ft": 8.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.5, + "diff_total_yd": -7.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.5, + "diff_total_yd": 3.0, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -1.0, + "diff_total_yd": 4.5, + "diff_apex_ft": -5.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.5, + "diff_total_yd": 5.1, + "diff_apex_ft": 7.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -3.0, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.5, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": -0.2, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.8, + "diff_total_yd": 9.8, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 3.0, + "diff_total_yd": 22.1, + "diff_apex_ft": 26.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.2, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.3, + "diff_total_yd": -4.7, + "diff_apex_ft": 2.6, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax" + ] +} diff --git a/assets/data/calibration/history/iteration_089.json b/assets/data/calibration/history/iteration_089.json new file mode 100644 index 0000000..5473c73 --- /dev/null +++ b/assets/data/calibration/history/iteration_089.json @@ -0,0 +1,1309 @@ +{ + "iteration": 89, + "timestamp": "2026-03-16T11:31:37.899051", + "profile_overrides": {}, + "summary": { + "pass": 54, + "moderate": 43, + "severe": 78, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 2.1, + "diff_total_yd": 6.1, + "diff_apex_ft": 1.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.5, + "diff_total_yd": 7.4, + "diff_apex_ft": -5.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 16.8, + "diff_apex_ft": 14.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.5, + "diff_apex_ft": 1.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 1.2, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.8, + "diff_total_yd": -0.7, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.8, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -3.3, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.5, + "diff_total_yd": 1.8, + "diff_apex_ft": -3.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 1.0, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.2, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.2, + "diff_total_yd": 5.2, + "diff_apex_ft": -4.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.4, + "diff_total_yd": 5.9, + "diff_apex_ft": -3.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.9, + "diff_total_yd": 21.6, + "diff_apex_ft": 20.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.7, + "diff_total_yd": 8.3, + "diff_apex_ft": 2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.6, + "diff_total_yd": 2.3, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": -0.1, + "diff_total_yd": -10.6, + "diff_apex_ft": 4.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.9, + "diff_total_yd": -15.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 0.3, + "diff_total_yd": -24.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.7, + "diff_apex_ft": 0.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.0, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.8, + "diff_total_yd": -16.2, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 1.8, + "diff_total_yd": 12.7, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.9, + "diff_total_yd": 11.7, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.9, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": -0.2, + "diff_total_yd": 7.1, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.9, + "diff_total_yd": 8.5, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -1.0, + "diff_total_yd": -17.4, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 2.6, + "diff_total_yd": -4.1, + "diff_apex_ft": 5.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 3.0, + "diff_total_yd": 4.1, + "diff_apex_ft": 7.9, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_48": { + "diff_carry_yd": 2.3, + "diff_total_yd": 4.6, + "diff_apex_ft": 10.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -1.7, + "diff_total_yd": -13.5, + "diff_apex_ft": 2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -1.4, + "diff_total_yd": -19.0, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 0.8, + "diff_total_yd": -23.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": -0.1, + "diff_apex_ft": 5.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": -2.0, + "diff_total_yd": -1.9, + "diff_apex_ft": 5.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -3.0, + "diff_total_yd": -2.2, + "diff_apex_ft": 3.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.7, + "diff_total_yd": -1.1, + "diff_apex_ft": 3.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.5, + "diff_total_yd": -0.4, + "diff_apex_ft": 4.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 0.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 1.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_1": { + "diff_carry_yd": -0.2, + "diff_total_yd": -11.5, + "diff_apex_ft": 1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -1.9, + "diff_apex_ft": 0.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.5, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.3, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.4, + "diff_total_yd": 3.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.7, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.3, + "diff_total_yd": 17.0, + "diff_apex_ft": -8.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.6, + "diff_apex_ft": 5.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.6, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.1, + "diff_total_yd": 3.3, + "diff_apex_ft": -7.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 5.7, + "diff_apex_ft": -5.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_3w_33": { + "diff_carry_yd": 5.6, + "diff_total_yd": 9.4, + "diff_apex_ft": -9.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -4.8, + "diff_total_yd": -9.2, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": -1.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 0.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -2.6, + "diff_total_yd": -10.0, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 5.0, + "diff_total_yd": 12.9, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 1.7, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": -14.0, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.9, + "diff_total_yd": 10.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 3.4, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.7, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.6, + "diff_total_yd": -0.9, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.4, + "diff_total_yd": -16.0, + "diff_apex_ft": -0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.3, + "diff_total_yd": -6.9, + "diff_apex_ft": 2.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.2, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 5.4, + "diff_total_yd": 12.1, + "diff_apex_ft": -9.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -2.1, + "diff_total_yd": 21.3, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_6i_31": { + "diff_carry_yd": -0.3, + "diff_total_yd": -21.8, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 4.0, + "diff_total_yd": -15.8, + "diff_apex_ft": 2.4, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.4, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 2.7, + "diff_total_yd": 6.7, + "diff_apex_ft": 9.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 5.8, + "diff_total_yd": 8.1, + "diff_apex_ft": 8.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.5, + "diff_total_yd": -7.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.5, + "diff_total_yd": 3.0, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -1.0, + "diff_total_yd": 4.5, + "diff_apex_ft": -5.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.5, + "diff_total_yd": 5.1, + "diff_apex_ft": 7.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -3.0, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.5, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": -0.2, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.8, + "diff_total_yd": 9.8, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 3.0, + "diff_total_yd": 22.1, + "diff_apex_ft": 26.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.2, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.3, + "diff_total_yd": -4.7, + "diff_apex_ft": 2.6, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax" + ] +} diff --git a/assets/data/calibration/history/iteration_090.json b/assets/data/calibration/history/iteration_090.json new file mode 100644 index 0000000..2d39249 --- /dev/null +++ b/assets/data/calibration/history/iteration_090.json @@ -0,0 +1,1309 @@ +{ + "iteration": 90, + "timestamp": "2026-03-16T11:32:06.882956", + "profile_overrides": {}, + "summary": { + "pass": 54, + "moderate": 43, + "severe": 78, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 2.1, + "diff_total_yd": 6.1, + "diff_apex_ft": 1.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.5, + "diff_total_yd": 7.4, + "diff_apex_ft": -5.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 16.8, + "diff_apex_ft": 14.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.5, + "diff_apex_ft": 1.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 1.2, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.8, + "diff_total_yd": -0.7, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.8, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -3.3, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.5, + "diff_total_yd": 1.8, + "diff_apex_ft": -3.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 1.0, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.2, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.2, + "diff_total_yd": 5.2, + "diff_apex_ft": -4.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.4, + "diff_total_yd": 5.9, + "diff_apex_ft": -3.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.9, + "diff_total_yd": 21.6, + "diff_apex_ft": 20.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.7, + "diff_total_yd": 8.3, + "diff_apex_ft": 2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.6, + "diff_total_yd": 2.3, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": -0.1, + "diff_total_yd": -10.6, + "diff_apex_ft": 4.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.9, + "diff_total_yd": -15.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 0.3, + "diff_total_yd": -24.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.7, + "diff_apex_ft": 0.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.0, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.8, + "diff_total_yd": -16.2, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 1.8, + "diff_total_yd": 12.7, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.9, + "diff_total_yd": 11.7, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.9, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": -0.2, + "diff_total_yd": 7.1, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.9, + "diff_total_yd": 8.5, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -1.0, + "diff_total_yd": -17.4, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 2.6, + "diff_total_yd": -4.1, + "diff_apex_ft": 5.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 3.0, + "diff_total_yd": 4.1, + "diff_apex_ft": 7.9, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_48": { + "diff_carry_yd": 2.3, + "diff_total_yd": 4.6, + "diff_apex_ft": 10.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -1.7, + "diff_total_yd": -13.5, + "diff_apex_ft": 2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -1.4, + "diff_total_yd": -19.0, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 0.8, + "diff_total_yd": -23.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": -0.1, + "diff_apex_ft": 5.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": -2.0, + "diff_total_yd": -1.9, + "diff_apex_ft": 5.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -3.0, + "diff_total_yd": -2.2, + "diff_apex_ft": 3.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.7, + "diff_total_yd": -1.1, + "diff_apex_ft": 3.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.5, + "diff_total_yd": -0.4, + "diff_apex_ft": 4.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 0.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 1.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_1": { + "diff_carry_yd": -0.2, + "diff_total_yd": -11.5, + "diff_apex_ft": 1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -1.9, + "diff_apex_ft": 0.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.5, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.3, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.4, + "diff_total_yd": 3.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.7, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.3, + "diff_total_yd": 17.0, + "diff_apex_ft": -8.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.6, + "diff_apex_ft": 5.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.6, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.1, + "diff_total_yd": 3.3, + "diff_apex_ft": -7.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 5.7, + "diff_apex_ft": -5.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_3w_33": { + "diff_carry_yd": 5.6, + "diff_total_yd": 9.4, + "diff_apex_ft": -9.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -4.8, + "diff_total_yd": -9.2, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": -1.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 0.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -2.6, + "diff_total_yd": -10.0, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 5.0, + "diff_total_yd": 12.9, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 1.7, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": -14.0, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.9, + "diff_total_yd": 10.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 3.4, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.7, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.6, + "diff_total_yd": -0.9, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.4, + "diff_total_yd": -16.0, + "diff_apex_ft": -0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.3, + "diff_total_yd": -6.9, + "diff_apex_ft": 2.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.2, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 5.4, + "diff_total_yd": 12.1, + "diff_apex_ft": -9.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -2.1, + "diff_total_yd": 21.3, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_6i_31": { + "diff_carry_yd": -0.3, + "diff_total_yd": -21.8, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 4.0, + "diff_total_yd": -15.8, + "diff_apex_ft": 2.4, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.4, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 2.7, + "diff_total_yd": 6.7, + "diff_apex_ft": 9.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 5.8, + "diff_total_yd": 8.1, + "diff_apex_ft": 8.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.5, + "diff_total_yd": -7.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.5, + "diff_total_yd": 3.0, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -1.0, + "diff_total_yd": 4.5, + "diff_apex_ft": -5.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.5, + "diff_total_yd": 5.1, + "diff_apex_ft": 7.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -3.0, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.5, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": -0.2, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.8, + "diff_total_yd": 9.8, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 3.0, + "diff_total_yd": 22.1, + "diff_apex_ft": 26.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.2, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.3, + "diff_total_yd": -4.7, + "diff_apex_ft": 2.6, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax" + ] +} diff --git a/assets/data/calibration/history/iteration_091.json b/assets/data/calibration/history/iteration_091.json new file mode 100644 index 0000000..4262aa4 --- /dev/null +++ b/assets/data/calibration/history/iteration_091.json @@ -0,0 +1,1309 @@ +{ + "iteration": 91, + "timestamp": "2026-03-16T11:32:15.017963", + "profile_overrides": {}, + "summary": { + "pass": 54, + "moderate": 43, + "severe": 78, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 2.1, + "diff_total_yd": 6.1, + "diff_apex_ft": 1.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.5, + "diff_total_yd": 7.4, + "diff_apex_ft": -5.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 16.8, + "diff_apex_ft": 14.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.5, + "diff_apex_ft": 1.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 1.2, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.8, + "diff_total_yd": -0.7, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.8, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -3.3, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.5, + "diff_total_yd": 1.8, + "diff_apex_ft": -3.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 1.0, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.2, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.2, + "diff_total_yd": 5.2, + "diff_apex_ft": -4.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.4, + "diff_total_yd": 5.9, + "diff_apex_ft": -3.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.9, + "diff_total_yd": 21.6, + "diff_apex_ft": 20.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.7, + "diff_total_yd": 8.3, + "diff_apex_ft": 2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.6, + "diff_total_yd": 2.3, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": -0.1, + "diff_total_yd": -10.6, + "diff_apex_ft": 4.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.9, + "diff_total_yd": -15.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 0.3, + "diff_total_yd": -24.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.7, + "diff_apex_ft": 0.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.0, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.8, + "diff_total_yd": -16.2, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 1.8, + "diff_total_yd": 12.7, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.9, + "diff_total_yd": 11.7, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.9, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": -0.2, + "diff_total_yd": 7.1, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.9, + "diff_total_yd": 8.5, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -1.0, + "diff_total_yd": -17.4, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 2.6, + "diff_total_yd": -4.1, + "diff_apex_ft": 5.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 3.0, + "diff_total_yd": 4.1, + "diff_apex_ft": 7.9, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_48": { + "diff_carry_yd": 2.3, + "diff_total_yd": 4.6, + "diff_apex_ft": 10.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -1.7, + "diff_total_yd": -13.5, + "diff_apex_ft": 2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -1.4, + "diff_total_yd": -19.0, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 0.8, + "diff_total_yd": -23.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": -0.1, + "diff_apex_ft": 5.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": -2.0, + "diff_total_yd": -1.9, + "diff_apex_ft": 5.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -3.0, + "diff_total_yd": -2.2, + "diff_apex_ft": 3.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.7, + "diff_total_yd": -1.1, + "diff_apex_ft": 3.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.5, + "diff_total_yd": -0.4, + "diff_apex_ft": 4.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 0.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 1.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_1": { + "diff_carry_yd": -0.2, + "diff_total_yd": -11.5, + "diff_apex_ft": 1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -1.9, + "diff_apex_ft": 0.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.5, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.3, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.4, + "diff_total_yd": 3.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.7, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.3, + "diff_total_yd": 17.0, + "diff_apex_ft": -8.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.6, + "diff_apex_ft": 5.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.6, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.1, + "diff_total_yd": 3.3, + "diff_apex_ft": -7.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 5.7, + "diff_apex_ft": -5.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_3w_33": { + "diff_carry_yd": 5.6, + "diff_total_yd": 9.4, + "diff_apex_ft": -9.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -4.8, + "diff_total_yd": -9.2, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": -1.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 0.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -2.6, + "diff_total_yd": -10.0, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 5.0, + "diff_total_yd": 12.9, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 1.7, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": -14.0, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.9, + "diff_total_yd": 10.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 3.4, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.7, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.6, + "diff_total_yd": -0.9, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.4, + "diff_total_yd": -16.0, + "diff_apex_ft": -0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.3, + "diff_total_yd": -6.9, + "diff_apex_ft": 2.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.2, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 5.4, + "diff_total_yd": 12.1, + "diff_apex_ft": -9.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -2.1, + "diff_total_yd": 21.3, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_6i_31": { + "diff_carry_yd": -0.3, + "diff_total_yd": -21.8, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 4.0, + "diff_total_yd": -15.8, + "diff_apex_ft": 2.4, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.4, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 2.7, + "diff_total_yd": 6.7, + "diff_apex_ft": 9.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 5.8, + "diff_total_yd": 8.1, + "diff_apex_ft": 8.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.5, + "diff_total_yd": -7.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.5, + "diff_total_yd": 3.0, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -1.0, + "diff_total_yd": 4.5, + "diff_apex_ft": -5.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.5, + "diff_total_yd": 5.1, + "diff_apex_ft": 7.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -3.0, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.5, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": -0.2, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.8, + "diff_total_yd": 9.8, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 3.0, + "diff_total_yd": 22.1, + "diff_apex_ft": 26.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.2, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.3, + "diff_total_yd": -4.7, + "diff_apex_ft": 2.6, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax" + ] +} diff --git a/assets/data/calibration/history/iteration_092.json b/assets/data/calibration/history/iteration_092.json new file mode 100644 index 0000000..d1c77e1 --- /dev/null +++ b/assets/data/calibration/history/iteration_092.json @@ -0,0 +1,1309 @@ +{ + "iteration": 92, + "timestamp": "2026-03-16T11:41:00.581539", + "profile_overrides": {}, + "summary": { + "pass": 54, + "moderate": 43, + "severe": 78, + "no_reference": 7 + }, + "per_shot": { + "5iron": { + "diff_carry_yd": 2.1, + "diff_total_yd": 6.1, + "diff_apex_ft": 1.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "approach_mid_iron_test_shot": { + "diff_carry_yd": -0.5, + "diff_total_yd": 7.4, + "diff_apex_ft": -5.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "bump_and_run": { + "diff_carry_yd": -6.1, + "diff_total_yd": -24.6, + "diff_apex_ft": -1.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "bump_and_run_slow": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "bump_test_shot": { + "diff_carry_yd": -1.7, + "diff_total_yd": 13.2, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "checked_test_shot": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.5, + "diff_apex_ft": -9.6, + "status": "pass", + "error_pattern": null + }, + "chip_test_shot": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "drive_test_shot": { + "diff_carry_yd": 4.1, + "diff_total_yd": 4.6, + "diff_apex_ft": 1.6, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "driver1": { + "diff_carry_yd": -0.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "driver2": { + "diff_carry_yd": 2.8, + "diff_total_yd": 2.9, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "driver3": { + "diff_carry_yd": 0.9, + "diff_total_yd": 16.8, + "diff_apex_ft": 14.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "driver4": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.5, + "diff_apex_ft": 1.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "flop_test_shot": { + "diff_carry_yd": -0.2, + "diff_total_yd": 1.6, + "diff_apex_ft": -8.5, + "status": "pass", + "error_pattern": null + }, + "p_wedge_shot_1": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s2_shot_12": { + "diff_carry_yd": 1.2, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_13": { + "diff_carry_yd": -1.8, + "diff_total_yd": -0.7, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s2_shot_14": { + "diff_carry_yd": -2.8, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_15": { + "diff_carry_yd": -3.3, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s2_shot_16": { + "diff_carry_yd": -0.5, + "diff_total_yd": 1.8, + "diff_apex_ft": -3.8, + "status": "pass", + "error_pattern": null + }, + "s2_shot_17": { + "diff_carry_yd": 1.0, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.2, + "status": "pass", + "error_pattern": null + }, + "s2_shot_18": { + "diff_carry_yd": -2.2, + "diff_total_yd": 5.2, + "diff_apex_ft": -4.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_20": { + "diff_carry_yd": 1.4, + "diff_total_yd": 5.9, + "diff_apex_ft": -3.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s2_shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "s2_shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s2_shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s2_shot_26": { + "diff_carry_yd": 1.9, + "diff_total_yd": 21.6, + "diff_apex_ft": 20.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_27": { + "diff_carry_yd": -1.7, + "diff_total_yd": 8.3, + "diff_apex_ft": 2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s2_shot_9": { + "diff_carry_yd": -3.6, + "diff_total_yd": 2.3, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s3_shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_10": { + "diff_carry_yd": -0.1, + "diff_total_yd": -10.6, + "diff_apex_ft": 4.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_11": { + "diff_carry_yd": -1.9, + "diff_total_yd": -15.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_12": { + "diff_carry_yd": 0.3, + "diff_total_yd": -24.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_13": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.7, + "diff_apex_ft": 0.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_5i_16": { + "diff_carry_yd": 0.0, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_35": { + "diff_carry_yd": -4.8, + "diff_total_yd": -16.2, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_36": { + "diff_carry_yd": 1.8, + "diff_total_yd": 12.7, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_37": { + "diff_carry_yd": -3.9, + "diff_total_yd": 11.7, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_38": { + "diff_carry_yd": -3.9, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_6i_39": { + "diff_carry_yd": -0.2, + "diff_total_yd": 7.1, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_40": { + "diff_carry_yd": -0.9, + "diff_total_yd": 8.5, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s3_shot_6i_42": { + "diff_carry_yd": -1.0, + "diff_total_yd": -17.4, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_43": { + "diff_carry_yd": 2.6, + "diff_total_yd": -4.1, + "diff_apex_ft": 5.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_6i_47": { + "diff_carry_yd": 3.0, + "diff_total_yd": 4.1, + "diff_apex_ft": 7.9, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_48": { + "diff_carry_yd": 2.3, + "diff_total_yd": 4.6, + "diff_apex_ft": 10.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_6i_50": { + "diff_carry_yd": -1.7, + "diff_total_yd": -13.5, + "diff_apex_ft": 2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_25": { + "diff_carry_yd": -1.4, + "diff_total_yd": -19.0, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_26": { + "diff_carry_yd": 0.8, + "diff_total_yd": -23.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": -0.1, + "diff_apex_ft": 5.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_28": { + "diff_carry_yd": -2.0, + "diff_total_yd": -1.9, + "diff_apex_ft": 5.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_7i_30": { + "diff_carry_yd": -3.0, + "diff_total_yd": -2.2, + "diff_apex_ft": 3.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_7i_32": { + "diff_carry_yd": -0.7, + "diff_total_yd": -1.1, + "diff_apex_ft": 3.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_33": { + "diff_carry_yd": -0.5, + "diff_total_yd": -0.4, + "diff_apex_ft": 4.7, + "status": "pass", + "error_pattern": null + }, + "s3_shot_7i_34": { + "diff_carry_yd": 0.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 1.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_1": { + "diff_carry_yd": -0.2, + "diff_total_yd": -11.5, + "diff_apex_ft": 1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -1.9, + "diff_apex_ft": 0.1, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.5, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.3, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_8": { + "diff_carry_yd": -2.4, + "diff_total_yd": 3.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_9i_9": { + "diff_carry_yd": -1.7, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_51": { + "diff_carry_yd": 3.3, + "diff_total_yd": 17.0, + "diff_apex_ft": -8.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s3_shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_56": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.6, + "diff_apex_ft": 5.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s3_shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.6, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s3_shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s3_shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s3_shot_pw_68": { + "diff_carry_yd": 0.1, + "diff_total_yd": 3.3, + "diff_apex_ft": -7.2, + "status": "pass", + "error_pattern": null + }, + "s3_shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 5.7, + "diff_apex_ft": -5.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_3w_33": { + "diff_carry_yd": 5.6, + "diff_total_yd": 9.4, + "diff_apex_ft": -9.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_25": { + "diff_carry_yd": -4.8, + "diff_total_yd": -9.2, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s4_shot_5i_26": { + "diff_carry_yd": -1.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 0.3, + "status": "pass", + "error_pattern": null + }, + "s4_shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_5i_28": { + "diff_carry_yd": -2.6, + "diff_total_yd": -10.0, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_5i_29": { + "diff_carry_yd": 5.0, + "diff_total_yd": 12.9, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_5i_30": { + "diff_carry_yd": 1.7, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": -14.0, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_6i_20": { + "diff_carry_yd": -0.9, + "diff_total_yd": 10.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_22": { + "diff_carry_yd": 3.4, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.7, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s4_shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_14": { + "diff_carry_yd": -2.6, + "diff_total_yd": -0.9, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "s4_shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_9i_17": { + "diff_carry_yd": -1.4, + "diff_total_yd": -16.0, + "diff_apex_ft": -0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_1": { + "diff_carry_yd": -1.3, + "diff_total_yd": -6.9, + "diff_apex_ft": 2.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s4_shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s4_shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.2, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "s4_shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "s5_shot_3w_37": { + "diff_carry_yd": 5.4, + "diff_total_yd": 12.1, + "diff_apex_ft": -9.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_30": { + "diff_carry_yd": -2.1, + "diff_total_yd": 21.3, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_6i_31": { + "diff_carry_yd": -0.3, + "diff_total_yd": -21.8, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_32": { + "diff_carry_yd": 4.0, + "diff_total_yd": -15.8, + "diff_apex_ft": 2.4, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "s5_shot_6i_33": { + "diff_carry_yd": -0.4, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_26": { + "diff_carry_yd": 2.7, + "diff_total_yd": 6.7, + "diff_apex_ft": 9.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_7i_27": { + "diff_carry_yd": 5.8, + "diff_total_yd": 8.1, + "diff_apex_ft": 8.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_7i_28": { + "diff_carry_yd": -0.5, + "diff_total_yd": -7.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_23": { + "diff_carry_yd": -0.5, + "diff_total_yd": 3.0, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_24": { + "diff_carry_yd": -1.0, + "diff_total_yd": 4.5, + "diff_apex_ft": -5.3, + "status": "pass", + "error_pattern": null + }, + "s5_shot_8i_25": { + "diff_carry_yd": 0.5, + "diff_total_yd": 5.1, + "diff_apex_ft": 7.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_19": { + "diff_carry_yd": -3.0, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_20": { + "diff_carry_yd": -2.5, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_9i_21": { + "diff_carry_yd": -0.2, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.6, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "s5_shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "s5_shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "s5_shot_driver_48": { + "diff_carry_yd": 1.8, + "diff_total_yd": 9.8, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_driver_49": { + "diff_carry_yd": 3.0, + "diff_total_yd": 22.1, + "diff_apex_ft": 26.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "s5_shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "s5_shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "s5_shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "s5_shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.2, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + }, + "topped_test_shot": { + "diff_carry_yd": -0.7, + "diff_total_yd": 13.8, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_1": { + "diff_carry_yd": -1.5, + "diff_total_yd": 6.2, + "diff_apex_ft": -0.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_shot_2": { + "diff_carry_yd": -0.4, + "diff_total_yd": 11.1, + "diff_apex_ft": -0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot": { + "diff_carry_yd": 1.5, + "diff_total_yd": 12.4, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wedge_test_shot2": { + "diff_carry_yd": 1.1, + "diff_total_yd": 12.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "wood1": { + "diff_carry_yd": 11.3, + "diff_total_yd": -4.7, + "diff_apex_ft": 2.6, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "wood2": { + "diff_carry_yd": -0.4, + "diff_total_yd": -4.8, + "diff_apex_ft": -3.3, + "status": "pass", + "error_pattern": null + }, + "wood_low_test_shot": { + "diff_carry_yd": 1.3, + "diff_total_yd": 22.0, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "DragScaleMultiplier", + "LiftScaleMultiplier", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax" + ] +} diff --git a/assets/data/calibration/physics.csv b/assets/data/calibration/physics.csv index fe1eb45..3da42c4 100644 --- a/assets/data/calibration/physics.csv +++ b/assets/data/calibration/physics.csv @@ -1,137 +1,183 @@ shot_name,filename,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,backspin_rpm,sidespin_rpm,carry_yd,total_yd,rollout_yd,apex_ft,hang_time_s,landing_speed_mps,landing_angle_deg,initial_re,initial_spin_ratio,initial_cd,initial_cl,peak_cl,carry_only_yd -5iron,5iron.json,102.10,17.40,1.50,5391.0,12.30,5266.0,1151.0,142.9,153.5,10.6,64.2,4.84,23.77,45.13,124951.4,0.263855,0.225599,0.298854,0.298854,142.9 -approach_mid_iron_test_shot,approach_mid_iron_test_shot.json,93.90,22.90,-2.60,5375.0,2.00,5375.0,0.0,125.2,135.8,10.6,64.3,4.65,22.88,47.14,114916.1,0.286081,0.230050,0.251433,0.268000,125.2 +5iron,5iron.json,102.10,17.40,1.50,5391.0,12.30,5266.0,1151.0,140.2,148.3,8.1,61.3,4.73,23.49,44.18,124951.4,0.263855,0.232367,0.287730,0.287730,140.2 +approach_mid_iron_test_shot,approach_mid_iron_test_shot.json,93.90,22.90,-2.60,5375.0,2.00,5375.0,0.0,125.3,135.9,10.6,64.1,4.65,22.90,47.16,114916.1,0.286081,0.230050,0.248285,0.268000,125.3 bump_and_run,bump_and_run.json,58.27,15.57,-0.85,1850.1,2.31,1700.4,75.7,37.7,37.4,-0.3,8.6,1.48,22.95,17.85,71314.6,0.145977,0.186984,0.141363,0.141363,37.7 -bump_and_run_slow,bump_and_run_slow.json,30.27,15.57,-0.85,1850.1,2.31,1700.4,75.7,10.2,28.2,18.0,2.2,0.73,12.95,15.97,37047.8,0.280996,0.269116,0.002479,0.002479,10.2 +bump_and_run_slow,bump_and_run_slow.json,30.27,15.57,-0.85,1850.1,2.31,1700.4,75.7,10.2,28.2,18.0,2.2,0.73,12.95,15.97,37047.8,0.280996,0.269116,0.002438,0.002438,10.2 bump_test_shot,bump_test_shot.json,78.27,5.57,-0.85,1850.1,2.31,1700.4,75.7,37.3,87.2,49.9,3.0,1.06,30.04,6.58,95790.9,0.108677,0.223064,0.179078,0.179078,37.3 checked_test_shot,checked_test_shot.json,75.05,38.50,1.35,10700.8,5.74,10500.8,699.3,75.5,77.0,1.5,69.9,4.40,19.89,56.97,91853.0,0.700778,0.350675,0.256092,0.307493,75.5 chip_test_shot,chip_test_shot.json,24.68,17.94,20.35,3203.9,-0.00,3203.9,0.0,7.8,17.1,9.3,1.9,0.69,10.59,18.67,30200.0,0.648877,0.337439,0.000102,0.000102,7.8 drive_test_shot,drive_test_shot.json,150.00,12.50,1.50,2335.0,-9.90,2300.0,-400.0,248.1,260.6,12.5,82.2,5.86,30.71,34.16,183572.1,0.077783,0.205097,0.151570,0.155955,248.1 driver1,driver1.json,124.00,9.40,-9.50,2322.0,-24.80,2107.9,-973.2,157.7,157.7,-0.0,29.4,3.59,32.57,18.43,151752.9,0.093576,0.204304,0.160723,0.161503,157.7 driver2,driver2.json,124.60,13.20,-6.80,3994.0,-6.10,3971.3,-423.5,187.6,195.2,7.6,61.5,5.07,26.88,34.21,152487.2,0.160192,0.226830,0.192784,0.195740,187.6 -driver3,driver3.json,119.10,16.00,-8.90,4935.0,-9.40,4868.9,-806.3,175.0,194.4,19.4,96.1,5.86,25.15,54.60,145756.2,0.207095,0.236460,0.262239,0.316011,175.0 -driver4,driver4.json,119.00,15.50,-10.20,4454.0,-7.80,4412.0,-608.1,176.9,190.2,13.3,76.2,5.38,25.54,45.70,145633.8,0.187047,0.230004,0.214461,0.257810,176.9 +driver3,driver3.json,119.10,16.00,-8.90,4935.0,-9.40,4868.9,-806.3,175.0,195.3,20.3,93.2,5.78,25.14,53.53,145756.2,0.207095,0.236460,0.256396,0.305210,175.0 +driver4,driver4.json,119.00,15.50,-10.20,4454.0,-7.80,4412.0,-608.1,176.8,189.4,12.7,75.1,5.34,25.56,45.01,145633.8,0.187047,0.230004,0.212902,0.251153,176.8 flop_test_shot,flop_test_shot.json,68.05,45.00,0.45,12000.0,0.84,12000.0,140.3,61.6,61.9,0.3,68.3,4.23,19.26,60.07,83286.3,0.881310,0.386817,0.244725,0.287767,61.6 -p_wedge_shot_1,p_wedge_shot_1.json,82.28,26.46,-3.15,4946.5,6.74,4912.3,580.3,105.7,116.1,10.5,58.3,4.32,22.52,47.02,100689.8,0.300469,0.221031,0.241324,0.284080,105.7 +p_wedge_shot_1,p_wedge_shot_1.json,82.28,26.46,-3.15,4946.5,6.74,4912.3,580.3,105.7,116.1,10.5,58.3,4.32,22.52,47.03,100689.8,0.300469,0.221031,0.240708,0.284080,105.7 topped_test_shot,topped_test_shot.json,91.78,5.00,-0.89,2195.3,16.20,2108.2,612.3,55.5,109.1,53.5,4.2,1.38,33.38,6.64,112323.8,0.119540,0.204789,0.190066,0.190066,55.5 wedge_shot_1,wedge_shot_1.json,48.66,28.96,-1.27,5683.7,11.12,5577.0,1096.3,41.1,53.1,11.9,20.5,2.40,16.94,35.87,59555.9,0.583711,0.370369,0.345588,0.345588,41.1 wedge_shot_2,wedge_shot_2.json,51.83,37.03,2.37,5652.0,9.08,5581.2,891.7,48.7,61.2,12.6,34.9,3.08,18.07,45.46,63425.0,0.545045,0.310119,0.360285,0.360285,48.7 wedge_test_shot,wedge_test_shot.json,66.40,23.20,-1.40,6449.0,7.10,6399.0,793.0,72.1,88.2,16.1,30.7,3.23,19.72,34.46,81261.2,0.485321,0.277836,0.307984,0.348699,72.1 wedge_test_shot2,wedge_test_shot2.json,54.70,26.80,1.60,4976.0,5.70,4951.0,494.0,53.3,70.1,16.8,25.2,2.79,18.38,35.72,66942.6,0.454603,0.295301,0.370085,0.373606,53.3 -wood1,wood1.json,124.20,6.70,-8.10,4528.0,4.80,4512.0,378.0,177.4,177.9,0.5,35.9,4.40,28.04,23.36,151997.7,0.182197,0.223756,0.224204,0.232002,177.4 +wood1,wood1.json,124.20,6.70,-8.10,4528.0,4.80,4512.0,378.0,176.8,177.2,0.4,35.4,4.38,28.12,23.12,151997.7,0.182197,0.223756,0.223300,0.230298,176.8 wood2,wood2.json,118.80,14.50,-3.30,3026.0,11.20,2968.0,586.0,175.2,181.3,6.1,56.0,4.73,27.51,31.44,145389.1,0.127270,0.214696,0.177938,0.179994,175.2 wood_low_test_shot,wood_low_test_shot.json,114.46,6.95,-0.63,1932.5,-1.42,1931.9,-47.8,123.9,180.9,57.0,16.0,2.80,33.72,12.66,140079.8,0.084380,0.196706,0.165532,0.165595,123.9 -s2_shot_10,shot_10.json,89.70,25.51,-3.13,6446.1,6.16,6408.9,691.6,118.5,126.6,8.0,66.0,4.74,22.09,47.71,109779.2,0.359143,0.239233,0.228748,0.289487,118.5 +s2_shot_10,shot_10.json,89.70,25.51,-3.13,6446.1,6.16,6408.9,691.6,118.5,126.6,8.0,66.0,4.74,22.09,47.73,109779.2,0.359143,0.239233,0.228748,0.289487,118.5 s2_shot_11,shot_11.json,78.51,29.59,4.31,7349.8,10.69,7222.3,1363.2,91.9,96.4,4.5,60.4,4.35,20.50,48.85,96081.2,0.467873,0.280118,0.280271,0.312453,91.9 -s2_shot_12,shot_12.json,90.80,24.49,-3.88,7260.6,4.91,7233.9,621.5,117.4,122.4,5.0,65.3,4.78,21.40,47.51,111117.8,0.399648,0.261671,0.243274,0.311339,117.4 -s2_shot_13,shot_13.json,95.22,19.62,-1.09,5609.6,12.20,5482.8,1185.8,124.2,129.4,5.3,51.5,4.30,22.75,40.06,116536.1,0.294416,0.237982,0.235762,0.268000,124.2 -s2_shot_14,shot_14.json,87.13,22.37,-2.00,5660.3,11.37,5549.3,1115.6,108.6,113.3,4.7,49.3,4.11,21.71,41.10,106633.6,0.324668,0.249486,0.224737,0.268798,108.6 -s2_shot_15,shot_15.json,88.14,14.21,-0.32,4985.2,19.37,4703.0,1653.5,100.3,100.4,0.1,26.9,3.23,23.71,25.64,107862.6,0.282684,0.238022,0.258753,0.279747,100.3 -s2_shot_16,shot_16.json,94.07,19.14,-5.93,5291.1,4.96,5271.3,457.7,124.0,130.3,6.3,51.8,4.30,23.02,40.64,115119.9,0.281118,0.229885,0.262224,0.274710,124.0 -s2_shot_17,shot_17.json,122.92,14.40,-1.33,4119.1,6.69,4091.0,480.2,184.9,195.0,10.1,66.7,5.17,26.48,37.47,150434.8,0.167473,0.227461,0.195165,0.202703,184.9 -s2_shot_18,shot_18.json,105.67,20.50,-1.72,5666.8,8.18,5609.2,806.3,144.7,156.6,11.9,76.9,5.13,23.31,50.68,129323.3,0.268011,0.243729,0.279264,0.279264,144.7 +s2_shot_12,shot_12.json,90.80,24.49,-3.88,7260.6,4.91,7233.9,621.5,116.6,122.4,5.7,65.1,4.76,21.29,47.58,111117.8,0.399648,0.264187,0.243274,0.311339,116.6 +s2_shot_13,shot_13.json,95.22,19.62,-1.09,5609.6,12.20,5482.8,1185.8,123.5,128.0,4.5,51.3,4.28,22.65,40.10,116536.1,0.294416,0.240270,0.234293,0.268000,123.5 +s2_shot_14,shot_14.json,87.13,22.37,-2.00,5660.3,11.37,5549.3,1115.6,108.1,112.2,4.1,49.1,4.10,21.61,41.21,106633.6,0.324668,0.251885,0.224737,0.268979,108.1 +s2_shot_15,shot_15.json,88.14,14.21,-0.32,4985.2,19.37,4703.0,1653.5,98.0,98.0,0.0,26.1,3.16,23.58,25.36,107862.6,0.282684,0.245162,0.252277,0.270478,98.0 +s2_shot_16,shot_16.json,94.07,19.14,-5.93,5291.1,4.96,5271.3,457.7,123.8,129.9,6.1,51.5,4.28,23.03,40.37,115119.9,0.281118,0.229885,0.257927,0.273704,123.8 +s2_shot_17,shot_17.json,122.92,14.40,-1.33,4119.1,6.69,4091.0,480.2,185.0,195.0,10.1,66.6,5.17,26.49,37.47,150434.8,0.167473,0.227461,0.195165,0.202274,185.0 +s2_shot_18,shot_18.json,105.67,20.50,-1.72,5666.8,8.18,5609.2,806.3,144.6,154.6,10.0,76.1,5.11,23.31,50.30,129323.3,0.268011,0.243729,0.272200,0.272200,144.6 s2_shot_19,shot_19.json,128.59,12.54,-8.40,2513.7,5.13,2503.6,224.6,192.4,198.2,5.8,55.1,4.79,29.05,29.04,157373.2,0.097695,0.216443,0.163440,0.165833,192.4 -s2_shot_20,shot_20.json,120.88,15.02,-2.96,4245.1,9.62,4185.4,709.5,180.9,192.8,12.0,69.3,5.22,26.07,40.19,147934.6,0.175515,0.228090,0.199410,0.219559,180.9 +s2_shot_20,shot_20.json,120.88,15.02,-2.96,4245.1,9.62,4185.4,709.5,180.8,191.2,10.4,69.0,5.21,26.10,40.03,147934.6,0.175515,0.228090,0.199231,0.217566,180.8 s2_shot_21,shot_21.json,127.35,7.24,-11.46,2320.9,-19.47,2188.2,-773.4,159.8,214.2,54.4,24.8,3.52,33.30,16.10,155855.5,0.091079,0.206284,0.169690,0.170540,159.8 s2_shot_22,shot_22.json,123.29,14.01,-6.11,3104.1,9.97,3057.3,537.3,186.0,193.1,7.1,60.3,4.95,27.66,32.33,150883.1,0.125832,0.217748,0.179061,0.181530,186.0 s2_shot_23,shot_23.json,125.52,8.64,-14.33,3062.5,-23.87,2800.5,-1239.4,161.1,161.1,-0.0,29.8,3.73,31.42,19.03,153607.5,0.121944,0.216536,0.176424,0.177656,161.1 s2_shot_24,shot_24.json,121.48,14.53,-11.23,3172.9,-6.80,3150.6,-375.5,183.5,191.3,7.8,61.6,4.98,27.32,33.50,148670.3,0.130533,0.217361,0.181227,0.183728,183.5 -s2_shot_26,shot_26.json,116.97,18.42,-2.02,5035.4,9.70,4963.4,848.2,172.4,194.8,22.4,111.6,6.15,25.80,58.18,143143.6,0.215155,0.228401,0.284498,0.319321,172.4 -s2_shot_27,shot_27.json,112.96,17.59,-2.26,4291.5,12.21,4194.4,907.8,163.1,178.8,15.7,76.8,5.22,25.19,47.60,138244.2,0.189868,0.226662,0.220257,0.270480,163.1 -s2_shot_9,shot_9.json,94.41,20.07,2.40,4020.4,16.33,3858.1,1130.8,123.2,134.1,10.9,61.9,4.46,23.47,46.60,115543.8,0.212823,0.225950,0.279055,0.315344,123.2 +s2_shot_26,shot_26.json,116.97,18.42,-2.02,5035.4,9.70,4963.4,848.2,172.6,195.8,23.2,108.5,6.07,25.74,57.17,143143.6,0.215155,0.228401,0.276816,0.308703,172.6 +s2_shot_27,shot_27.json,112.96,17.59,-2.26,4291.5,12.21,4194.4,907.8,162.8,177.9,15.2,75.7,5.18,25.21,46.95,138244.2,0.189868,0.226662,0.218192,0.262486,162.8 +s2_shot_9,shot_9.json,94.41,20.07,2.40,4020.4,16.33,3858.1,1130.8,122.9,134.8,11.9,60.6,4.42,23.52,46.00,115543.8,0.212823,0.225950,0.271866,0.304527,122.9 s3_shot_3w_18,shot_3w_18.json,47.91,45.81,33.98,7491.0,30.00,6487.4,3745.5,40.4,46.1,5.7,37.7,3.10,17.34,52.71,58633.5,0.781418,0.386042,0.341873,0.350207,40.4 s3_shot_3w_19,shot_3w_19.json,121.33,5.59,-4.84,1661.5,-11.89,1625.9,-342.2,120.0,181.8,61.8,12.3,2.52,36.61,10.00,148481.0,0.068442,0.199224,0.151288,0.151476,120.0 s3_shot_3w_21,shot_3w_21.json,119.40,5.31,-3.43,1759.7,-10.46,1730.5,-319.5,115.2,176.4,61.2,11.2,2.43,36.54,9.44,146120.2,0.073659,0.198484,0.156580,0.156688,115.2 s3_shot_3w_22,shot_3w_22.json,108.89,5.62,-7.25,2500.8,-1.78,2499.6,-77.5,105.8,160.9,55.1,11.0,2.43,33.66,10.12,133261.1,0.114780,0.198752,0.187398,0.187398,105.8 s3_shot_3w_23,shot_3w_23.json,115.83,8.90,-0.78,2804.3,2.19,2802.2,107.3,147.8,147.6,-0.2,26.7,3.55,30.75,18.21,141755.6,0.120995,0.203281,0.178166,0.178525,147.8 s3_shot_3w_24,shot_3w_24.json,123.42,6.29,-5.42,2751.6,-13.27,2678.1,-631.8,148.2,200.5,52.3,20.5,3.32,32.61,14.69,151037.8,0.111429,0.212976,0.181723,0.182469,148.2 -s3_shot_5i_10,shot_5i_10.json,87.96,14.22,1.21,4064.7,8.41,4021.0,594.4,105.6,109.1,3.5,34.2,3.58,22.94,34.20,107642.0,0.230959,0.238346,0.312469,0.319245,105.6 -s3_shot_5i_11,shot_5i_11.json,90.59,14.45,-0.21,3360.4,7.80,3329.3,456.2,107.3,108.7,1.4,29.1,3.31,25.29,26.42,110866.8,0.185386,0.215219,0.217706,0.221973,107.3 -s3_shot_5i_12,shot_5i_12.json,74.19,10.23,-1.67,3321.4,15.75,3196.7,901.5,59.5,58.4,-1.1,10.5,2.01,23.63,17.60,90789.2,0.223756,0.279231,0.301989,0.305937,59.5 -s3_shot_5i_13,shot_5i_13.json,75.04,8.01,2.53,3921.4,3.42,3914.4,234.0,56.2,89.0,32.7,7.4,1.83,24.53,12.25,91830.0,0.261184,0.275684,0.303437,0.305052,56.2 +s3_shot_5i_10,shot_5i_10.json,87.96,14.22,1.21,4064.7,8.41,4021.0,594.4,103.0,106.1,3.1,32.4,3.48,22.81,33.13,107642.0,0.230959,0.245496,0.299292,0.305612,103.0 +s3_shot_5i_11,shot_5i_11.json,90.59,14.45,-0.21,3360.4,7.80,3329.3,456.2,106.9,108.2,1.4,28.9,3.29,25.32,26.16,110866.8,0.185386,0.215219,0.216380,0.220232,106.9 +s3_shot_5i_12,shot_5i_12.json,74.19,10.23,-1.67,3321.4,15.75,3196.7,901.5,58.7,57.5,-1.2,10.2,1.98,23.74,17.13,90789.2,0.223756,0.279231,0.292739,0.296187,58.7 +s3_shot_5i_13,shot_5i_13.json,75.04,8.01,2.53,3921.4,3.42,3914.4,234.0,55.1,87.6,32.5,7.2,1.78,24.70,11.93,91830.0,0.261184,0.275684,0.294718,0.296527,55.1 s3_shot_5i_15,shot_5i_15.json,86.90,9.35,-4.02,2508.9,-4.94,2499.6,-216.2,74.0,121.1,47.1,11.0,2.08,28.46,13.15,106345.9,0.144296,0.216973,0.187102,0.187102,74.0 -s3_shot_5i_16,shot_5i_16.json,97.99,9.13,-2.08,3775.9,1.68,3774.3,110.7,110.0,109.0,-1.0,19.5,3.01,27.49,17.69,119926.2,0.192576,0.217163,0.229128,0.230270,110.0 +s3_shot_5i_16,shot_5i_16.json,97.99,9.13,-2.08,3775.9,1.68,3774.3,110.7,109.1,108.0,-1.1,19.2,2.98,27.60,17.38,119926.2,0.192576,0.217163,0.226500,0.227520,109.1 s3_shot_5i_17,shot_5i_17.json,56.46,9.97,24.15,5178.3,29.12,4523.9,2519.7,32.2,51.2,19.0,4.7,1.30,21.32,11.92,69096.2,0.458380,0.284917,0.371513,0.371514,32.2 -s3_shot_6i_35,shot_6i_35.json,80.55,15.35,-1.30,4667.1,-0.03,4667.1,-2.8,85.6,85.6,0.0,23.3,2.94,22.78,25.69,98572.3,0.289590,0.251025,0.246786,0.271918,85.6 -s3_shot_6i_36,shot_6i_36.json,78.86,10.40,16.08,4166.0,25.12,3771.9,1768.7,70.6,69.1,-1.5,12.6,2.29,24.22,16.90,96505.8,0.264030,0.256293,0.301522,0.302485,70.6 -s3_shot_6i_37,shot_6i_37.json,82.57,10.16,11.01,3041.1,25.35,2748.4,1301.8,67.8,109.1,41.3,10.9,2.03,26.86,14.36,101052.9,0.184068,0.236918,0.211057,0.211467,67.8 -s3_shot_6i_38,shot_6i_38.json,79.12,13.35,3.04,3186.9,11.59,3121.9,640.2,75.6,75.8,0.2,18.1,2.53,23.76,23.52,96827.7,0.201308,0.252420,0.250057,0.259093,75.6 -s3_shot_6i_39,shot_6i_39.json,60.98,6.14,10.35,3284.8,22.03,3044.9,1232.2,24.0,54.5,30.5,2.2,0.88,23.50,7.61,74625.7,0.269219,0.333765,0.300220,0.303546,24.0 -s3_shot_6i_40,shot_6i_40.json,62.11,6.80,27.01,2768.0,30.00,2397.2,1384.0,25.5,59.7,34.2,2.6,0.92,23.80,8.84,76009.9,0.222738,0.325687,0.312180,0.312363,25.5 +s3_shot_6i_35,shot_6i_35.json,80.55,15.35,-1.30,4667.1,-0.03,4667.1,-2.8,85.2,85.3,0.0,23.2,2.93,22.80,25.47,98572.3,0.289590,0.251025,0.244371,0.270601,85.2 +s3_shot_6i_36,shot_6i_36.json,78.86,10.40,16.08,4166.0,25.12,3771.9,1768.7,69.6,101.8,32.2,12.3,2.25,24.37,16.48,96505.8,0.264030,0.256293,0.293257,0.294638,69.6 +s3_shot_6i_37,shot_6i_37.json,82.57,10.16,11.01,3041.1,25.35,2748.4,1301.8,67.6,108.9,41.3,10.9,2.02,26.89,14.26,101052.9,0.184068,0.236918,0.209958,0.210331,67.6 +s3_shot_6i_38,shot_6i_38.json,79.12,13.35,3.04,3186.9,11.59,3121.9,640.2,75.3,75.5,0.2,17.9,2.51,23.82,23.27,96827.7,0.201308,0.252420,0.245502,0.253506,75.3 +s3_shot_6i_39,shot_6i_39.json,60.98,6.14,10.35,3284.8,22.03,3044.9,1232.2,23.8,54.4,30.6,2.1,0.87,23.54,7.59,74625.7,0.269219,0.333765,0.292838,0.296020,23.8 +s3_shot_6i_40,shot_6i_40.json,62.11,6.80,27.01,2768.0,30.00,2397.2,1384.0,25.3,59.6,34.3,2.6,0.91,23.83,8.78,76009.9,0.222738,0.325687,0.302726,0.302893,25.3 s3_shot_6i_41,shot_6i_41.json,82.53,9.88,-2.28,2620.2,13.56,2547.1,614.5,66.6,110.8,44.2,10.3,1.97,27.33,13.45,100996.8,0.158675,0.229767,0.192268,0.192274,66.6 -s3_shot_6i_42,shot_6i_42.json,77.19,13.14,-3.42,4057.2,4.14,4046.6,293.2,76.2,76.2,-0.0,18.5,2.65,22.62,24.21,94471.3,0.262673,0.261989,0.303947,0.303947,76.2 -s3_shot_6i_43,shot_6i_43.json,94.06,13.88,-4.68,4616.2,1.70,4614.2,137.0,122.9,128.4,5.6,42.8,4.09,23.12,37.60,115112.4,0.245275,0.229891,0.319007,0.319007,122.9 +s3_shot_6i_42,shot_6i_42.json,77.19,13.14,-3.42,4057.2,4.14,4046.6,293.2,75.6,75.5,-0.1,18.1,2.62,22.72,23.76,94471.3,0.262673,0.261989,0.295418,0.295418,75.6 +s3_shot_6i_43,shot_6i_43.json,94.06,13.88,-4.68,4616.2,1.70,4614.2,137.0,119.9,124.5,4.6,40.2,3.97,22.99,36.36,115112.4,0.245275,0.236787,0.305379,0.305379,119.9 s3_shot_6i_44,shot_6i_44.json,114.96,9.46,-6.67,2314.5,15.10,2234.6,602.8,140.5,140.2,-0.3,25.2,3.33,31.66,17.41,140686.5,0.100621,0.199291,0.165322,0.165596,140.5 s3_shot_6i_45,shot_6i_45.json,109.32,6.42,-9.00,2509.9,-10.87,2464.9,-473.5,112.6,165.8,53.2,13.4,2.63,32.94,11.72,133784.2,0.114749,0.198894,0.187380,0.187385,112.6 s3_shot_6i_46,shot_6i_46.json,116.33,13.65,0.34,3007.9,10.67,2955.8,557.1,166.3,170.8,4.5,48.6,4.43,27.68,28.77,142368.0,0.129223,0.213385,0.178828,0.180417,166.3 -s3_shot_6i_47,shot_6i_47.json,99.48,14.78,-2.86,4810.7,4.69,4794.6,393.7,137.3,146.0,8.7,56.4,4.62,23.48,43.48,121740.5,0.241695,0.226258,0.319265,0.319321,137.3 -s3_shot_6i_48,shot_6i_48.json,101.73,15.23,-3.03,4631.0,4.26,4618.2,344.4,142.4,152.3,9.9,62.7,4.81,23.80,45.91,124502.8,0.227503,0.225652,0.307983,0.319321,142.4 -s3_shot_6i_49,shot_6i_49.json,71.25,7.70,16.05,2624.7,30.00,2273.0,1312.3,38.3,78.6,40.3,4.3,1.23,26.40,9.47,87197.7,0.184102,0.260305,0.219802,0.219802,38.3 -s3_shot_6i_50,shot_6i_50.json,82.80,14.85,-1.42,3783.4,2.81,3778.8,185.4,92.3,94.9,2.6,29.4,3.23,22.56,32.31,101335.6,0.228355,0.249757,0.309186,0.318391,92.3 -s3_shot_7i_25,shot_7i_25.json,83.34,13.18,2.98,3409.5,17.79,3246.5,1041.7,86.0,86.4,0.4,21.0,2.79,24.10,24.39,101997.9,0.204455,0.241569,0.258137,0.267072,86.0 -s3_shot_7i_26,shot_7i_26.json,73.37,10.85,15.40,3560.9,30.00,3083.8,1780.4,58.1,57.2,-1.0,10.7,1.99,23.40,17.63,89787.0,0.242568,0.282787,0.319319,0.319321,58.1 -s3_shot_7i_27,shot_7i_27.json,93.74,17.06,-1.45,4611.6,2.63,4606.7,211.8,123.5,133.0,9.6,53.7,4.35,22.99,43.52,114719.5,0.245870,0.230213,0.318841,0.318841,123.5 -s3_shot_7i_28,shot_7i_28.json,92.09,16.41,-3.60,4216.7,-0.44,4216.6,-32.4,118.4,127.1,8.7,48.7,4.13,23.00,41.49,112696.8,0.228852,0.232077,0.309859,0.319321,118.4 -s3_shot_7i_29,shot_7i_29.json,107.59,13.82,-6.05,3633.3,4.72,3621.0,298.7,148.5,151.7,3.1,42.7,4.16,26.73,28.34,131669.7,0.168773,0.209903,0.195575,0.196851,148.5 -s3_shot_7i_30,shot_7i_30.json,90.17,17.56,-3.83,4508.5,-0.21,4508.5,-16.5,114.7,122.7,7.9,48.4,4.10,22.66,41.77,110355.9,0.249879,0.234684,0.316829,0.316829,114.7 -s3_shot_7i_31,shot_7i_31.json,76.36,17.52,-0.54,5122.2,1.84,5119.5,164.7,80.7,80.7,0.0,24.4,2.96,21.73,27.21,93445.7,0.335263,0.261959,0.228148,0.270680,80.7 -s3_shot_7i_32,shot_7i_32.json,93.10,16.96,-1.03,3762.5,4.20,3752.4,275.6,120.9,128.4,7.5,46.6,4.03,24.12,38.67,113935.9,0.201982,0.217096,0.256820,0.281727,120.9 -s3_shot_7i_33,shot_7i_33.json,92.36,16.96,-0.58,3851.7,2.81,3847.1,188.9,119.6,127.5,7.8,47.8,4.07,23.77,39.83,113026.5,0.208434,0.219885,0.273641,0.301195,119.6 -s3_shot_7i_34,shot_7i_34.json,104.19,14.67,-4.63,4081.2,1.90,4079.0,135.0,146.1,152.6,6.5,51.2,4.48,24.97,37.41,127515.3,0.195758,0.216738,0.236115,0.257062,146.1 -s3_shot_9i_1,shot_9i_1.json,88.98,15.10,-0.50,3563.2,11.26,3494.6,695.8,106.9,110.3,3.4,32.7,3.47,24.25,31.08,108898.1,0.200130,0.221857,0.251988,0.264353,106.9 -s3_shot_9i_2,shot_9i_2.json,71.29,23.93,5.51,4085.5,8.31,4042.7,590.2,80.2,85.4,5.2,37.0,3.36,21.39,39.13,87241.3,0.286429,0.239815,0.283297,0.307327,80.2 -s3_shot_9i_3,shot_9i_3.json,90.11,21.67,2.80,5243.0,11.20,5143.3,1018.1,115.4,122.1,6.8,52.3,4.22,22.52,42.19,110277.5,0.290796,0.234780,0.242056,0.268000,115.4 -s3_shot_9i_5,shot_9i_5.json,84.02,19.37,3.82,5352.1,11.48,5245.0,1065.2,103.0,104.8,1.8,37.4,3.68,22.59,33.50,102827.9,0.318347,0.231816,0.230740,0.276040,103.0 +s3_shot_6i_47,shot_6i_47.json,99.48,14.78,-2.86,4810.7,4.69,4794.6,393.7,134.2,141.8,7.5,52.9,4.48,23.26,42.06,121740.5,0.241695,0.233046,0.305545,0.305616,134.2 +s3_shot_6i_48,shot_6i_48.json,101.73,15.23,-3.03,4631.0,4.26,4618.2,344.4,139.4,148.1,8.7,58.9,4.67,23.53,44.58,124502.8,0.227503,0.232422,0.295227,0.305616,139.4 +s3_shot_6i_49,shot_6i_49.json,71.25,7.70,16.05,2624.7,30.00,2273.0,1312.3,38.3,78.6,40.3,4.3,1.23,26.40,9.49,87197.7,0.184102,0.260305,0.218652,0.218652,38.3 +s3_shot_6i_50,shot_6i_50.json,82.80,14.85,-1.42,3783.4,2.81,3778.8,185.4,91.5,93.9,2.4,28.5,3.18,22.66,31.49,101335.6,0.228355,0.249757,0.299309,0.307622,91.5 +s3_shot_7i_25,shot_7i_25.json,83.34,13.18,2.98,3409.5,17.79,3246.5,1041.7,85.5,85.8,0.3,20.6,2.77,24.18,24.01,101997.9,0.204455,0.241569,0.252849,0.260695,85.5 +s3_shot_7i_26,shot_7i_26.json,73.37,10.85,15.40,3560.9,30.00,3083.8,1780.4,57.4,56.3,-1.1,10.4,1.96,23.51,17.22,89787.0,0.242568,0.282787,0.308696,0.308703,57.4 +s3_shot_7i_27,shot_7i_27.json,93.74,17.06,-1.45,4611.6,2.63,4606.7,211.8,120.9,128.2,7.4,51.0,4.23,22.77,42.45,114719.5,0.245870,0.237119,0.305241,0.305241,120.9 +s3_shot_7i_28,shot_7i_28.json,92.09,16.41,-3.60,4216.7,-0.44,4216.6,-32.4,115.9,123.7,7.8,46.2,4.03,22.81,40.54,112696.8,0.228852,0.239039,0.296925,0.305616,115.9 +s3_shot_7i_29,shot_7i_29.json,107.59,13.82,-6.05,3633.3,4.72,3621.0,298.7,148.5,151.7,3.1,42.7,4.16,26.73,28.34,131669.7,0.168773,0.209903,0.195575,0.196825,148.5 +s3_shot_7i_30,shot_7i_30.json,90.17,17.56,-3.83,4508.5,-0.21,4508.5,-16.5,112.4,119.5,7.1,46.2,4.00,22.46,40.91,110355.9,0.249879,0.241724,0.303518,0.303518,112.4 +s3_shot_7i_31,shot_7i_31.json,76.36,17.52,-0.54,5122.2,1.84,5119.5,164.7,80.7,80.7,0.0,24.4,2.96,21.73,27.22,93445.7,0.335263,0.261959,0.228148,0.270680,80.7 +s3_shot_7i_32,shot_7i_32.json,93.10,16.96,-1.03,3762.5,4.20,3752.4,275.6,120.5,128.7,8.1,45.7,4.00,24.18,38.13,113935.9,0.201982,0.217096,0.252014,0.273650,120.5 +s3_shot_7i_33,shot_7i_33.json,92.36,16.96,-0.58,3851.7,2.81,3847.1,188.9,119.2,127.6,8.5,46.7,4.03,23.85,39.19,113026.5,0.208434,0.219885,0.267307,0.291353,119.2 +s3_shot_7i_34,shot_7i_34.json,104.19,14.67,-4.63,4081.2,1.90,4079.0,135.0,142.8,150.6,7.7,49.4,4.38,24.71,37.16,127515.3,0.195758,0.223240,0.230490,0.253041,142.8 +s3_shot_9i_1,shot_9i_1.json,88.98,15.10,-0.50,3563.2,11.26,3494.6,695.8,106.5,109.3,2.9,32.2,3.44,24.32,30.62,108898.1,0.200130,0.221857,0.247620,0.258441,106.5 +s3_shot_9i_2,shot_9i_2.json,71.29,23.93,5.51,4085.5,8.31,4042.7,590.2,80.2,85.5,5.3,36.9,3.36,21.41,39.16,87241.3,0.286429,0.239815,0.279827,0.306940,80.2 +s3_shot_9i_3,shot_9i_3.json,90.11,21.67,2.80,5243.0,11.20,5143.3,1018.1,115.4,122.2,6.8,52.2,4.22,22.54,42.22,110277.5,0.290796,0.234780,0.239909,0.268000,115.4 +s3_shot_9i_5,shot_9i_5.json,84.02,19.37,3.82,5352.1,11.48,5245.0,1065.2,103.0,104.9,1.8,37.4,3.68,22.60,33.54,102827.9,0.318347,0.231816,0.230740,0.276040,103.0 s3_shot_9i_7,shot_9i_7.json,83.03,22.51,5.26,7008.5,9.70,6908.3,1181.2,103.4,105.5,2.0,47.9,4.12,21.13,39.90,101607.9,0.421882,0.266562,0.257201,0.314452,103.4 -s3_shot_9i_8,shot_9i_8.json,92.21,21.95,-6.31,5042.3,0.73,5041.8,64.2,120.6,131.1,10.5,60.8,4.49,22.75,46.49,112846.1,0.273294,0.231927,0.279723,0.279723,120.6 -s3_shot_9i_9,shot_9i_9.json,90.06,22.14,-3.09,5351.1,1.21,5349.9,113.3,116.3,123.4,7.0,53.8,4.29,22.44,42.98,110212.5,0.296965,0.234860,0.231941,0.268000,116.3 -s3_shot_driver_51,shot_driver_51.json,116.17,21.74,2.17,6409.0,3.23,6398.8,360.7,166.1,183.5,17.5,100.8,5.89,24.33,55.99,142164.9,0.275733,0.249134,0.263339,0.263339,166.1 -s3_shot_driver_52,shot_driver_52.json,102.11,31.33,3.09,8442.2,6.26,8391.8,921.1,128.2,142.4,14.2,112.7,5.94,23.38,60.81,124959.2,0.413216,0.263259,0.242592,0.290834,128.2 +s3_shot_9i_8,shot_9i_8.json,92.21,21.95,-6.31,5042.3,0.73,5041.8,64.2,120.5,129.4,8.9,60.3,4.48,22.75,46.23,112846.1,0.273294,0.231927,0.273562,0.273562,120.5 +s3_shot_9i_9,shot_9i_9.json,90.06,22.14,-3.09,5351.1,1.21,5349.9,113.3,116.4,123.4,7.0,53.8,4.29,22.44,43.01,110212.5,0.296965,0.234860,0.230887,0.268000,116.4 +s3_shot_driver_51,shot_driver_51.json,116.17,21.74,2.17,6409.0,3.23,6398.8,360.7,166.2,181.3,15.1,100.2,5.88,24.33,55.87,142164.9,0.275733,0.249134,0.257979,0.257979,166.2 +s3_shot_driver_52,shot_driver_52.json,102.11,31.33,3.09,8442.2,6.26,8391.8,921.1,128.2,142.4,14.2,112.7,5.94,23.38,60.84,124959.2,0.413216,0.263259,0.242592,0.290834,128.2 s3_shot_driver_53,shot_driver_53.json,97.23,30.63,2.23,8925.8,5.99,8877.1,931.1,117.7,127.4,9.7,97.4,5.50,22.31,57.75,118995.0,0.458786,0.283797,0.264452,0.300780,117.7 s3_shot_driver_54,shot_driver_54.json,121.50,12.88,-5.26,3410.9,-9.97,3359.4,-590.5,178.7,183.8,5.1,53.0,4.72,27.55,30.03,148697.8,0.140300,0.219531,0.185406,0.187519,178.7 s3_shot_driver_55,shot_driver_55.json,117.48,7.48,-8.33,2150.0,-27.19,1912.4,-982.4,127.6,183.5,56.0,17.6,2.85,34.16,13.31,143773.2,0.091462,0.199494,0.168768,0.168971,127.6 -s3_shot_driver_56,shot_driver_56.json,118.70,17.12,-1.80,4553.8,2.81,4548.4,222.9,175.8,194.6,18.8,90.4,5.68,25.47,51.68,145271.0,0.191729,0.231205,0.224341,0.289075,175.8 +s3_shot_driver_56,shot_driver_56.json,118.70,17.12,-1.80,4553.8,2.81,4548.4,222.9,175.7,192.5,16.9,88.8,5.63,25.49,50.95,145271.0,0.191729,0.231205,0.221916,0.279229,175.7 s3_shot_driver_57,shot_driver_57.json,120.93,14.10,-5.16,1544.1,-7.96,1529.2,-213.7,174.3,179.3,5.0,48.2,4.28,30.72,26.27,147990.8,0.063815,0.194500,0.138103,0.139058,174.3 -s3_shot_driver_58,shot_driver_58.json,119.27,23.59,2.48,7093.4,3.26,7081.9,403.5,172.5,188.4,15.9,112.7,6.24,24.68,58.02,145965.8,0.297231,0.251663,0.222312,0.260007,172.5 -s3_shot_driver_59,shot_driver_59.json,80.96,44.91,8.87,6735.0,12.36,6578.8,1442.0,82.1,97.6,15.5,103.6,5.28,22.70,66.22,99079.0,0.415764,0.273004,0.251426,0.310718,82.1 +s3_shot_driver_58,shot_driver_58.json,119.27,23.59,2.48,7093.4,3.26,7081.9,403.5,172.5,188.5,15.9,112.7,6.24,24.68,58.04,145965.8,0.297231,0.251663,0.221338,0.259997,172.5 +s3_shot_driver_59,shot_driver_59.json,80.96,44.91,8.87,6735.0,12.36,6578.8,1442.0,82.1,97.6,15.5,103.6,5.28,22.70,66.23,99079.0,0.415764,0.273004,0.251426,0.310718,82.1 s3_shot_driver_60,shot_driver_60.json,107.39,11.67,-8.62,3268.6,-14.80,3160.1,-835.0,137.9,138.4,0.5,31.5,3.64,28.36,22.12,131422.8,0.152117,0.205821,0.189954,0.190379,137.9 -s3_shot_pw_64,shot_pw_64.json,69.63,28.57,0.16,5327.2,5.10,5306.2,473.4,83.5,88.7,5.2,47.0,3.89,20.82,44.79,85210.2,0.382385,0.234175,0.268698,0.338377,83.5 +s3_shot_pw_64,shot_pw_64.json,69.63,28.57,0.16,5327.2,5.10,5306.2,473.4,83.5,88.7,5.2,47.0,3.89,20.82,44.80,85210.2,0.382385,0.234175,0.268698,0.338377,83.5 s3_shot_pw_65,shot_pw_65.json,81.25,28.38,2.89,6959.4,9.38,6866.3,1134.7,99.5,105.6,6.0,62.7,4.52,20.96,48.94,99433.7,0.428086,0.269323,0.263103,0.317428,99.5 s3_shot_pw_66,shot_pw_66.json,75.71,27.32,-1.17,6605.0,3.99,6589.0,460.1,88.1,91.7,3.6,50.5,4.04,20.09,45.12,92652.6,0.436020,0.273152,0.267359,0.317564,88.1 s3_shot_pw_67,shot_pw_67.json,81.66,28.12,6.34,6509.6,12.74,6349.4,1435.1,101.3,108.3,7.1,61.9,4.51,21.11,48.97,99936.4,0.398402,0.258212,0.247532,0.317566,101.3 -s3_shot_pw_68,shot_pw_68.json,88.55,23.37,-0.05,6637.4,6.04,6600.5,698.8,113.3,118.0,4.6,56.4,4.44,21.43,43.68,108370.9,0.374608,0.255547,0.232885,0.296867,113.3 +s3_shot_pw_68,shot_pw_68.json,88.55,23.37,-0.05,6637.4,6.04,6600.5,698.8,112.8,117.4,4.6,56.2,4.43,21.33,43.83,108370.9,0.374608,0.258004,0.232885,0.297803,112.8 s3_shot_pw_69,shot_pw_69.json,74.06,23.61,0.18,5880.4,8.45,5816.5,864.4,84.0,85.7,1.7,37.7,3.56,20.18,38.00,90634.2,0.396828,0.269425,0.244354,0.305900,84.0 -s4_shot_3w_31,shot_3w_31.json,106.87,15.70,-2.35,3662.0,8.88,3618.1,565.0,150.2,155.2,5.0,50.1,4.38,26.18,32.87,130789.1,0.171252,0.210355,0.196436,0.200255,150.2 -s4_shot_3w_32,shot_3w_32.json,105.45,18.52,-1.38,5714.3,2.28,5709.8,227.6,144.3,153.2,8.9,67.6,4.91,23.20,46.53,129048.7,0.270835,0.243692,0.273641,0.273641,144.3 -s4_shot_3w_33,shot_3w_33.json,99.72,20.51,0.54,6997.1,1.55,6994.5,189.5,138.4,143.0,4.7,63.7,4.87,22.76,42.75,122038.2,0.350680,0.237215,0.227464,0.278167,138.4 +s4_shot_3w_31,shot_3w_31.json,106.87,15.70,-2.35,3662.0,8.88,3618.1,565.0,150.2,155.2,5.0,50.1,4.38,26.19,32.87,130789.1,0.171252,0.210355,0.196427,0.200014,150.2 +s4_shot_3w_32,shot_3w_32.json,105.45,18.52,-1.38,5714.3,2.28,5709.8,227.6,144.3,154.5,10.2,66.8,4.89,23.22,46.25,129048.7,0.270835,0.243692,0.267181,0.267181,144.3 +s4_shot_3w_33,shot_3w_33.json,99.72,20.51,0.54,6997.1,1.55,6994.5,189.5,137.6,142.8,5.3,63.5,4.85,22.64,42.83,122038.2,0.350680,0.239496,0.227464,0.278865,137.6 s4_shot_3w_34,shot_3w_34.json,114.64,15.34,2.39,3501.5,12.77,3414.9,773.8,165.9,173.4,7.5,56.4,4.68,26.62,33.88,140301.3,0.152646,0.217562,0.188244,0.190495,165.9 s4_shot_3w_35,shot_3w_35.json,117.92,14.40,3.60,3735.1,13.26,3635.5,856.4,171.7,177.5,5.8,56.4,4.74,26.78,33.08,144310.5,0.158303,0.221196,0.190219,0.192587,171.7 -s4_shot_5i_25,shot_5i_25.json,89.08,16.71,1.13,5261.8,6.18,5231.2,566.6,107.9,108.9,1.0,34.6,3.60,23.08,30.58,109019.3,0.295205,0.236399,0.234521,0.273054,107.9 -s4_shot_5i_26,shot_5i_26.json,106.31,15.46,-3.63,4114.0,3.40,4106.7,244.1,151.8,160.9,9.1,57.4,4.68,25.10,39.73,130101.2,0.193407,0.216315,0.230481,0.255329,151.8 +s4_shot_5i_25,shot_5i_25.json,89.08,16.71,1.13,5261.8,6.18,5231.2,566.6,106.0,106.9,1.0,33.9,3.55,22.84,30.60,109019.3,0.295205,0.243491,0.230854,0.271368,106.0 +s4_shot_5i_26,shot_5i_26.json,106.31,15.46,-3.63,4114.0,3.40,4106.7,244.1,147.4,155.9,8.5,54.8,4.55,24.74,39.49,130101.2,0.193407,0.224968,0.223134,0.250449,147.4 s4_shot_5i_27,shot_5i_27.json,84.90,6.99,5.73,2262.9,30.00,1959.8,1131.5,54.3,104.1,49.8,5.7,1.48,30.64,8.91,103903.1,0.133209,0.211751,0.197827,0.197827,54.3 -s4_shot_5i_28,shot_5i_28.json,86.01,15.91,-1.64,4178.9,1.01,4178.3,73.4,102.9,107.7,4.8,37.2,3.63,22.47,36.73,105257.7,0.242831,0.242165,0.319320,0.319320,102.9 -s4_shot_5i_29,shot_5i_29.json,76.23,6.14,0.67,3695.3,-0.00,3695.3,-0.0,52.5,87.1,34.6,5.3,1.64,25.70,9.42,93294.5,0.242265,0.270941,0.319309,0.319310,52.5 -s4_shot_5i_30,shot_5i_30.json,96.81,18.19,0.71,6358.2,17.49,6064.2,1911.0,127.1,129.3,2.2,47.7,4.23,23.07,35.36,118483.3,0.328220,0.236739,0.225130,0.268019,127.1 -s4_shot_6i_19,shot_6i_19.json,85.61,14.70,2.87,4622.8,10.94,4538.9,877.1,98.4,99.3,1.0,28.8,3.32,22.89,29.41,104776.4,0.269858,0.243007,0.287102,0.287102,98.4 -s4_shot_6i_20,shot_6i_20.json,78.84,9.70,-0.74,4288.8,-0.00,4288.8,-0.0,69.3,101.0,31.6,11.5,2.23,24.22,15.61,96487.2,0.271870,0.261574,0.282824,0.293463,69.3 -s4_shot_6i_21,shot_6i_21.json,91.87,17.75,0.67,5966.8,11.46,5847.9,1185.3,117.3,118.6,1.3,40.8,3.93,23.10,32.56,112434.3,0.324590,0.232345,0.224728,0.268222,117.3 -s4_shot_6i_22,shot_6i_22.json,76.88,7.65,14.36,3780.1,30.00,3273.7,1890.1,55.3,89.6,34.3,6.9,1.74,25.52,11.28,94085.4,0.245740,0.268499,0.318880,0.319321,55.3 -s4_shot_6i_23,shot_6i_23.json,86.70,15.37,2.75,4195.9,11.91,4105.6,865.6,103.5,107.2,3.7,35.9,3.60,22.64,35.43,106106.9,0.241865,0.240738,0.319281,0.319321,103.5 -s4_shot_6i_24,shot_6i_24.json,90.75,14.84,2.98,5270.3,14.94,5092.1,1358.6,107.9,108.2,0.3,30.6,3.45,23.78,27.04,111064.3,0.290235,0.233842,0.243109,0.272754,107.9 +s4_shot_5i_28,shot_5i_28.json,86.01,15.91,-1.64,4178.9,1.01,4178.3,73.4,100.5,104.6,4.1,35.4,3.53,22.32,35.78,105257.7,0.242831,0.249430,0.305616,0.305616,100.5 +s4_shot_5i_29,shot_5i_29.json,76.23,6.14,0.67,3695.3,-0.00,3695.3,-0.0,51.2,86.2,35.1,5.1,1.59,25.92,9.17,93294.5,0.242265,0.270941,0.308682,0.308683,51.2 +s4_shot_5i_30,shot_5i_30.json,96.81,18.19,0.71,6358.2,17.49,6064.2,1911.0,126.4,128.3,1.9,47.6,4.22,22.96,35.41,118483.3,0.328220,0.239016,0.225130,0.268060,126.4 +s4_shot_6i_19,shot_6i_19.json,85.61,14.70,2.87,4622.8,10.94,4538.9,877.1,96.0,96.8,0.8,27.7,3.23,22.77,28.83,104776.4,0.269858,0.250298,0.277351,0.277351,96.0 +s4_shot_6i_20,shot_6i_20.json,78.84,9.70,-0.74,4288.8,-0.00,4288.8,-0.0,68.5,100.3,31.7,11.2,2.20,24.35,15.36,96487.2,0.271870,0.261574,0.276332,0.285846,68.5 +s4_shot_6i_21,shot_6i_21.json,91.87,17.75,0.67,5966.8,11.46,5847.9,1185.3,117.3,118.6,1.3,40.8,3.93,23.10,32.60,112434.3,0.324590,0.232345,0.224728,0.268200,117.3 +s4_shot_6i_22,shot_6i_22.json,76.88,7.65,14.36,3780.1,30.00,3273.7,1890.1,54.2,88.3,34.1,6.7,1.70,25.70,11.06,94085.4,0.245740,0.268499,0.308358,0.308703,54.2 +s4_shot_6i_23,shot_6i_23.json,86.70,15.37,2.75,4195.9,11.91,4105.6,865.6,101.1,104.2,3.2,34.1,3.50,22.50,34.50,106106.9,0.241865,0.247961,0.305563,0.305616,101.1 +s4_shot_6i_24,shot_6i_24.json,90.75,14.84,2.98,5270.3,14.94,5092.1,1358.6,105.6,105.8,0.2,29.9,3.38,23.60,26.91,111064.3,0.290235,0.240858,0.238441,0.265777,105.6 s4_shot_9i_13,shot_9i_13.json,73.08,12.51,11.29,4978.8,21.31,4638.4,1809.5,60.0,57.8,-2.3,11.7,2.07,23.32,16.82,89438.4,0.340482,0.273923,0.228699,0.270680,60.0 -s4_shot_9i_14,shot_9i_14.json,87.13,22.10,0.34,5730.4,4.69,5711.2,468.2,109.1,113.5,4.4,48.8,4.12,21.69,40.83,106627.5,0.328706,0.249496,0.225184,0.269441,109.1 +s4_shot_9i_14,shot_9i_14.json,87.13,22.10,0.34,5730.4,4.69,5711.2,468.2,108.6,113.0,4.4,48.7,4.11,21.59,40.94,106627.5,0.328706,0.251895,0.225184,0.269681,108.6 s4_shot_9i_15,shot_9i_15.json,75.35,23.70,-1.27,6790.0,2.92,6781.2,346.1,86.2,101.9,15.7,40.7,3.71,19.97,39.38,92212.3,0.450373,0.277300,0.272009,0.314452,86.2 -s4_shot_9i_17,shot_9i_17.json,79.41,14.92,16.37,4369.2,30.00,3783.8,2184.6,79.8,79.9,0.1,21.1,2.74,23.04,24.61,97178.2,0.274993,0.254523,0.278723,0.285411,79.8 +s4_shot_9i_17,shot_9i_17.json,79.41,14.92,16.37,4369.2,30.00,3783.8,2184.6,79.5,79.6,0.1,20.8,2.73,23.10,24.47,97178.2,0.274993,0.254523,0.272906,0.280548,79.5 s4_shot_9i_18,shot_9i_18.json,74.62,23.60,2.52,6418.0,6.12,6381.4,684.4,85.0,101.6,16.5,39.3,3.65,19.97,38.77,91326.6,0.429824,0.274144,0.261453,0.314452,85.0 s4_shot_lw_38,shot_lw_38.json,47.61,37.82,6.06,5608.6,5.60,5581.8,546.9,41.3,52.4,11.1,29.4,2.78,17.09,45.18,58260.0,0.588807,0.364352,0.359933,0.359933,41.3 -s4_shot_pw_1,shot_pw_1.json,69.84,20.07,-0.58,3577.0,7.98,3542.3,496.5,73.8,77.0,3.2,29.3,2.97,21.76,34.40,85474.1,0.255959,0.239780,0.354474,0.354474,73.8 +s4_shot_pw_1,shot_pw_1.json,69.84,20.07,-0.58,3577.0,7.98,3542.3,496.5,73.5,76.8,3.3,28.8,2.94,21.80,34.06,85474.1,0.255959,0.239780,0.343582,0.343582,73.5 s4_shot_pw_10,shot_pw_10.json,76.33,26.80,0.65,5988.6,4.90,5966.7,511.9,90.4,95.1,4.7,49.4,4.03,20.35,44.92,93415.5,0.392099,0.262301,0.244565,0.315508,90.4 s4_shot_pw_11,shot_pw_11.json,76.26,27.35,-0.63,6296.3,5.22,6270.2,573.0,90.0,94.0,4.0,51.2,4.09,20.25,45.82,93324.9,0.412650,0.266668,0.254797,0.317566,90.0 s4_shot_pw_2,shot_pw_2.json,53.25,24.98,0.23,4085.0,3.00,4079.4,213.9,48.9,68.2,19.3,20.6,2.50,18.35,33.53,65162.3,0.383432,0.289828,0.329518,0.342645,48.9 s4_shot_pw_3,shot_pw_3.json,62.81,31.15,6.57,6128.8,6.31,6091.7,673.2,65.8,79.9,14.1,40.7,3.48,19.10,44.14,76871.8,0.487637,0.301908,0.302122,0.337086,65.8 s4_shot_pw_47,shot_pw_47.json,46.66,24.60,2.26,3699.1,-0.00,3699.1,-0.0,36.8,54.7,17.9,14.6,2.06,16.98,30.73,57108.3,0.396174,0.339646,0.335698,0.346855,36.8 s4_shot_pw_48,shot_pw_48.json,46.55,25.52,3.83,4318.4,0.58,4318.2,43.5,37.2,52.9,15.7,15.6,2.12,16.78,31.25,56972.9,0.463607,0.358866,0.372870,0.373606,37.2 -s4_shot_pw_49,shot_pw_49.json,60.30,22.56,3.45,4043.8,4.96,4028.7,350.0,57.1,78.6,21.5,22.5,2.62,19.39,33.16,73793.9,0.335170,0.291302,0.279107,0.303080,57.1 -s4_shot_pw_6,shot_pw_6.json,68.69,26.10,1.07,4148.8,8.23,4106.0,593.9,77.1,83.0,5.9,38.5,3.40,21.03,41.09,84067.5,0.301843,0.241605,0.258018,0.305520,77.1 +s4_shot_pw_49,shot_pw_49.json,60.30,22.56,3.45,4043.8,4.96,4028.7,350.0,57.1,78.6,21.5,22.5,2.62,19.39,33.17,73793.9,0.335170,0.291302,0.279107,0.303080,57.1 +s4_shot_pw_6,shot_pw_6.json,68.69,26.10,1.07,4148.8,8.23,4106.0,593.9,77.1,83.0,6.0,38.4,3.40,21.04,41.10,84067.5,0.301843,0.241605,0.257527,0.305520,77.1 s4_shot_pw_7,shot_pw_7.json,76.85,25.20,3.72,6565.2,8.16,6498.7,931.8,90.6,93.3,2.7,46.6,3.96,20.22,42.43,94049.7,0.426955,0.269427,0.262492,0.317566,90.6 s4_shot_pw_9,shot_pw_9.json,76.60,28.64,4.92,7133.1,5.71,7097.7,709.7,88.9,92.6,3.7,54.9,4.18,20.21,46.98,93747.4,0.465384,0.279386,0.279820,0.312403,88.9 +s5_shot_3w_35,shot_3w_35.json,107.01,10.72,9.52,3700.4,15.50,3565.9,988.7,133.3,133.2,-0.0,28.1,3.50,28.35,20.69,130963.7,0.172817,0.210794,0.197243,0.198182,133.3 +s5_shot_3w_36,shot_3w_36.json,128.27,9.51,-2.92,2613.7,-6.77,2595.5,-308.1,177.1,178.0,0.9,37.2,4.12,30.79,21.80,156983.5,0.101834,0.214824,0.162752,0.164295,177.1 +s5_shot_3w_37,shot_3w_37.json,100.89,23.65,6.42,7893.3,7.23,7830.5,993.3,136.4,143.8,7.5,77.9,5.25,22.30,49.48,123474.3,0.390995,0.254023,0.227316,0.295772,136.4 +s5_shot_3w_38,shot_3w_38.json,130.05,7.89,-0.57,1997.4,1.80,1996.4,62.6,170.6,170.5,-0.1,28.9,3.74,33.10,17.70,159152.2,0.076763,0.206121,0.154282,0.155381,170.6 +s5_shot_3w_39,shot_3w_39.json,129.89,11.95,-1.78,2965.3,-0.82,2965.0,-42.3,196.6,202.1,5.5,56.6,4.93,28.57,29.75,158965.7,0.114091,0.220233,0.173148,0.175763,196.6 +s5_shot_3w_40,shot_3w_40.json,116.24,14.11,0.83,3909.1,0.36,3909.0,24.4,168.3,174.2,5.9,54.6,4.69,26.40,33.35,142251.6,0.168078,0.222562,0.193403,0.197482,168.3 +s5_shot_3w_41,shot_3w_41.json,126.56,7.88,-0.02,2418.3,5.93,2405.4,249.7,168.4,168.3,-0.1,29.3,3.81,32.05,18.28,154884.0,0.095497,0.206394,0.169245,0.170138,168.4 +s5_shot_6i_30,shot_6i_30.json,96.45,10.09,-3.53,1644.0,5.10,1637.5,146.1,96.3,150.6,54.2,15.8,2.49,30.78,14.63,118037.7,0.085187,0.187597,0.159222,0.159222,96.3 +s5_shot_6i_31,shot_6i_31.json,97.89,9.42,-3.68,3752.0,4.52,3740.4,295.5,109.6,108.6,-0.9,19.7,3.00,27.52,17.80,119805.0,0.191549,0.216915,0.223816,0.224950,109.6 +s5_shot_6i_32,shot_6i_32.json,90.17,9.74,-1.26,4135.2,7.98,4095.1,573.9,97.7,97.6,-0.2,19.6,3.00,24.08,22.06,110349.1,0.229200,0.248774,0.288330,0.293027,97.7 +s5_shot_6i_33,shot_6i_33.json,105.71,11.72,-1.36,3776.1,10.99,3706.9,720.0,136.3,136.8,0.5,32.3,3.71,27.31,23.26,129364.9,0.178534,0.212046,0.202288,0.204818,136.3 +s5_shot_6i_34,shot_6i_34.json,111.13,9.31,-8.56,2637.1,-2.91,2633.7,-134.0,135.4,135.0,-0.4,24.2,3.31,30.69,17.41,136008.1,0.118591,0.200305,0.175664,0.175839,135.4 +s5_shot_7i_26,shot_7i_26.json,107.15,14.31,-2.94,4648.0,7.59,4607.2,614.2,150.1,160.6,10.5,61.5,4.84,23.95,44.50,131135.0,0.216789,0.232684,0.274543,0.301241,150.1 +s5_shot_7i_27,shot_7i_27.json,103.35,14.05,-1.80,5084.7,13.65,4941.0,1200.1,142.4,150.9,8.5,54.8,4.63,23.58,41.78,126483.6,0.245879,0.232271,0.305239,0.305239,142.4 +s5_shot_7i_28,shot_7i_28.json,98.45,15.21,-3.44,3446.7,6.38,3425.3,383.1,129.3,132.5,3.2,38.7,3.84,26.00,28.94,120486.2,0.174967,0.205688,0.202745,0.205183,129.3 +s5_shot_7i_29,shot_7i_29.json,110.04,12.92,-0.51,3297.2,8.98,3256.8,514.5,148.3,150.3,2.0,39.3,4.02,27.27,26.07,134669.3,0.149752,0.214419,0.187194,0.188309,148.3 +s5_shot_8i_22,shot_8i_22.json,100.79,15.59,-5.47,3498.0,3.50,3491.5,213.3,136.9,141.4,4.5,43.1,4.06,26.06,30.69,123345.0,0.173457,0.204530,0.201602,0.204176,136.9 +s5_shot_8i_23,shot_8i_23.json,109.67,18.21,-0.03,3711.3,5.17,3696.2,334.5,160.4,170.2,9.8,66.5,4.88,26.06,40.14,134210.0,0.169134,0.210697,0.195688,0.202022,160.4 +s5_shot_8i_24,shot_8i_24.json,106.67,18.22,0.20,5796.8,8.85,5727.9,891.6,146.5,154.9,8.4,66.8,4.91,23.33,45.64,130546.8,0.271592,0.243945,0.265792,0.265792,146.5 +s5_shot_8i_25,shot_8i_25.json,96.96,18.53,-2.03,4809.3,4.30,4795.8,360.2,131.3,140.7,9.4,63.4,4.68,23.35,47.00,118666.2,0.247881,0.227537,0.307626,0.307626,131.3 +s5_shot_9i_19,shot_9i_19.json,101.23,20.48,-2.39,4282.2,5.84,4259.9,435.9,139.6,155.2,15.6,78.3,5.03,24.23,51.38,123888.5,0.211410,0.221753,0.268771,0.307346,139.6 +s5_shot_9i_20,shot_9i_20.json,98.52,20.39,1.42,4377.3,10.38,4305.7,788.4,133.5,148.8,15.4,73.8,4.89,23.80,50.69,120566.4,0.222058,0.226147,0.289940,0.308703,133.5 +s5_shot_9i_21,shot_9i_21.json,90.13,20.73,0.61,6342.4,5.08,6317.5,561.6,115.1,118.1,2.9,48.9,4.20,21.87,38.85,110304.8,0.351680,0.248776,0.227575,0.276471,115.1 +s5_shot_driver_42,shot_driver_42.json,136.11,8.71,-3.00,2154.9,-0.59,2154.8,-22.3,192.0,193.0,1.0,38.3,4.24,32.30,21.05,166577.1,0.079122,0.209647,0.151765,0.153625,192.0 +s5_shot_driver_43,shot_driver_43.json,133.20,5.82,-6.58,2130.0,-19.69,2005.5,-717.5,159.3,216.9,57.6,20.4,3.32,35.12,13.55,163012.9,0.079917,0.208359,0.162419,0.163570,159.3 +s5_shot_driver_44,shot_driver_44.json,123.96,12.67,1.29,3764.6,2.20,3761.8,144.7,185.7,191.8,6.1,57.2,4.93,27.17,31.93,151701.5,0.151782,0.224171,0.189832,0.192391,185.7 +s5_shot_driver_45,shot_driver_45.json,128.90,5.14,-5.25,1634.8,2.91,1632.7,83.0,134.5,197.4,62.9,13.6,2.73,37.16,10.25,157754.0,0.063384,0.203888,0.145736,0.146328,134.5 +s5_shot_driver_46,shot_driver_46.json,134.80,10.70,-2.42,3349.5,-6.46,3328.2,-376.8,205.0,210.5,5.5,56.8,5.05,28.61,29.53,164970.4,0.124183,0.225197,0.178276,0.181362,205.0 +s5_shot_driver_47,shot_driver_47.json,137.20,7.11,-4.32,2596.0,-12.12,2538.1,-545.3,188.5,188.8,0.3,33.9,4.16,31.85,19.87,167912.6,0.094560,0.218639,0.169403,0.171693,188.5 +s5_shot_driver_48,shot_driver_48.json,123.09,15.27,-4.21,4479.8,-6.82,4448.1,-532.0,186.0,199.0,12.9,79.3,5.53,25.91,45.17,150637.4,0.181893,0.231717,0.206646,0.242226,186.0 +s5_shot_driver_49,shot_driver_49.json,123.52,18.72,3.77,5686.4,8.96,5617.1,885.3,183.1,204.7,21.6,130.1,6.62,26.54,60.86,151166.3,0.230079,0.236473,0.301359,0.308703,183.1 +s5_shot_lw_15,shot_lw_15.json,47.74,29.72,2.34,5998.7,-0.00,5998.7,-0.0,39.4,50.1,10.7,20.3,2.37,16.64,36.75,58422.2,0.628017,0.402083,0.343866,0.343866,39.4 +s5_shot_lw_16,shot_lw_16.json,52.57,37.20,5.56,5241.1,7.60,5195.1,692.9,49.7,63.1,13.4,36.1,3.13,18.19,46.67,64333.6,0.498287,0.318465,0.365763,0.365763,49.7 +s5_shot_lw_17,shot_lw_17.json,55.36,37.35,7.30,5902.8,9.87,5815.5,1011.5,55.1,66.3,11.2,41.2,3.38,18.91,47.04,67751.0,0.532884,0.282565,0.363114,0.363114,55.1 +s5_shot_lw_18,shot_lw_18.json,52.33,36.23,0.10,5373.7,13.17,5232.3,1224.3,49.1,60.3,11.2,34.1,3.05,18.02,45.21,64037.2,0.513251,0.321211,0.357346,0.357346,49.1 +s5_shot_pw_1,shot_pw_1.json,48.44,29.04,5.59,4593.3,2.52,4588.9,201.9,42.1,57.3,15.2,21.0,2.45,17.17,36.08,59285.4,0.473884,0.346085,0.373531,0.373531,42.1 +s5_shot_pw_10,shot_pw_10.json,83.58,25.18,1.37,5520.0,9.92,5437.5,950.8,105.5,111.5,6.1,54.4,4.24,21.79,44.76,102281.8,0.330092,0.240118,0.229842,0.276109,105.5 +s5_shot_pw_11,shot_pw_11.json,76.63,21.19,2.89,5232.4,-5.55,5207.9,-505.6,88.4,90.0,1.6,34.2,3.43,21.37,34.36,93778.5,0.341264,0.249901,0.233311,0.277199,88.4 +s5_shot_pw_2,shot_pw_2.json,57.80,26.75,2.79,4564.0,2.10,4560.9,167.5,59.7,78.8,19.1,28.4,2.98,19.19,37.77,70731.2,0.394660,0.263512,0.334901,0.354667,59.7 +s5_shot_pw_3,shot_pw_3.json,69.78,29.37,8.09,6334.5,8.08,6271.6,890.6,76.6,91.0,14.4,46.3,3.78,19.52,45.27,85400.1,0.453673,0.292441,0.281602,0.323124,76.6 +s5_shot_pw_4,shot_pw_4.json,68.60,29.11,3.83,6801.1,6.75,6753.9,799.5,73.1,86.2,13.1,43.2,3.63,19.15,44.28,83955.6,0.495471,0.307034,0.283902,0.315874,73.1 +s5_shot_pw_5,shot_pw_5.json,77.39,28.89,4.54,6293.5,7.31,6242.3,801.2,92.2,98.4,6.3,57.0,4.28,20.52,48.53,94713.1,0.406417,0.263666,0.251542,0.317566,92.2 +s5_shot_pw_6,shot_pw_6.json,76.27,28.17,3.68,5434.0,9.06,5366.3,855.3,94.1,100.6,6.5,53.7,4.15,21.39,46.53,93337.1,0.356088,0.234654,0.241889,0.300777,94.1 +s5_shot_pw_7,shot_pw_7.json,79.68,28.14,4.44,5839.6,9.11,5765.9,924.9,97.6,105.3,7.7,57.6,4.32,21.05,48.30,97507.9,0.366300,0.251770,0.235005,0.303357,97.6 +s5_shot_pw_8,shot_pw_8.json,76.43,28.21,1.55,5023.9,4.70,5007.0,411.9,93.5,101.1,7.6,53.7,4.10,21.52,47.05,93540.4,0.328501,0.235806,0.238671,0.287429,93.5 +s5_shot_pw_9,shot_pw_9.json,86.42,24.09,0.20,5479.7,3.71,5468.2,354.1,109.7,116.9,7.1,54.7,4.28,21.92,44.41,105766.5,0.316882,0.241301,0.223849,0.268195,109.7 diff --git a/assets/data/calibration/shot_diff_analysis.csv b/assets/data/calibration/shot_diff_analysis.csv index 2fdf3a8..43bf33b 100644 --- a/assets/data/calibration/shot_diff_analysis.csv +++ b/assets/data/calibration/shot_diff_analysis.csv @@ -1,6 +1,6 @@ shot_name,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,launch_regime_key,carry_window,physics_carry_yd,flightscope_carry_yd,diff_carry_yd,physics_carry_raw_yd,diff_carry_raw_yd,physics_total_yd,flightscope_total_yd,diff_total_yd,rollout_physics_yd,rollout_flightscope_yd,diff_rollout_yd,physics_apex_ft,flightscope_apex_ft,diff_apex_ft,carry_exception_regime,carry_exception_offset_yd,carry_exception_source,carry_exception_applied,status -5iron,102.1,17.4,1.5,5391,12.3,I-S2-V1-P2,115-150,142.9,138.1,4.8,142.9,4.8,153.5,142.2,11.3,10.6,4.1,6.5,64.2,59.6,4.6,,,,false,severe -approach_mid_iron_test_shot,93.9,22.9,-2.6,5375,2.0,I-S2-V2-P2,115-150,125.2,125.8,-0.6,125.2,-0.6,135.8,128.5,7.3,10.6,2.7,7.9,64.3,69.3,-5.0,,,,false,moderate +5iron,102.1,17.4,1.5,5391,12.3,I-S2-V1-P2,115-150,140.2,138.1,2.1,140.2,2.1,148.3,142.2,6.1,8.1,4.1,4.0,61.3,59.6,1.7,,,,false,moderate +approach_mid_iron_test_shot,93.9,22.9,-2.6,5375,2.0,I-S2-V2-P2,115-150,125.3,125.8,-0.5,125.3,-0.5,135.9,128.5,7.4,10.6,2.7,7.9,64.1,69.3,-5.2,,,,false,moderate bump_and_run,58.3,15.6,-0.8,1850,2.3,C-S0-V1-P0,<115,37.7,43.8,-6.1,37.7,-6.1,37.4,62.0,-24.6,-0.3,18.2,-18.5,8.6,10.1,-1.5,,,,false,severe bump_and_run_slow,30.3,15.6,-0.8,1850,2.3,C-S0-V1-P0,,10.2,,,10.2,,28.2,,,18.0,,,2.2,,,,,,false, bump_test_shot,78.3,5.6,-0.8,1850,2.3,I-S1b-V0-P0,<115,37.3,39.0,-1.7,37.3,-1.7,87.2,74.0,13.2,49.9,35.0,14.9,3.0,3.1,-0.1,,,,false,severe @@ -9,114 +9,114 @@ chip_test_shot,24.7,17.9,20.4,3204,-0.0,C-S0-V1-P1,,7.8,,,7.8,,17.1,,,9.3,,,1.9, drive_test_shot,150.0,12.5,1.5,2335,-9.9,D-S4-V1-P0,>200,248.1,244.0,4.1,248.1,4.1,260.6,256.0,4.6,12.5,12.0,0.5,82.2,80.6,1.6,,,,false,moderate driver1,124.0,9.4,-9.5,2322,-24.8,D-S4-V0-P0,150-180,157.7,158.0,-0.3,157.7,-0.3,157.7,184.0,-26.3,0.0,26.0,-26.0,29.4,30.2,-0.8,,,,false,severe driver2,124.6,13.2,-6.8,3994,-6.1,D-S4-V1-P1,180-200,187.6,184.8,2.8,187.6,2.8,195.2,192.3,2.9,7.6,7.5,0.1,61.5,65.8,-4.3,,,,false,pass -driver3,119.1,16.0,-8.9,4935,-9.4,D-S3-V1-P2,150-180,175.0,174.1,0.9,175.0,0.9,194.4,178.5,15.9,19.4,4.4,15.0,96.1,78.5,17.6,,,,false,severe -driver4,119.0,15.5,-10.2,4454,-7.8,D-S3-V1-P2,150-180,176.9,175.6,1.3,176.9,1.3,190.2,180.9,9.3,13.3,5.3,8.0,76.2,73.8,2.4,,,,false,moderate +driver3,119.1,16.0,-8.9,4935,-9.4,D-S3-V1-P2,150-180,175.0,174.1,0.9,175.0,0.9,195.3,178.5,16.8,20.3,4.4,15.9,93.2,78.5,14.7,,,,false,severe +driver4,119.0,15.5,-10.2,4454,-7.8,D-S3-V1-P2,150-180,176.8,175.6,1.2,176.8,1.2,189.4,180.9,8.5,12.6,5.3,7.3,75.1,73.8,1.3,,,,false,moderate flop_test_shot,68.0,45.0,0.5,12000,0.8,W-S1a-V4-P4,<115,61.6,61.8,-0.2,61.6,-0.2,61.9,60.3,1.6,0.3,-1.5,1.8,68.3,76.8,-8.5,,,,false,pass p_wedge_shot_1,82.3,26.5,-3.1,4946,6.7,I-S1b-V3-P2,<115,105.7,104.5,1.2,105.7,1.2,116.1,107.3,8.8,10.4,2.8,7.6,58.3,60.5,-2.2,,,,false,moderate s2_shot_10,89.7,25.5,-3.1,6446,6.2,I-S2-V3-P3,115-150,118.5,115.1,3.4,118.5,3.4,126.6,116.4,10.2,8.1,1.3,6.8,66.0,72.0,-6.0,,,,false,severe s2_shot_11,78.5,29.6,4.3,7350,10.7,I-S1b-V3-P3,<115,91.9,93.0,-1.1,91.9,-1.1,96.4,93.6,2.8,4.5,0.6,3.9,60.4,64.0,-3.6,,,,false,pass -s2_shot_12,90.8,24.5,-3.9,7261,4.9,I-S2-V2-P3,115-150,117.4,115.4,2.0,117.4,2.0,122.4,116.4,6.0,5.0,1.0,4.0,65.3,71.5,-6.2,,,,false,moderate -s2_shot_13,95.2,19.6,-1.1,5610,12.2,I-S2-V2-P3,115-150,124.2,125.3,-1.1,124.2,-1.1,129.4,128.7,0.7,5.2,3.4,1.8,51.5,58.4,-6.9,,,,false,pass -s2_shot_14,87.1,22.4,-2.0,5660,11.4,I-S2-V2-P3,<115,108.6,110.9,-2.3,108.6,-2.3,113.3,113.7,-0.4,4.7,2.8,1.9,49.3,55.9,-6.6,,,,false,pass -s2_shot_15,88.1,14.2,-0.3,4985,19.4,I-S2-V1-P2,<115,100.3,101.3,-1.0,100.3,-1.0,100.4,113.1,-12.7,0.1,11.8,-11.7,26.9,28.9,-2.0,,,,false,severe -s2_shot_16,94.1,19.1,-5.9,5291,5.0,I-S2-V2-P2,115-150,124.0,124.3,-0.3,124.0,-0.3,130.3,128.1,2.2,6.3,3.8,2.5,51.8,55.3,-3.5,,,,false,pass -s2_shot_17,122.9,14.4,-1.3,4119,6.7,D-S4-V1-P2,180-200,184.9,184.0,0.9,184.9,0.9,195.0,190.3,4.7,10.1,6.3,3.8,66.7,71.8,-5.1,,,,false,pass -s2_shot_18,105.7,20.5,-1.7,5667,8.2,I-S3-V2-P3,115-150,144.7,146.8,-2.1,144.7,-2.1,156.6,149.4,7.2,11.9,2.6,9.3,76.9,80.4,-3.5,,,,false,moderate +s2_shot_12,90.8,24.5,-3.9,7261,4.9,I-S2-V2-P3,115-150,116.6,115.4,1.2,116.6,1.2,122.4,116.4,6.0,5.8,1.0,4.8,65.1,71.5,-6.4,,,,false,moderate +s2_shot_13,95.2,19.6,-1.1,5610,12.2,I-S2-V2-P3,115-150,123.5,125.3,-1.8,123.5,-1.8,128.0,128.7,-0.7,4.5,3.4,1.1,51.3,58.4,-7.1,,,,false,pass +s2_shot_14,87.1,22.4,-2.0,5660,11.4,I-S2-V2-P3,<115,108.1,110.9,-2.8,108.1,-2.8,112.2,113.7,-1.5,4.1,2.8,1.3,49.1,55.9,-6.8,,,,false,pass +s2_shot_15,88.1,14.2,-0.3,4985,19.4,I-S2-V1-P2,<115,98.0,101.3,-3.3,98.0,-3.3,98.0,113.1,-15.1,0.0,11.8,-11.8,26.1,28.9,-2.8,,,,false,severe +s2_shot_16,94.1,19.1,-5.9,5291,5.0,I-S2-V2-P2,115-150,123.8,124.3,-0.5,123.8,-0.5,129.9,128.1,1.8,6.1,3.8,2.3,51.5,55.3,-3.8,,,,false,pass +s2_shot_17,122.9,14.4,-1.3,4119,6.7,D-S4-V1-P2,180-200,185.0,184.0,1.0,185.0,1.0,195.0,190.3,4.7,10.0,6.3,3.7,66.6,71.8,-5.2,,,,false,pass +s2_shot_18,105.7,20.5,-1.7,5667,8.2,I-S3-V2-P3,115-150,144.6,146.8,-2.2,144.6,-2.2,154.6,149.4,5.2,10.0,2.6,7.4,76.1,80.4,-4.3,,,,false,moderate s2_shot_19,128.6,12.5,-8.4,2514,5.1,D-S4-V1-P1,180-200,192.4,194.5,-2.1,192.4,-2.1,198.2,208.7,-10.5,5.8,14.2,-8.4,55.1,57.3,-2.2,,,,false,severe -s2_shot_20,120.9,15.0,-3.0,4245,9.6,D-S4-V1-P2,150-180,180.9,179.4,1.5,180.9,1.5,192.8,185.3,7.5,11.9,5.9,6.0,69.3,72.3,-3.0,,,,false,moderate +s2_shot_20,120.9,15.0,-3.0,4245,9.6,D-S4-V1-P2,150-180,180.8,179.4,1.4,180.8,1.4,191.2,185.3,5.9,10.4,5.9,4.5,69.0,72.3,-3.3,,,,false,moderate s2_shot_21,127.3,7.2,-11.5,2321,-19.5,D-S4-V0-P0,150-180,159.8,154.9,4.9,159.8,4.9,214.2,186.5,27.7,54.4,31.6,22.8,24.8,23.1,1.7,,,,false,severe s2_shot_22,123.3,14.0,-6.1,3104,10.0,D-S4-V1-P1,180-200,186.0,185.4,0.6,186.0,0.6,193.1,195.5,-2.4,7.1,10.1,-3.0,60.3,63.0,-2.7,,,,false,pass s2_shot_23,125.5,8.6,-14.3,3062,-23.9,D-S4-V0-P1,150-180,161.1,161.9,-0.8,161.1,-0.8,161.1,185.0,-23.9,0.0,23.1,-23.1,29.8,31.0,-1.2,,,,false,severe s2_shot_24,121.5,14.5,-11.2,3173,-6.8,D-S4-V1-P1,180-200,183.5,183.0,0.5,183.5,0.5,191.3,192.8,-1.5,7.8,9.8,-2.0,61.6,64.6,-3.0,,,,false,pass -s2_shot_26,117.0,18.4,-2.0,5035,9.7,I-S3-V2-P2,150-180,172.4,170.7,1.7,172.4,1.7,194.8,174.2,20.6,22.4,3.5,18.9,111.6,88.1,23.5,,,,false,severe -s2_shot_27,113.0,17.6,-2.3,4292,12.2,D-S3-V1-P2,150-180,163.1,164.5,-1.4,163.1,-1.4,178.8,169.6,9.2,15.7,5.1,10.6,76.8,73.6,3.2,,,,false,moderate -s2_shot_9,94.4,20.1,2.4,4020,16.3,I-S2-V2-P2,115-150,123.2,126.5,-3.3,123.2,-3.3,134.1,132.5,1.6,10.9,6.0,4.9,61.9,54.8,7.1,,,,false,moderate +s2_shot_26,117.0,18.4,-2.0,5035,9.7,I-S3-V2-P2,150-180,172.6,170.7,1.9,172.6,1.9,195.8,174.2,21.6,23.2,3.5,19.7,108.5,88.1,20.4,,,,false,severe +s2_shot_27,113.0,17.6,-2.3,4292,12.2,D-S3-V1-P2,150-180,162.8,164.5,-1.7,162.8,-1.7,177.9,169.6,8.3,15.1,5.1,10.0,75.7,73.6,2.1,,,,false,moderate +s2_shot_9,94.4,20.1,2.4,4020,16.3,I-S2-V2-P2,115-150,122.9,126.5,-3.6,122.9,-3.6,134.8,132.5,2.3,11.9,6.0,5.9,60.6,54.8,5.8,,,,false,moderate s3_shot_3w_18,47.9,45.8,34.0,7491,30.0,C-S0-V4-P3,,40.4,,,40.4,,46.1,,,5.7,,,37.7,,,,,,false, s3_shot_3w_19,121.3,5.6,-4.8,1662,-11.9,D-S4-V0-P0,115-150,120.0,120.6,-0.6,120.0,-0.6,181.8,165.8,16.0,61.8,45.2,16.6,12.3,12.2,0.1,,,,false,severe s3_shot_3w_21,119.4,5.3,-3.4,1760,-10.5,D-S3-V0-P0,<115,115.2,114.6,0.6,115.2,0.6,176.4,160.5,15.9,61.2,45.9,15.3,11.2,10.9,0.3,,,,false,severe s3_shot_3w_22,108.9,5.6,-7.2,2501,-1.8,I-S3-V0-P1,<115,105.8,103.2,2.6,105.8,2.6,160.9,141.3,19.6,55.1,38.1,17.0,11.0,10.5,0.5,,,,false,severe s3_shot_3w_23,115.8,8.9,-0.8,2804,2.2,D-S3-V0-P1,115-150,147.8,147.7,0.1,147.8,0.1,147.6,170.9,-23.3,-0.2,23.2,-23.4,26.7,28.0,-1.3,,,,false,severe s3_shot_3w_24,123.4,6.3,-5.4,2752,-13.3,D-S4-V0-P1,115-150,148.2,145.9,2.3,148.2,2.3,200.5,176.7,23.8,52.3,30.8,21.5,20.5,19.8,0.7,,,,false,severe -s3_shot_5i_10,88.0,14.2,1.2,4065,8.4,I-S2-V1-P2,<115,105.6,103.1,2.5,105.6,2.5,109.1,116.7,-7.6,3.5,13.6,-10.1,34.2,28.4,5.8,,,,false,moderate -s3_shot_5i_11,90.6,14.4,-0.2,3360,7.8,I-S2-V1-P1,<115,107.3,108.8,-1.5,107.3,-1.5,108.7,124.1,-15.4,1.4,15.3,-13.9,29.1,29.8,-0.7,,,,false,severe -s3_shot_5i_12,74.2,10.2,-1.7,3321,15.8,I-S1b-V1-P1,<115,59.5,58.4,1.1,59.5,1.1,58.4,81.9,-23.5,-1.1,23.5,-24.6,10.5,9.4,1.1,,,,false,severe -s3_shot_5i_13,75.0,8.0,2.5,3921,3.4,I-S1b-V0-P1,<115,56.2,53.9,2.3,56.2,2.3,89.0,78.9,10.1,32.8,25.0,7.8,7.4,6.8,0.6,,,,false,severe +s3_shot_5i_10,88.0,14.2,1.2,4065,8.4,I-S2-V1-P2,<115,103.0,103.1,-0.1,103.0,-0.1,106.1,116.7,-10.6,3.1,13.6,-10.5,32.4,28.4,4.0,,,,false,severe +s3_shot_5i_11,90.6,14.4,-0.2,3360,7.8,I-S2-V1-P1,<115,106.9,108.8,-1.9,106.9,-1.9,108.2,124.1,-15.9,1.3,15.3,-14.0,28.9,29.8,-0.9,,,,false,severe +s3_shot_5i_12,74.2,10.2,-1.7,3321,15.8,I-S1b-V1-P1,<115,58.7,58.4,0.3,58.7,0.3,57.5,81.9,-24.4,-1.2,23.5,-24.7,10.2,9.4,0.8,,,,false,severe +s3_shot_5i_13,75.0,8.0,2.5,3921,3.4,I-S1b-V0-P1,<115,55.1,53.9,1.2,55.1,1.2,87.6,78.9,8.7,32.5,25.0,7.5,7.2,6.8,0.4,,,,false,moderate s3_shot_5i_15,86.9,9.3,-4.0,2509,-4.9,I-S2-V0-P1,<115,74.0,78.6,-4.6,74.0,-4.6,121.1,106.6,14.5,47.1,28.0,19.1,11.0,12.1,-1.1,,,,false,severe -s3_shot_5i_16,98.0,9.1,-2.1,3776,1.7,I-S2-V0-P1,<115,110.0,109.1,0.9,110.0,0.9,109.0,130.0,-21.0,-1.0,20.9,-21.9,19.5,19.7,-0.2,,,,false,severe +s3_shot_5i_16,98.0,9.1,-2.1,3776,1.7,I-S2-V0-P1,<115,109.1,109.1,0.0,109.1,0.0,108.0,130.0,-22.0,-1.1,20.9,-22.0,19.2,19.7,-0.5,,,,false,severe s3_shot_5i_17,56.5,10.0,24.1,5178,29.1,C-S0-V0-P2,<115,32.2,30.6,1.6,32.2,1.6,51.2,46.9,4.3,19.0,16.3,2.7,4.7,4.5,0.2,,,,false,pass -s3_shot_6i_35,80.5,15.3,-1.3,4667,-0.0,I-S1b-V1-P2,<115,85.6,90.0,-4.4,85.6,-4.4,85.6,101.5,-15.9,0.0,11.5,-11.5,23.3,26.4,-3.1,,,,false,severe -s3_shot_6i_36,78.9,10.4,16.1,4166,25.1,I-S1b-V1-P2,<115,70.6,67.8,2.8,70.6,2.8,69.1,89.1,-20.0,-1.5,21.3,-22.8,12.6,11.8,0.8,,,,false,severe -s3_shot_6i_37,82.6,10.2,11.0,3041,25.4,I-S1b-V1-P1,<115,67.8,71.5,-3.7,67.8,-3.7,109.1,97.2,11.9,41.3,25.7,15.6,10.9,11.8,-0.9,,,,false,severe -s3_shot_6i_38,79.1,13.3,3.0,3187,11.6,I-S1b-V1-P1,<115,75.6,79.2,-3.6,75.6,-3.6,75.8,97.5,-21.7,0.2,18.3,-18.1,18.1,18.0,0.1,,,,false,severe -s3_shot_6i_39,61.0,6.1,10.3,3285,22.0,I-S1a-V0-P1,<115,24.0,24.0,0.0,24.0,0.0,54.5,47.3,7.2,30.5,23.3,7.2,2.2,2.1,0.1,,,,false,moderate -s3_shot_6i_40,62.1,6.8,27.0,2768,30.0,I-S1a-V0-P1,<115,25.5,26.2,-0.7,25.5,-0.7,59.7,51.1,8.6,34.2,24.9,9.3,2.6,2.5,0.1,,,,false,moderate +s3_shot_6i_35,80.5,15.3,-1.3,4667,-0.0,I-S1b-V1-P2,<115,85.2,90.0,-4.8,85.2,-4.8,85.3,101.5,-16.2,0.1,11.5,-11.4,23.2,26.4,-3.2,,,,false,severe +s3_shot_6i_36,78.9,10.4,16.1,4166,25.1,I-S1b-V1-P2,<115,69.6,67.8,1.8,69.6,1.8,101.8,89.1,12.7,32.2,21.3,10.9,12.3,11.8,0.5,,,,false,severe +s3_shot_6i_37,82.6,10.2,11.0,3041,25.4,I-S1b-V1-P1,<115,67.6,71.5,-3.9,67.6,-3.9,108.9,97.2,11.7,41.3,25.7,15.6,10.9,11.8,-0.9,,,,false,severe +s3_shot_6i_38,79.1,13.3,3.0,3187,11.6,I-S1b-V1-P1,<115,75.3,79.2,-3.9,75.3,-3.9,75.5,97.5,-22.0,0.2,18.3,-18.1,17.9,18.0,-0.1,,,,false,severe +s3_shot_6i_39,61.0,6.1,10.3,3285,22.0,I-S1a-V0-P1,<115,23.8,24.0,-0.2,23.8,-0.2,54.4,47.3,7.1,30.6,23.3,7.3,2.1,2.1,0.0,,,,false,moderate +s3_shot_6i_40,62.1,6.8,27.0,2768,30.0,I-S1a-V0-P1,<115,25.3,26.2,-0.9,25.3,-0.9,59.6,51.1,8.5,34.3,24.9,9.4,2.6,2.5,0.1,,,,false,moderate s3_shot_6i_41,82.5,9.9,-2.3,2620,13.6,I-S1b-V0-P1,<115,66.6,71.3,-4.7,66.6,-4.7,110.8,97.9,12.9,44.2,26.6,17.6,10.3,11.3,-1.0,,,,false,severe -s3_shot_6i_42,77.2,13.1,-3.4,4057,4.1,I-S1b-V1-P2,<115,76.2,76.6,-0.4,76.2,-0.4,76.2,92.9,-16.7,0.0,16.3,-16.3,18.5,17.5,1.0,,,,false,severe -s3_shot_6i_43,94.1,13.9,-4.7,4616,1.7,I-S2-V1-P2,115-150,122.9,117.3,5.6,122.9,5.6,128.4,128.6,-0.2,5.5,11.3,-5.8,42.8,35.0,7.8,,,,false,moderate +s3_shot_6i_42,77.2,13.1,-3.4,4057,4.1,I-S1b-V1-P2,<115,75.6,76.6,-1.0,75.6,-1.0,75.5,92.9,-17.4,-0.1,16.3,-16.4,18.1,17.5,0.6,,,,false,severe +s3_shot_6i_43,94.1,13.9,-4.7,4616,1.7,I-S2-V1-P2,115-150,119.9,117.3,2.6,119.9,2.6,124.5,128.6,-4.1,4.6,11.3,-6.7,40.2,35.0,5.2,,,,false,pass s3_shot_6i_44,115.0,9.5,-6.7,2314,15.1,D-S3-V0-P0,115-150,140.5,142.3,-1.8,140.5,-1.8,140.2,168.2,-28.0,-0.3,25.9,-26.2,25.2,26.6,-1.4,,,,false,severe s3_shot_6i_45,109.3,6.4,-9.0,2510,-10.9,I-S3-V0-P1,<115,112.6,109.6,3.0,112.6,3.0,165.8,145.4,20.4,53.2,35.8,17.4,13.4,12.9,0.5,,,,false,severe s3_shot_6i_46,116.3,13.7,0.3,3008,10.7,D-S3-V1-P1,150-180,166.3,167.3,-1.0,166.3,-1.0,170.8,179.3,-8.5,4.5,12.0,-7.5,48.6,51.6,-3.0,,,,false,moderate -s3_shot_6i_47,99.5,14.8,-2.9,4811,4.7,I-S2-V1-P2,115-150,137.3,131.2,6.1,137.3,6.1,146.0,137.7,8.3,8.7,6.5,2.2,56.4,45.0,11.4,,,,false,moderate -s3_shot_6i_48,101.7,15.2,-3.0,4631,4.3,I-S2-V1-P2,115-150,142.4,137.1,5.3,142.4,5.3,152.3,143.5,8.8,9.9,6.4,3.5,62.7,48.9,13.8,,,,false,moderate +s3_shot_6i_47,99.5,14.8,-2.9,4811,4.7,I-S2-V1-P2,115-150,134.2,131.2,3.0,134.2,3.0,141.8,137.7,4.1,7.6,6.5,1.1,52.9,45.0,7.9,,,,false,pass +s3_shot_6i_48,101.7,15.2,-3.0,4631,4.3,I-S2-V1-P2,115-150,139.4,137.1,2.3,139.4,2.3,148.1,143.5,4.6,8.7,6.4,2.3,58.9,48.9,10.0,,,,false,pass s3_shot_6i_49,71.2,7.7,16.1,2625,30.0,I-S1a-V0-P1,<115,38.3,39.9,-1.6,38.3,-1.6,78.6,70.3,8.3,40.3,30.4,9.9,4.3,4.5,-0.2,,,,false,moderate -s3_shot_6i_50,82.8,14.8,-1.4,3783,2.8,I-S1b-V1-P1,<115,92.3,93.2,-0.9,92.3,-0.9,94.9,107.4,-12.5,2.6,14.2,-11.6,29.4,25.6,3.8,,,,false,severe -s3_shot_7i_25,83.3,13.2,3.0,3410,17.8,I-S1b-V1-P1,<115,86.0,86.9,-0.9,86.0,-0.9,86.4,104.8,-18.4,0.4,17.9,-17.5,21.0,20.1,0.9,,,,false,severe -s3_shot_7i_26,73.4,10.8,15.4,3561,30.0,I-S1b-V1-P1,<115,58.1,56.6,1.5,58.1,1.5,57.2,79.3,-22.1,-0.9,22.7,-23.6,10.7,9.6,1.1,,,,false,severe -s3_shot_7i_27,93.7,17.1,-1.4,4612,2.6,I-S2-V1-P2,115-150,123.5,122.3,1.2,123.5,1.2,133.0,128.3,4.7,9.5,6.0,3.5,53.7,46.0,7.7,,,,false,pass -s3_shot_7i_28,92.1,16.4,-3.6,4217,-0.4,I-S2-V1-P2,115-150,118.4,117.9,0.5,118.4,0.5,127.1,125.6,1.5,8.7,7.7,1.0,48.7,40.6,8.1,,,,false,pass +s3_shot_6i_50,82.8,14.8,-1.4,3783,2.8,I-S1b-V1-P1,<115,91.5,93.2,-1.7,91.5,-1.7,93.9,107.4,-13.5,2.4,14.2,-11.8,28.5,25.6,2.9,,,,false,severe +s3_shot_7i_25,83.3,13.2,3.0,3410,17.8,I-S1b-V1-P1,<115,85.5,86.9,-1.4,85.5,-1.4,85.8,104.8,-19.0,0.3,17.9,-17.6,20.6,20.1,0.5,,,,false,severe +s3_shot_7i_26,73.4,10.8,15.4,3561,30.0,I-S1b-V1-P1,<115,57.4,56.6,0.8,57.4,0.8,56.3,79.3,-23.0,-1.1,22.7,-23.8,10.4,9.6,0.8,,,,false,severe +s3_shot_7i_27,93.7,17.1,-1.4,4612,2.6,I-S2-V1-P2,115-150,120.9,122.3,-1.4,120.9,-1.4,128.2,128.3,-0.1,7.3,6.0,1.3,51.0,46.0,5.0,,,,false,pass +s3_shot_7i_28,92.1,16.4,-3.6,4217,-0.4,I-S2-V1-P2,115-150,115.9,117.9,-2.0,115.9,-2.0,123.7,125.6,-1.9,7.8,7.7,0.1,46.2,40.6,5.6,,,,false,pass s3_shot_7i_29,107.6,13.8,-6.0,3633,4.7,I-S3-V1-P1,115-150,148.5,148.4,0.1,148.5,0.1,151.7,158.3,-6.6,3.2,9.9,-6.7,42.7,46.3,-3.6,,,,false,moderate -s3_shot_7i_30,90.2,17.6,-3.8,4508,-0.2,I-S2-V1-P2,115-150,114.7,115.4,-0.7,114.7,-0.7,122.7,121.7,1.0,8.0,6.3,1.7,48.4,43.1,5.3,,,,false,pass +s3_shot_7i_30,90.2,17.6,-3.8,4508,-0.2,I-S2-V1-P2,115-150,112.4,115.4,-3.0,112.4,-3.0,119.5,121.7,-2.2,7.1,6.3,0.8,46.2,43.1,3.1,,,,false,pass s3_shot_7i_31,76.4,17.5,-0.5,5122,1.8,I-S1b-V1-P2,<115,80.7,85.0,-4.3,80.7,-4.3,80.7,94.5,-13.8,0.0,9.5,-9.5,24.4,28.4,-4.0,,,,false,severe -s3_shot_7i_32,93.1,17.0,-1.0,3762,4.2,I-S2-V1-P1,115-150,120.9,121.2,-0.3,120.9,-0.3,128.4,129.8,-1.4,7.5,8.6,-1.1,46.6,42.5,4.1,,,,false,pass -s3_shot_7i_33,92.4,17.0,-0.6,3852,2.8,I-S2-V1-P1,115-150,119.6,119.7,-0.1,119.6,-0.1,127.5,128.0,-0.5,7.9,8.3,-0.4,47.8,42.0,5.8,,,,false,pass -s3_shot_7i_34,104.2,14.7,-4.6,4081,1.9,I-S2-V1-P2,115-150,146.1,142.5,3.6,146.1,3.6,152.6,150.6,2.0,6.5,8.1,-1.6,51.2,48.2,3.0,,,,false,moderate -s3_shot_9i_1,89.0,15.1,-0.5,3563,11.3,I-S2-V1-P1,<115,106.9,106.7,0.2,106.9,0.2,110.3,120.8,-10.5,3.4,14.1,-10.7,32.7,30.8,1.9,,,,false,severe -s3_shot_9i_2,71.3,23.9,5.5,4086,8.3,I-S1a-V2-P2,<115,80.2,82.1,-1.9,80.2,-1.9,85.4,87.4,-2.0,5.2,5.3,-0.1,37.0,36.8,0.2,,,,false,pass -s3_shot_9i_3,90.1,21.7,2.8,5243,11.2,I-S2-V2-P2,115-150,115.4,117.3,-1.9,115.4,-1.9,122.1,120.7,1.4,6.7,3.4,3.3,52.3,57.7,-5.4,,,,false,pass -s3_shot_9i_5,84.0,19.4,3.8,5352,11.5,I-S1b-V2-P2,<115,103.0,102.7,0.3,103.0,0.3,104.8,107.2,-2.4,1.8,4.5,-2.7,37.4,41.8,-4.4,,,,false,pass +s3_shot_7i_32,93.1,17.0,-1.0,3762,4.2,I-S2-V1-P1,115-150,120.5,121.2,-0.7,120.5,-0.7,128.7,129.8,-1.1,8.2,8.6,-0.4,45.7,42.5,3.2,,,,false,pass +s3_shot_7i_33,92.4,17.0,-0.6,3852,2.8,I-S2-V1-P1,115-150,119.2,119.7,-0.5,119.2,-0.5,127.6,128.0,-0.4,8.4,8.3,0.1,46.7,42.0,4.7,,,,false,pass +s3_shot_7i_34,104.2,14.7,-4.6,4081,1.9,I-S2-V1-P2,115-150,142.8,142.5,0.3,142.8,0.3,150.6,150.6,0.0,7.8,8.1,-0.3,49.4,48.2,1.2,,,,false,pass +s3_shot_9i_1,89.0,15.1,-0.5,3563,11.3,I-S2-V1-P1,<115,106.5,106.7,-0.2,106.5,-0.2,109.3,120.8,-11.5,2.8,14.1,-11.3,32.2,30.8,1.4,,,,false,severe +s3_shot_9i_2,71.3,23.9,5.5,4086,8.3,I-S1a-V2-P2,<115,80.2,82.1,-1.9,80.2,-1.9,85.5,87.4,-1.9,5.3,5.3,-0.0,36.9,36.8,0.1,,,,false,pass +s3_shot_9i_3,90.1,21.7,2.8,5243,11.2,I-S2-V2-P2,115-150,115.4,117.3,-1.9,115.4,-1.9,122.2,120.7,1.5,6.8,3.4,3.4,52.2,57.7,-5.5,,,,false,pass +s3_shot_9i_5,84.0,19.4,3.8,5352,11.5,I-S1b-V2-P2,<115,103.0,102.7,0.3,103.0,0.3,104.9,107.2,-2.3,1.9,4.5,-2.6,37.4,41.8,-4.4,,,,false,pass s3_shot_9i_7,83.0,22.5,5.3,7008,9.7,I-S1b-V2-P3,<115,103.4,101.1,2.3,103.4,2.3,105.5,102.6,2.9,2.1,1.5,0.6,47.9,51.5,-3.6,,,,false,pass -s3_shot_9i_8,92.2,21.9,-6.3,5042,0.7,I-S2-V2-P2,115-150,120.6,122.9,-2.3,120.6,-2.3,131.1,126.4,4.7,10.5,3.5,7.0,60.8,62.6,-1.8,,,,false,pass -s3_shot_9i_9,90.1,22.1,-3.1,5351,1.2,I-S2-V2-P2,115-150,116.3,118.1,-1.8,116.3,-1.8,123.4,121.1,2.3,7.1,3.0,4.1,53.8,60.1,-6.3,,,,false,pass -s3_shot_driver_51,116.2,21.7,2.2,6409,3.2,I-S3-V2-P3,150-180,166.1,162.9,3.2,166.1,3.2,183.5,164.3,19.2,17.4,1.4,16.0,100.8,108.7,-7.9,,,,false,severe +s3_shot_9i_8,92.2,21.9,-6.3,5042,0.7,I-S2-V2-P2,115-150,120.5,122.9,-2.4,120.5,-2.4,129.4,126.4,3.0,8.9,3.5,5.4,60.3,62.6,-2.3,,,,false,pass +s3_shot_9i_9,90.1,22.1,-3.1,5351,1.2,I-S2-V2-P2,115-150,116.4,118.1,-1.7,116.4,-1.7,123.4,121.1,2.3,7.0,3.0,4.0,53.8,60.1,-6.3,,,,false,pass +s3_shot_driver_51,116.2,21.7,2.2,6409,3.2,I-S3-V2-P3,150-180,166.2,162.9,3.3,166.2,3.3,181.3,164.3,17.0,15.1,1.4,13.7,100.2,108.7,-8.5,,,,false,severe s3_shot_driver_52,102.1,31.3,3.1,8442,6.3,W-S2-V3-P4,115-150,128.2,124.5,3.7,128.2,3.7,142.4,124.1,18.3,14.2,-0.4,14.6,112.7,119.3,-6.6,,,,false,severe s3_shot_driver_53,97.2,30.6,2.2,8926,6.0,W-S2-V3-P4,115-150,117.7,117.6,0.1,117.7,0.1,127.4,117.1,10.3,9.7,-0.5,10.2,97.4,105.8,-8.4,,,,false,severe s3_shot_driver_54,121.5,12.9,-5.3,3411,-10.0,D-S4-V1-P1,150-180,178.7,178.2,0.5,178.7,0.5,183.8,188.7,-4.9,5.1,10.5,-5.4,53.0,56.5,-3.5,,,,false,pass s3_shot_driver_55,117.5,7.5,-8.3,2150,-27.2,D-S3-V0-P0,115-150,127.6,125.6,2.0,127.6,2.0,183.5,161.8,21.7,55.9,36.2,19.7,17.6,17.2,0.4,,,,false,severe -s3_shot_driver_56,118.7,17.1,-1.8,4554,2.8,D-S3-V1-P2,150-180,175.8,176.6,-0.8,175.8,-0.8,194.6,180.9,13.7,18.8,4.3,14.5,90.4,83.2,7.2,,,,false,severe +s3_shot_driver_56,118.7,17.1,-1.8,4554,2.8,D-S3-V1-P2,150-180,175.7,176.6,-0.9,175.7,-0.9,192.5,180.9,11.6,16.8,4.3,12.5,88.8,83.2,5.6,,,,false,severe s3_shot_driver_57,120.9,14.1,-5.2,1544,-8.0,D-S4-V1-P0,150-180,174.3,177.6,-3.3,174.3,-3.3,179.3,197.0,-17.7,5.0,19.4,-14.4,48.2,50.9,-2.7,,,,false,severe -s3_shot_driver_58,119.3,23.6,2.5,7093,3.3,I-S3-V2-P3,150-180,172.5,163.2,9.3,172.5,9.3,188.4,163.9,24.5,15.9,0.7,15.2,112.7,125.7,-13.0,,,,false,severe +s3_shot_driver_58,119.3,23.6,2.5,7093,3.3,I-S3-V2-P3,150-180,172.5,163.2,9.3,172.5,9.3,188.5,163.9,24.6,16.0,0.7,15.3,112.7,125.7,-13.0,,,,false,severe s3_shot_driver_59,81.0,44.9,8.9,6735,12.4,W-S1b-V4-P3,<115,82.1,83.7,-1.6,82.1,-1.6,97.6,83.2,14.4,15.5,-0.5,16.0,103.6,107.8,-4.2,,,,false,severe s3_shot_driver_60,107.4,11.7,-8.6,3269,-14.8,I-S3-V1-P1,115-150,137.9,138.5,-0.6,137.9,-0.6,138.4,153.8,-15.4,0.5,15.3,-14.8,31.5,34.0,-2.5,,,,false,severe s3_shot_pw_64,69.6,28.6,0.2,5327,5.1,I-S1a-V3-P2,<115,83.5,80.1,3.4,83.5,3.4,88.7,82.4,6.3,5.2,2.3,2.9,47.0,46.4,0.6,,,,false,moderate s3_shot_pw_65,81.2,28.4,2.9,6959,9.4,I-S1b-V3-P3,<115,99.5,98.5,1.0,99.5,1.0,105.6,99.4,6.2,6.1,0.9,5.2,62.7,65.6,-2.9,,,,false,moderate s3_shot_pw_66,75.7,27.3,-1.2,6605,4.0,I-S1b-V3-P3,<115,88.1,89.7,-1.6,88.1,-1.6,91.7,90.8,0.9,3.6,1.1,2.5,50.5,53.5,-3.0,,,,false,pass s3_shot_pw_67,81.7,28.1,6.3,6510,12.7,I-S1b-V3-P3,<115,101.3,100.0,1.3,101.3,1.3,108.3,101.1,7.2,7.0,1.1,5.9,61.9,65.0,-3.1,,,,false,moderate -s3_shot_pw_68,88.5,23.4,-0.1,6637,6.0,I-S2-V2-P3,<115,113.3,112.7,0.6,113.3,0.6,118.0,114.1,3.9,4.7,1.4,3.3,56.4,63.4,-7.0,,,,false,pass +s3_shot_pw_68,88.5,23.4,-0.1,6637,6.0,I-S2-V2-P3,<115,112.8,112.7,0.1,112.8,0.1,117.4,114.1,3.3,4.6,1.4,3.2,56.2,63.4,-7.2,,,,false,pass s3_shot_pw_69,74.1,23.6,0.2,5880,8.4,I-S1b-V2-P3,<115,84.0,86.0,-2.0,84.0,-2.0,85.7,88.8,-3.1,1.7,2.8,-1.1,37.7,41.2,-3.5,,,,false,pass s4_shot_3w_31,106.9,15.7,-2.4,3662,8.9,I-S3-V1-P1,150-180,150.2,150.3,-0.1,150.2,-0.1,155.2,158.8,-3.6,5.0,8.5,-3.5,50.1,53.7,-3.6,,,,false,pass -s4_shot_3w_32,105.5,18.5,-1.4,5714,2.3,I-S3-V2-P3,115-150,144.3,146.0,-1.7,144.3,-1.7,153.2,148.8,4.4,8.9,2.8,6.1,67.6,71.9,-4.3,,,,false,pass -s4_shot_3w_33,99.7,20.5,0.5,6997,1.6,I-S2-V2-P3,115-150,138.4,132.0,6.4,138.4,6.4,143.0,133.4,9.6,4.6,1.4,3.2,63.7,72.8,-9.1,,,,false,moderate +s4_shot_3w_32,105.5,18.5,-1.4,5714,2.3,I-S3-V2-P3,115-150,144.3,146.0,-1.7,144.3,-1.7,154.5,148.8,5.7,10.2,2.8,7.4,66.8,71.9,-5.1,,,,false,moderate +s4_shot_3w_33,99.7,20.5,0.5,6997,1.6,I-S2-V2-P3,115-150,137.6,132.0,5.6,137.6,5.6,142.8,133.4,9.4,5.2,1.4,3.8,63.5,72.8,-9.3,,,,false,moderate s4_shot_3w_34,114.6,15.3,2.4,3502,12.8,D-S3-V1-P1,150-180,165.9,166.6,-0.7,165.9,-0.7,173.4,175.4,-2.0,7.5,8.8,-1.3,56.4,60.3,-3.9,,,,false,pass s4_shot_3w_35,117.9,14.4,3.6,3735,13.3,D-S3-V1-P1,150-180,171.7,171.9,-0.2,171.7,-0.2,177.5,180.2,-2.7,5.8,8.3,-2.5,56.4,61.1,-4.7,,,,false,pass -s4_shot_5i_25,89.1,16.7,1.1,5262,6.2,I-S2-V1-P2,<115,107.9,110.8,-2.9,107.9,-2.9,108.9,116.1,-7.2,1.0,5.3,-4.3,34.6,40.1,-5.5,,,,false,moderate -s4_shot_5i_26,106.3,15.5,-3.6,4114,3.4,I-S3-V1-P2,115-150,151.8,148.7,3.1,151.8,3.1,160.9,155.9,5.0,9.1,7.2,1.9,57.4,54.5,2.9,,,,false,moderate +s4_shot_5i_25,89.1,16.7,1.1,5262,6.2,I-S2-V1-P2,<115,106.0,110.8,-4.8,106.0,-4.8,106.9,116.1,-9.2,0.9,5.3,-4.4,33.9,40.1,-6.2,,,,false,moderate +s4_shot_5i_26,106.3,15.5,-3.6,4114,3.4,I-S3-V1-P2,115-150,147.4,148.7,-1.3,147.4,-1.3,155.9,155.9,0.0,8.5,7.2,1.3,54.8,54.5,0.3,,,,false,pass s4_shot_5i_27,84.9,7.0,5.7,2263,30.0,I-S1b-V0-P0,<115,54.3,55.3,-1.0,54.3,-1.0,104.1,92.1,12.0,49.8,36.8,13.0,5.7,5.8,-0.1,,,,false,severe -s4_shot_5i_28,86.0,15.9,-1.6,4179,1.0,I-S2-V1-P2,<115,102.9,103.1,-0.2,102.9,-0.2,107.7,114.6,-6.9,4.8,11.5,-6.7,37.2,32.2,5.0,,,,false,moderate -s4_shot_5i_29,76.2,6.1,0.7,3695,-0.0,I-S1b-V0-P1,<115,52.5,46.2,6.3,52.5,6.3,87.1,73.3,13.8,34.6,27.1,7.5,5.3,4.3,1.0,,,,false,severe -s4_shot_5i_30,96.8,18.2,0.7,6358,17.5,I-S2-V2-P3,115-150,127.1,124.7,2.4,127.1,2.4,129.3,127.7,1.6,2.2,3.0,-0.8,47.7,55.5,-7.8,,,,false,pass -s4_shot_6i_19,85.6,14.7,2.9,4623,10.9,I-S2-V1-P2,<115,98.4,98.9,-0.5,98.4,-0.5,99.3,110.8,-11.5,0.9,11.9,-11.0,28.8,28.6,0.2,,,,false,severe -s4_shot_6i_20,78.8,9.7,-0.7,4289,-0.0,I-S1b-V0-P2,<115,69.3,69.4,-0.1,69.3,-0.1,101.0,89.6,11.4,31.7,20.2,11.5,11.5,11.5,0.0,,,,false,severe +s4_shot_5i_28,86.0,15.9,-1.6,4179,1.0,I-S2-V1-P2,<115,100.5,103.1,-2.6,100.5,-2.6,104.6,114.6,-10.0,4.1,11.5,-7.4,35.4,32.2,3.2,,,,false,moderate +s4_shot_5i_29,76.2,6.1,0.7,3695,-0.0,I-S1b-V0-P1,<115,51.2,46.2,5.0,51.2,5.0,86.2,73.3,12.9,35.0,27.1,7.9,5.1,4.3,0.8,,,,false,severe +s4_shot_5i_30,96.8,18.2,0.7,6358,17.5,I-S2-V2-P3,115-150,126.4,124.7,1.7,126.4,1.7,128.3,127.7,0.6,1.9,3.0,-1.1,47.6,55.5,-7.9,,,,false,pass +s4_shot_6i_19,85.6,14.7,2.9,4623,10.9,I-S2-V1-P2,<115,96.0,98.9,-2.9,96.0,-2.9,96.8,110.8,-14.0,0.8,11.9,-11.1,27.7,28.6,-0.9,,,,false,severe +s4_shot_6i_20,78.8,9.7,-0.7,4289,-0.0,I-S1b-V0-P2,<115,68.5,69.4,-0.9,68.5,-0.9,100.3,89.6,10.7,31.8,20.2,11.6,11.2,11.5,-0.3,,,,false,severe s4_shot_6i_21,91.9,17.8,0.7,5967,11.5,I-S2-V1-P3,115-150,117.3,116.4,0.9,117.3,0.9,118.6,120.1,-1.5,1.3,3.7,-2.4,40.8,47.6,-6.8,,,,false,pass -s4_shot_6i_22,76.9,7.7,14.4,3780,30.0,I-S1b-V0-P1,<115,55.3,50.8,4.5,55.3,4.5,89.6,78.8,10.8,34.3,28.0,6.3,6.9,6.0,0.9,,,,false,severe -s4_shot_6i_23,86.7,15.4,2.8,4196,11.9,I-S2-V1-P2,,103.5,,,103.5,,107.2,,,3.7,,,35.9,,,,,,false, -s4_shot_6i_24,90.8,14.8,3.0,5270,14.9,I-S2-V1-P2,,107.9,,,107.9,,108.2,,,0.3,,,30.6,,,,,,false, +s4_shot_6i_22,76.9,7.7,14.4,3780,30.0,I-S1b-V0-P1,<115,54.2,50.8,3.4,54.2,3.4,88.3,78.8,9.5,34.1,28.0,6.1,6.7,6.0,0.7,,,,false,moderate +s4_shot_6i_23,86.7,15.4,2.8,4196,11.9,I-S2-V1-P2,,101.1,,,101.1,,104.2,,,3.1,,,34.1,,,,,,false, +s4_shot_6i_24,90.8,14.8,3.0,5270,14.9,I-S2-V1-P2,,105.6,,,105.6,,105.8,,,0.2,,,29.9,,,,,,false, s4_shot_9i_13,73.1,12.5,11.3,4979,21.3,I-S1b-V1-P2,,60.0,,,60.0,,57.8,,,-2.2,,,11.7,,,,,,false, -s4_shot_9i_14,87.1,22.1,0.3,5730,4.7,I-S2-V2-P3,<115,109.1,111.2,-2.1,109.1,-2.1,113.5,113.9,-0.4,4.4,2.7,1.7,48.8,55.8,-7.0,,,,false,pass +s4_shot_9i_14,87.1,22.1,0.3,5730,4.7,I-S2-V2-P3,<115,108.6,111.2,-2.6,108.6,-2.6,113.0,113.9,-0.9,4.4,2.7,1.7,48.7,55.8,-7.1,,,,false,pass s4_shot_9i_15,75.3,23.7,-1.3,6790,2.9,I-S1b-V2-P3,<115,86.2,87.7,-1.5,86.2,-1.5,101.9,89.3,12.6,15.7,1.6,14.1,40.7,43.9,-3.2,,,,false,severe -s4_shot_9i_17,79.4,14.9,16.4,4369,30.0,I-S1b-V1-P2,<115,79.8,80.9,-1.1,79.8,-1.1,79.9,95.6,-15.7,0.1,14.7,-14.6,21.1,21.4,-0.3,,,,false,severe +s4_shot_9i_17,79.4,14.9,16.4,4369,30.0,I-S1b-V1-P2,<115,79.5,80.9,-1.4,79.5,-1.4,79.6,95.6,-16.0,0.1,14.7,-14.6,20.8,21.4,-0.6,,,,false,severe s4_shot_9i_18,74.6,23.6,2.5,6418,6.1,I-S1b-V2-P3,<115,85.0,86.6,-1.6,85.0,-1.6,101.6,88.8,12.8,16.6,2.2,14.4,39.3,42.3,-3.0,,,,false,severe s4_shot_lw_38,47.6,37.8,6.1,5609,5.6,C-S0-V4-P3,<115,41.3,42.4,-1.1,41.3,-1.1,52.4,43.4,9.0,11.1,1.0,10.1,29.4,30.5,-1.1,,,,false,moderate -s4_shot_pw_1,69.8,20.1,-0.6,3577,8.0,I-S1a-V2-P1,<115,73.8,74.8,-1.0,73.8,-1.0,77.0,83.7,-6.7,3.2,8.9,-5.7,29.3,26.2,3.1,,,,false,moderate +s4_shot_pw_1,69.8,20.1,-0.6,3577,8.0,I-S1a-V2-P1,<115,73.5,74.8,-1.3,73.5,-1.3,76.8,83.7,-6.9,3.3,8.9,-5.6,28.8,26.2,2.6,,,,false,moderate s4_shot_pw_10,76.3,26.8,0.7,5989,4.9,I-S1b-V3-P3,<115,90.4,91.5,-1.1,90.4,-1.1,95.1,93.2,1.9,4.7,1.7,3.0,49.4,52.8,-3.4,,,,false,pass s4_shot_pw_11,76.3,27.4,-0.6,6296,5.2,I-S1b-V3-P3,<115,90.0,91.1,-1.1,90.0,-1.1,94.0,92.5,1.5,4.0,1.4,2.6,51.2,54.2,-3.0,,,,false,pass s4_shot_pw_2,53.2,25.0,0.2,4085,3.0,C-S0-V2-P2,<115,48.9,48.5,0.4,48.9,0.4,68.2,56.0,12.2,19.3,7.5,11.8,20.6,20.2,0.4,,,,false,severe @@ -124,14 +124,60 @@ s4_shot_pw_3,62.8,31.1,6.6,6129,6.3,W-S1a-V3-P3,<115,65.8,67.3,-1.5,65.8,-1.5,79 s4_shot_pw_47,46.7,24.6,2.3,3699,-0.0,C-S0-V2-P1,<115,36.8,37.4,-0.6,36.8,-0.6,54.7,45.2,9.5,17.9,7.8,10.1,14.6,14.6,0.0,,,,false,moderate s4_shot_pw_48,46.5,25.5,3.8,4318,0.6,C-S0-V3-P2,<115,37.2,37.9,-0.7,37.2,-0.7,52.9,44.5,8.4,15.7,6.6,9.1,15.6,15.6,0.0,,,,false,moderate s4_shot_pw_49,60.3,22.6,3.5,4044,5.0,I-S1a-V2-P2,<115,57.1,59.3,-2.2,57.1,-2.2,78.6,68.0,10.6,21.5,8.7,12.8,22.5,22.8,-0.3,,,,false,severe -s4_shot_pw_6,68.7,26.1,1.1,4149,8.2,I-S1a-V3-P2,<115,77.1,78.4,-1.3,77.1,-1.3,83.0,83.1,-0.1,5.9,4.7,1.2,38.5,38.6,-0.1,,,,false,pass +s4_shot_pw_6,68.7,26.1,1.1,4149,8.2,I-S1a-V3-P2,<115,77.1,78.4,-1.3,77.1,-1.3,83.0,83.1,-0.1,5.9,4.7,1.2,38.4,38.6,-0.2,,,,false,pass s4_shot_pw_7,76.8,25.2,3.7,6565,8.2,I-S1b-V3-P3,<115,90.6,91.1,-0.5,90.6,-0.5,93.3,92.6,0.7,2.7,1.5,1.2,46.6,49.5,-2.9,,,,false,pass s4_shot_pw_9,76.6,28.6,4.9,7133,5.7,I-S1b-V3-P3,,88.9,,,88.9,,92.6,,,3.7,,,54.9,,,,,,false, +s5_shot_3w_35,107.0,10.7,9.5,3700,15.5,I-S3-V1-P1,115-150,133.3,134.5,-1.2,133.3,-1.2,133.2,151.6,-18.4,-0.1,17.1,-17.2,28.1,31.0,-2.9,,,,false,severe +s5_shot_3w_36,128.3,9.5,-2.9,2614,-6.8,D-S4-V0-P1,180-200,177.1,180.9,-3.8,177.1,-3.8,178.0,199.7,-21.7,0.9,18.8,-17.9,37.2,39.9,-2.7,,,,false,severe +s5_shot_3w_37,100.9,23.6,6.4,7893,7.2,I-S2-V2-P4,115-150,136.4,131.0,5.4,136.4,5.4,143.8,131.7,12.1,7.4,0.7,6.7,77.9,87.5,-9.6,,,,false,severe +s5_shot_3w_38,130.1,7.9,-0.6,1997,1.8,D-S4-V0-P0,150-180,170.6,171.0,-0.4,170.6,-0.4,170.5,200.0,-29.5,-0.1,29.0,-29.1,28.9,28.9,0.0,,,,false,severe +s5_shot_3w_39,129.9,11.9,-1.8,2965,-0.8,D-S4-V1-P1,180-200,196.6,197.1,-0.5,196.6,-0.5,202.1,208.9,-6.8,5.5,11.8,-6.3,56.6,59.4,-2.8,,,,false,moderate +s5_shot_3w_40,116.2,14.1,0.8,3909,0.4,D-S3-V1-P1,150-180,168.3,169.4,-1.1,168.3,-1.1,174.2,177.1,-2.9,5.9,7.7,-1.8,54.6,60.2,-5.6,,,,false,pass +s5_shot_3w_41,126.6,7.9,-0.0,2418,5.9,D-S4-V0-P0,150-180,168.4,165.8,2.6,168.4,2.6,168.3,191.8,-23.5,-0.1,26.0,-26.1,29.3,28.8,0.5,,,,false,severe +s5_shot_6i_30,96.5,10.1,-3.5,1644,5.1,I-S2-V1-P0,<115,96.3,98.4,-2.1,96.3,-2.1,150.6,129.3,21.3,54.3,30.9,23.4,15.8,16.5,-0.7,,,,false,severe +s5_shot_6i_31,97.9,9.4,-3.7,3752,4.5,I-S2-V0-P1,<115,109.6,109.9,-0.3,109.6,-0.3,108.6,130.4,-21.8,-1.0,20.5,-21.5,19.7,20.5,-0.8,,,,false,severe +s5_shot_6i_32,90.2,9.7,-1.3,4135,8.0,I-S2-V0-P2,<115,97.7,93.7,4.0,97.7,4.0,97.6,113.4,-15.8,-0.1,19.7,-19.8,19.6,17.2,2.4,,,,false,severe +s5_shot_6i_33,105.7,11.7,-1.4,3776,11.0,I-S3-V1-P1,115-150,136.3,136.7,-0.4,136.3,-0.4,136.8,151.9,-15.1,0.5,15.2,-14.7,32.3,35.0,-2.7,,,,false,severe +s5_shot_6i_34,111.1,9.3,-8.6,2637,-2.9,D-S3-V0-P1,115-150,135.4,136.7,-1.3,135.4,-1.3,135.0,161.3,-26.3,-0.4,24.6,-25.0,24.2,25.6,-1.4,,,,false,severe +s5_shot_7i_26,107.2,14.3,-2.9,4648,7.6,I-S3-V1-P2,115-150,150.1,147.4,2.7,150.1,2.7,160.6,153.9,6.7,10.5,6.5,4.0,61.5,51.9,9.6,,,,false,moderate +s5_shot_7i_27,103.3,14.1,-1.8,5085,13.7,I-S2-V1-P2,115-150,142.4,136.6,5.8,142.4,5.8,150.9,142.8,8.1,8.5,6.2,2.3,54.8,46.5,8.3,,,,false,moderate +s5_shot_7i_28,98.5,15.2,-3.4,3447,6.4,I-S2-V1-P1,115-150,129.3,129.8,-0.5,129.3,-0.5,132.5,140.3,-7.8,3.2,10.5,-7.3,38.7,40.9,-2.2,,,,false,moderate +s5_shot_7i_29,110.0,12.9,-0.5,3297,9.0,D-S3-V1-P1,150-180,148.3,150.7,-2.4,148.3,-2.4,150.3,163.0,-12.7,2.0,12.3,-10.3,39.3,42.9,-3.6,,,,false,severe +s5_shot_8i_22,100.8,15.6,-5.5,3498,3.5,I-S2-V1-P1,115-150,136.9,136.5,0.4,136.9,0.4,141.4,146.4,-5.0,4.5,9.9,-5.4,43.1,45.5,-2.4,,,,false,pass +s5_shot_8i_23,109.7,18.2,-0.0,3711,5.2,I-S3-V2-P1,150-180,160.4,160.9,-0.5,160.4,-0.5,170.2,167.2,3.0,9.8,6.3,3.5,66.5,70.2,-3.7,,,,false,pass +s5_shot_8i_24,106.7,18.2,0.2,5797,8.8,I-S3-V2-P3,115-150,146.5,147.5,-1.0,146.5,-1.0,154.9,150.4,4.5,8.4,2.9,5.5,66.8,72.1,-5.3,,,,false,pass +s5_shot_8i_25,97.0,18.5,-2.0,4809,4.3,I-S2-V2-P2,115-150,131.3,130.8,0.5,131.3,0.5,140.7,135.6,5.1,9.4,4.8,4.6,63.4,56.2,7.2,,,,false,moderate +s5_shot_9i_19,101.2,20.5,-2.4,4282,5.8,I-S2-V2-P2,115-150,139.6,142.6,-3.0,139.6,-3.0,155.2,147.2,8.0,15.6,4.6,11.0,78.3,69.2,9.1,,,,false,moderate +s5_shot_9i_20,98.5,20.4,1.4,4377,10.4,I-S2-V2-P2,115-150,133.5,136.0,-2.5,133.5,-2.5,148.8,140.8,8.0,15.3,4.8,10.5,73.8,64.1,9.7,,,,false,moderate +s5_shot_9i_21,90.1,20.7,0.6,6342,5.1,I-S2-V2-P3,115-150,115.1,115.3,-0.2,115.1,-0.2,118.1,117.5,0.6,3.0,2.2,0.8,48.9,56.5,-7.6,,,,false,pass +s5_shot_driver_42,136.1,8.7,-3.0,2155,-0.6,D-S4-V0-P0,180-200,192.0,193.9,-1.9,192.0,-1.9,193.0,216.9,-23.9,1.0,23.0,-22.0,38.3,39.1,-0.8,,,,false,severe +s5_shot_driver_43,133.2,5.8,-6.6,2130,-19.7,D-S4-V0-P0,150-180,159.3,154.2,5.1,159.3,5.1,216.9,192.0,24.9,57.6,37.8,19.8,20.4,18.4,2.0,,,,false,severe +s5_shot_driver_44,124.0,12.7,1.3,3765,2.2,D-S4-V1-P1,180-200,185.7,184.7,1.0,185.7,1.0,191.8,193.3,-1.5,6.1,8.6,-2.5,57.2,61.9,-4.7,,,,false,pass +s5_shot_driver_45,128.9,5.1,-5.2,1635,2.9,D-S4-V0-P0,115-150,134.5,135.9,-1.4,134.5,-1.4,197.4,181.7,15.7,62.9,45.8,17.1,13.6,13.3,0.3,,,,false,severe +s5_shot_driver_46,134.8,10.7,-2.4,3350,-6.5,D-S4-V1-P1,>200,205.0,204.1,0.9,205.0,0.9,210.5,215.2,-4.7,5.5,11.1,-5.6,56.8,59.2,-2.4,,,,false,pass +s5_shot_driver_47,137.2,7.1,-4.3,2596,-12.1,D-S4-V0-P1,180-200,188.5,186.5,2.0,188.5,2.0,188.8,211.8,-23.0,0.3,25.3,-25.0,33.9,32.0,1.9,,,,false,severe +s5_shot_driver_48,123.1,15.3,-4.2,4480,-6.8,D-S4-V1-P2,180-200,186.0,184.2,1.8,186.0,1.8,199.0,189.2,9.8,13.0,5.0,8.0,79.3,79.3,0.0,,,,false,moderate +s5_shot_driver_49,123.5,18.7,3.8,5686,9.0,I-S4-V2-P3,180-200,183.1,180.1,3.0,183.1,3.0,204.7,182.6,22.1,21.6,2.5,19.1,130.1,104.1,26.0,,,,false,severe +s5_shot_lw_15,47.7,29.7,2.3,5999,-0.0,C-S0-V3-P3,<115,39.4,41.4,-2.0,39.4,-2.0,50.1,45.1,5.0,10.7,3.7,7.0,20.3,21.3,-1.0,,,,false,pass +s5_shot_lw_16,52.6,37.2,5.6,5241,7.6,C-S0-V4-P2,<115,49.7,50.6,-0.9,49.7,-0.9,63.1,51.8,11.3,13.4,1.2,12.2,36.1,36.6,-0.5,,,,false,severe +s5_shot_lw_17,55.4,37.4,7.3,5903,9.9,C-S0-V4-P3,<115,55.1,54.5,0.6,55.1,0.6,66.3,55.4,10.9,11.2,0.9,10.3,41.2,41.0,0.2,,,,false,severe +s5_shot_lw_18,52.3,36.2,0.1,5374,13.2,C-S0-V4-P2,<115,49.1,50.0,-0.9,49.1,-0.9,60.3,51.3,9.0,11.2,1.3,9.9,34.1,34.7,-0.6,,,,false,moderate +s5_shot_pw_1,48.4,29.0,5.6,4593,2.5,C-S0-V3-P2,<115,42.1,42.6,-0.5,42.1,-0.5,57.3,47.8,9.5,15.2,5.2,10.0,21.0,21.0,0.0,,,,false,moderate +s5_shot_pw_10,83.6,25.2,1.4,5520,9.9,I-S1b-V3-P3,<115,105.5,105.5,0.0,105.5,0.0,111.5,107.9,3.6,6.0,2.4,3.6,54.4,59.2,-4.8,,,,false,pass +s5_shot_pw_11,76.6,21.2,2.9,5232,-5.5,I-S1b-V2-P2,<115,88.4,89.9,-1.5,88.4,-1.5,90.0,94.2,-4.2,1.6,4.3,-2.7,34.2,37.9,-3.7,,,,false,pass +s5_shot_pw_2,57.8,26.8,2.8,4564,2.1,C-S0-V3-P2,<115,59.7,57.9,1.8,59.7,1.8,78.8,61.9,16.9,19.1,4.0,15.1,28.4,27.4,1.0,,,,false,severe +s5_shot_pw_3,69.8,29.4,8.1,6334,8.1,I-S1a-V3-P3,<115,76.6,79.4,-2.8,76.6,-2.8,91.0,80.6,10.4,14.4,1.2,13.2,46.3,48.8,-2.5,,,,false,severe +s5_shot_pw_4,68.6,29.1,3.8,6801,6.8,I-S1a-V3-P3,<115,73.1,76.8,-3.7,73.1,-3.7,86.2,77.8,8.4,13.1,1.0,12.1,43.2,46.6,-3.4,,,,false,moderate +s5_shot_pw_5,77.4,28.9,4.5,6294,7.3,I-S1b-V3-P3,<115,92.2,93.0,-0.8,92.2,-0.8,98.4,94.2,4.2,6.2,1.2,5.0,57.0,60.1,-3.1,,,,false,pass +s5_shot_pw_6,76.3,28.2,3.7,5434,9.1,I-S1b-V3-P2,<115,94.1,92.3,1.8,94.1,1.8,100.6,94.4,6.2,6.5,2.1,4.4,53.7,55.8,-2.1,,,,false,moderate +s5_shot_pw_7,79.7,28.1,4.4,5840,9.1,I-S1b-V3-P3,<115,97.6,97.9,-0.3,97.6,-0.3,105.3,99.5,5.8,7.7,1.6,6.1,57.6,61.5,-3.9,,,,false,moderate +s5_shot_pw_8,76.4,28.2,1.6,5024,4.7,I-S1b-V3-P2,<115,93.5,93.4,0.1,93.5,0.1,101.1,95.9,5.2,7.6,2.5,5.1,53.7,55.9,-2.2,,,,false,moderate +s5_shot_pw_9,86.4,24.1,0.2,5480,3.7,I-S2-V2-P2,<115,109.7,111.1,-1.4,109.7,-1.4,116.9,113.7,3.2,7.2,2.6,4.6,54.7,60.9,-6.2,,,,false,pass topped_test_shot,91.8,5.0,-0.9,2195,16.2,I-S2-V0-P0,<115,55.5,56.2,-0.7,55.5,-0.7,109.1,95.3,13.8,53.6,39.1,14.5,4.2,4.3,-0.1,,,,false,severe wedge_shot_1,48.7,29.0,-1.3,5684,11.1,C-S0-V3-P3,<115,41.1,42.6,-1.5,41.1,-1.5,53.1,46.9,6.2,12.0,4.3,7.7,20.5,21.3,-0.8,,,,false,moderate wedge_shot_2,51.8,37.0,2.4,5652,9.1,C-S0-V4-P3,<115,48.7,49.1,-0.4,48.7,-0.4,61.2,50.1,11.1,12.5,1.0,11.5,34.9,35.3,-0.4,,,,false,severe wedge_test_shot,66.4,23.2,-1.4,6449,7.1,I-S1a-V2-P3,<115,72.1,70.6,1.5,72.1,1.5,88.2,75.8,12.4,16.1,5.2,10.9,30.7,31.2,-0.5,,,,false,severe wedge_test_shot2,54.7,26.8,1.6,4976,5.7,C-S0-V3-P2,<115,53.3,52.2,1.1,53.3,1.1,70.1,57.7,12.4,16.8,5.5,11.3,25.2,24.4,0.8,,,,false,severe -wood1,124.2,6.7,-8.1,4528,4.8,D-S4-V0-P2,150-180,177.4,165.5,11.9,177.4,11.9,177.9,181.9,-4.0,0.5,16.4,-15.9,35.9,32.8,3.1,,,,false,severe +wood1,124.2,6.7,-8.1,4528,4.8,D-S4-V0-P2,150-180,176.8,165.5,11.3,176.8,11.3,177.2,181.9,-4.7,0.4,16.4,-16.0,35.4,32.8,2.6,,,,false,severe wood2,118.8,14.5,-3.3,3026,11.2,D-S3-V1-P1,150-180,175.2,175.6,-0.4,175.2,-0.4,181.3,186.1,-4.8,6.1,10.5,-4.4,56.0,59.3,-3.3,,,,false,pass wood_low_test_shot,114.5,7.0,-0.6,1932,-1.4,D-S3-V0-P0,115-150,123.9,122.6,1.3,123.9,1.3,180.9,158.9,22.0,57.0,36.3,20.7,16.0,15.7,0.3,,,,false,severe diff --git a/assets/data/openfairway_accuracy_summary_20260314_0146.json b/assets/data/openfairway_accuracy_summary_20260314_0146.json deleted file mode 100644 index aee5cf8..0000000 --- a/assets/data/openfairway_accuracy_summary_20260314_0146.json +++ /dev/null @@ -1,125 +0,0 @@ -{ - "timestamp": "2026-03-14T01:46", - "total_shots": 136, - "shots_with_reference": 129, - "priority_gates": { - "short_carry_lt_115yd": { - "shots": 69, - "carry_accuracy": { - "avg_error_yd": -2.2, - "avg_off_yd": 3.1, - "typical_off_yd": 2.6, - "consistency_yd": 3.1, - "worst_off_yd": 9.1, - "within_pct_yd": { - "0.5": 11.6, - "1": 23.2, - "2": 37.7, - "3": 62.3 - } - } - }, - "carry_115_150yd": { - "shots": 35, - "carry_accuracy": { - "avg_error_yd": 2.0, - "avg_off_yd": 3.0, - "typical_off_yd": 2.3, - "consistency_yd": 3.3, - "worst_off_yd": 9.2, - "within_pct_yd": { - "1": 25.7, - "2": 45.7, - "3": 54.3, - "5": 80.0 - } - } - }, - "carry_150_180yd": { - "shots": 19, - "carry_accuracy": { - "avg_error_yd": 4.6, - "avg_off_yd": 5.2, - "typical_off_yd": 4.5, - "consistency_yd": 4.7, - "worst_off_yd": 17.0, - "within_pct_yd": { - "3": 21.1, - "5": 63.2, - "6": 78.9, - "7": 84.2, - "10": 84.2 - } - } - }, - "long_carry_gt_200yd": { - "shots": 1, - "carry_accuracy": { - "avg_error_yd": -0.4, - "avg_off_yd": 0.4, - "typical_off_yd": 0.4, - "consistency_yd": 0.0, - "worst_off_yd": 0.4, - "within_pct_yd": { - "3": 100.0, - "5": 100.0, - "7": 100.0, - "10": 100.0 - } - } - } - }, - "carry_accuracy": { - "avg_error_yd": 0.2, - "avg_off_yd": 3.4, - "typical_off_yd": 2.9, - "consistency_yd": 4.4, - "worst_off_yd": 17.0, - "within_pct_yd": { - "1": 21.7, - "2": 35.7, - "3": 52.7, - "5": 76.7, - "7": 92.2, - "10": 97.7, - "15": 99.2, - "20": 100.0 - } - }, - "total_accuracy": { - "avg_error_yd": 2.3, - "avg_off_yd": 10.2, - "typical_off_yd": 8.8, - "consistency_yd": 12.7, - "worst_off_yd": 34.0, - "within_pct_yd": { - "1": 6.2, - "2": 17.8, - "3": 24.8, - "5": 36.4, - "7": 43.4, - "10": 52.7, - "15": 75.2, - "20": 84.5 - } - }, - "apex_accuracy": { - "avg_error_ft": -0.7, - "avg_off_ft": 3.5, - "typical_off_ft": 3.0, - "consistency_ft": 4.9, - "worst_off_ft": 23.5, - "within_pct_ft": { - "1": 23.3, - "2": 42.6, - "3": 50.4, - "5": 78.3, - "7": 89.9, - "10": 96.9, - "13": 97.7, - "15": 98.4, - "20": 98.4, - "50": 100.0 - } - } -} diff --git a/assets/data/openfairway_accuracy_summary_20260314_0225.json b/assets/data/openfairway_accuracy_summary_20260314_0225.json deleted file mode 100644 index a7930f1..0000000 --- a/assets/data/openfairway_accuracy_summary_20260314_0225.json +++ /dev/null @@ -1,302 +0,0 @@ -{ - "timestamp": "2026-03-14T02:25", - "total_shots": 136, - "shots_with_reference": 129, - "priority_gates": { - "short_carry_lt_115yd": { - "shots": 69, - "carry_accuracy": { - "avg_error_yd": -2.2, - "avg_off_yd": 3.1, - "typical_off_yd": 2.6, - "consistency_yd": 3.1, - "worst_off_yd": 9.1, - "within_pct_yd": { - "0.5": 11.6, - "1": 23.2, - "2": 37.7, - "3": 62.3 - } - } - }, - "carry_115_150yd": { - "shots": 35, - "carry_accuracy": { - "avg_error_yd": 2.0, - "avg_off_yd": 3.0, - "typical_off_yd": 2.3, - "consistency_yd": 3.3, - "worst_off_yd": 9.2, - "within_pct_yd": { - "1": 25.7, - "2": 45.7, - "3": 54.3, - "5": 80.0 - } - } - }, - "carry_150_180yd": { - "shots": 19, - "carry_accuracy": { - "avg_error_yd": 4.6, - "avg_off_yd": 5.2, - "typical_off_yd": 4.5, - "consistency_yd": 4.7, - "worst_off_yd": 17.0, - "within_pct_yd": { - "3": 21.1, - "5": 63.2, - "6": 78.9, - "7": 84.2, - "10": 84.2 - } - } - }, - "long_carry_gt_200yd": { - "shots": 1, - "carry_accuracy": { - "avg_error_yd": -0.4, - "avg_off_yd": 0.4, - "typical_off_yd": 0.4, - "consistency_yd": 0.0, - "worst_off_yd": 0.4, - "within_pct_yd": { - "3": 100.0, - "5": 100.0, - "7": 100.0, - "10": 100.0, - "15": 100.0 - } - } - } - }, - "carry_accuracy": { - "avg_error_yd": 0.2, - "avg_off_yd": 3.4, - "typical_off_yd": 2.9, - "consistency_yd": 4.4, - "worst_off_yd": 17.0, - "within_pct_yd": { - "1": 21.7, - "2": 35.7, - "3": 52.7, - "5": 76.7, - "7": 92.2, - "10": 97.7, - "15": 99.2, - "20": 100.0 - } - }, - "total_accuracy": { - "avg_error_yd": 2.3, - "avg_off_yd": 10.2, - "typical_off_yd": 8.8, - "consistency_yd": 12.7, - "worst_off_yd": 34.0, - "within_pct_yd": { - "1": 6.2, - "2": 17.8, - "3": 24.8, - "5": 36.4, - "7": 43.4, - "10": 52.7, - "15": 75.2, - "20": 84.5 - } - }, - "apex_accuracy": { - "avg_error_ft": -0.7, - "avg_off_ft": 3.5, - "typical_off_ft": 3.0, - "consistency_ft": 4.9, - "worst_off_ft": 23.5, - "within_pct_ft": { - "1": 23.3, - "2": 42.6, - "3": 50.4, - "5": 78.3, - "7": 89.9, - "10": 96.9, - "13": 97.7, - "15": 98.4, - "20": 98.4, - "50": 100.0 - } - }, - "physics_only_priority_gates": { - "short_carry_lt_115yd": { - "shots": 69, - "carry_accuracy": { - "avg_error_yd": -2.2, - "avg_off_yd": 3.1, - "typical_off_yd": 2.6, - "consistency_yd": 3.1, - "worst_off_yd": 9.1, - "within_pct_yd": { - "0.5": 11.6, - "1": 23.2, - "2": 37.7, - "3": 62.3 - } - } - }, - "carry_115_150yd": { - "shots": 35, - "carry_accuracy": { - "avg_error_yd": 2.0, - "avg_off_yd": 3.0, - "typical_off_yd": 2.3, - "consistency_yd": 3.3, - "worst_off_yd": 9.2, - "within_pct_yd": { - "1": 25.7, - "2": 45.7, - "3": 54.3, - "5": 80.0 - } - } - }, - "carry_150_180yd": { - "shots": 19, - "carry_accuracy": { - "avg_error_yd": 4.6, - "avg_off_yd": 5.2, - "typical_off_yd": 4.5, - "consistency_yd": 4.7, - "worst_off_yd": 17.0, - "within_pct_yd": { - "3": 21.1, - "5": 63.2, - "6": 78.9, - "7": 84.2, - "10": 84.2 - } - } - }, - "long_carry_gt_200yd": { - "shots": 1, - "carry_accuracy": { - "avg_error_yd": -0.4, - "avg_off_yd": 0.4, - "typical_off_yd": 0.4, - "consistency_yd": 0.0, - "worst_off_yd": 0.4, - "within_pct_yd": { - "3": 100.0, - "5": 100.0, - "7": 100.0, - "10": 100.0, - "15": 100.0 - } - } - } - }, - "objectives": { - "physics_only": { - "shots": 129, - "within_3yd_pct": 52.7, - "residual_outliers_gt_window_target": 73 - }, - "short_shot_priority": { - "shots": 69, - "goal_within_1yd_pct": 80.0, - "actual_within_1yd_pct": 23.2, - "actual_within_0.5yd_pct": 11.6, - "actual_within_3yd_pct": 62.3 - }, - "residual_regime_candidates": { - "count": 73, - "short_count": 53, - "by_window": { - "<115": 53, - "115-150": 16, - "150-180": 4, - "180-200": 0, - ">200": 0 - } - } - }, - "critical_baseline": { - "path": "/home/jesher/Code/Github/digitalhand/openfairway/assets/data/openfairway_critical_carry_20260314_0225.csv", - "shots": 20, - "tracked_shots": 20, - "missing_shots": [], - "improved": 0, - "regressed": 0, - "unchanged": 20, - "within_target_now": 4, - "within_target_now_pct": 20.0, - "top_remaining_outliers": [ - { - "shot_name": "s3_shot_driver_58", - "current_abs_yd": 17.0, - "baseline_abs_yd": 17.0, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "wood1", - "current_abs_yd": 11.9, - "baseline_abs_yd": 11.9, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "s3_shot_driver_51", - "current_abs_yd": 10.4, - "baseline_abs_yd": 10.4, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "s4_shot_3w_33", - "current_abs_yd": 9.2, - "baseline_abs_yd": 9.2, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "bump_and_run", - "current_abs_yd": 9.1, - "baseline_abs_yd": 9.1, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "s3_shot_9i_2", - "current_abs_yd": 8.2, - "baseline_abs_yd": 8.2, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "s3_shot_driver_52", - "current_abs_yd": 8.2, - "baseline_abs_yd": 8.2, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "s4_shot_pw_6", - "current_abs_yd": 8.2, - "baseline_abs_yd": 8.2, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "s4_shot_pw_1", - "current_abs_yd": 7.7, - "baseline_abs_yd": 7.7, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "driver2", - "current_abs_yd": 7.6, - "baseline_abs_yd": 7.6, - "target_abs_yd": 10.0, - "carry_window": "180-200" - } - ] - } -} diff --git a/assets/data/openfairway_accuracy_summary_20260314_0226.json b/assets/data/openfairway_accuracy_summary_20260314_0226.json deleted file mode 100644 index f2bca20..0000000 --- a/assets/data/openfairway_accuracy_summary_20260314_0226.json +++ /dev/null @@ -1,302 +0,0 @@ -{ - "timestamp": "2026-03-14T02:26", - "total_shots": 136, - "shots_with_reference": 129, - "priority_gates": { - "short_carry_lt_115yd": { - "shots": 69, - "carry_accuracy": { - "avg_error_yd": -2.2, - "avg_off_yd": 3.1, - "typical_off_yd": 2.6, - "consistency_yd": 3.1, - "worst_off_yd": 9.1, - "within_pct_yd": { - "0.5": 11.6, - "1": 23.2, - "2": 37.7, - "3": 62.3 - } - } - }, - "carry_115_150yd": { - "shots": 35, - "carry_accuracy": { - "avg_error_yd": 2.0, - "avg_off_yd": 3.0, - "typical_off_yd": 2.3, - "consistency_yd": 3.3, - "worst_off_yd": 9.2, - "within_pct_yd": { - "1": 25.7, - "2": 45.7, - "3": 54.3, - "5": 80.0 - } - } - }, - "carry_150_180yd": { - "shots": 19, - "carry_accuracy": { - "avg_error_yd": 4.6, - "avg_off_yd": 5.2, - "typical_off_yd": 4.5, - "consistency_yd": 4.7, - "worst_off_yd": 17.0, - "within_pct_yd": { - "3": 21.1, - "5": 63.2, - "6": 78.9, - "7": 84.2, - "10": 84.2 - } - } - }, - "long_carry_gt_200yd": { - "shots": 1, - "carry_accuracy": { - "avg_error_yd": -0.4, - "avg_off_yd": 0.4, - "typical_off_yd": 0.4, - "consistency_yd": 0.0, - "worst_off_yd": 0.4, - "within_pct_yd": { - "3": 100.0, - "5": 100.0, - "7": 100.0, - "10": 100.0, - "15": 100.0 - } - } - } - }, - "carry_accuracy": { - "avg_error_yd": 0.2, - "avg_off_yd": 3.4, - "typical_off_yd": 2.9, - "consistency_yd": 4.4, - "worst_off_yd": 17.0, - "within_pct_yd": { - "1": 21.7, - "2": 35.7, - "3": 52.7, - "5": 76.7, - "7": 92.2, - "10": 97.7, - "15": 99.2, - "20": 100.0 - } - }, - "total_accuracy": { - "avg_error_yd": 2.3, - "avg_off_yd": 10.2, - "typical_off_yd": 8.8, - "consistency_yd": 12.7, - "worst_off_yd": 34.0, - "within_pct_yd": { - "1": 6.2, - "2": 17.8, - "3": 24.8, - "5": 36.4, - "7": 43.4, - "10": 52.7, - "15": 75.2, - "20": 84.5 - } - }, - "apex_accuracy": { - "avg_error_ft": -0.7, - "avg_off_ft": 3.5, - "typical_off_ft": 3.0, - "consistency_ft": 4.9, - "worst_off_ft": 23.5, - "within_pct_ft": { - "1": 23.3, - "2": 42.6, - "3": 50.4, - "5": 78.3, - "7": 89.9, - "10": 96.9, - "13": 97.7, - "15": 98.4, - "20": 98.4, - "50": 100.0 - } - }, - "physics_only_priority_gates": { - "short_carry_lt_115yd": { - "shots": 69, - "carry_accuracy": { - "avg_error_yd": -2.2, - "avg_off_yd": 3.1, - "typical_off_yd": 2.6, - "consistency_yd": 3.1, - "worst_off_yd": 9.1, - "within_pct_yd": { - "0.5": 11.6, - "1": 23.2, - "2": 37.7, - "3": 62.3 - } - } - }, - "carry_115_150yd": { - "shots": 35, - "carry_accuracy": { - "avg_error_yd": 2.0, - "avg_off_yd": 3.0, - "typical_off_yd": 2.3, - "consistency_yd": 3.3, - "worst_off_yd": 9.2, - "within_pct_yd": { - "1": 25.7, - "2": 45.7, - "3": 54.3, - "5": 80.0 - } - } - }, - "carry_150_180yd": { - "shots": 19, - "carry_accuracy": { - "avg_error_yd": 4.6, - "avg_off_yd": 5.2, - "typical_off_yd": 4.5, - "consistency_yd": 4.7, - "worst_off_yd": 17.0, - "within_pct_yd": { - "3": 21.1, - "5": 63.2, - "6": 78.9, - "7": 84.2, - "10": 84.2 - } - } - }, - "long_carry_gt_200yd": { - "shots": 1, - "carry_accuracy": { - "avg_error_yd": -0.4, - "avg_off_yd": 0.4, - "typical_off_yd": 0.4, - "consistency_yd": 0.0, - "worst_off_yd": 0.4, - "within_pct_yd": { - "3": 100.0, - "5": 100.0, - "7": 100.0, - "10": 100.0, - "15": 100.0 - } - } - } - }, - "objectives": { - "physics_only": { - "shots": 129, - "within_3yd_pct": 52.7, - "residual_outliers_gt_window_target": 73 - }, - "short_shot_priority": { - "shots": 69, - "goal_within_1yd_pct": 80.0, - "actual_within_1yd_pct": 23.2, - "actual_within_0.5yd_pct": 11.6, - "actual_within_3yd_pct": 62.3 - }, - "residual_regime_candidates": { - "count": 73, - "short_count": 53, - "by_window": { - "<115": 53, - "115-150": 16, - "150-180": 4, - "180-200": 0, - ">200": 0 - } - } - }, - "critical_baseline": { - "path": "/home/jesher/Code/Github/digitalhand/openfairway/assets/data/openfairway_critical_carry_20260314_0225.csv", - "shots": 20, - "tracked_shots": 20, - "missing_shots": [], - "improved": 0, - "regressed": 0, - "unchanged": 20, - "within_target_now": 4, - "within_target_now_pct": 20.0, - "top_remaining_outliers": [ - { - "shot_name": "s3_shot_driver_58", - "current_abs_yd": 17.0, - "baseline_abs_yd": 17.0, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "wood1", - "current_abs_yd": 11.9, - "baseline_abs_yd": 11.9, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "s3_shot_driver_51", - "current_abs_yd": 10.4, - "baseline_abs_yd": 10.4, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "s4_shot_3w_33", - "current_abs_yd": 9.2, - "baseline_abs_yd": 9.2, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "bump_and_run", - "current_abs_yd": 9.1, - "baseline_abs_yd": 9.1, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "s3_shot_9i_2", - "current_abs_yd": 8.2, - "baseline_abs_yd": 8.2, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "s3_shot_driver_52", - "current_abs_yd": 8.2, - "baseline_abs_yd": 8.2, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "s4_shot_pw_6", - "current_abs_yd": 8.2, - "baseline_abs_yd": 8.2, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "s4_shot_pw_1", - "current_abs_yd": 7.7, - "baseline_abs_yd": 7.7, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "driver2", - "current_abs_yd": 7.6, - "baseline_abs_yd": 7.6, - "target_abs_yd": 10.0, - "carry_window": "180-200" - } - ] - } -} diff --git a/assets/data/openfairway_accuracy_summary_20260314_0315.json b/assets/data/openfairway_accuracy_summary_20260314_0315.json deleted file mode 100644 index f311ace..0000000 --- a/assets/data/openfairway_accuracy_summary_20260314_0315.json +++ /dev/null @@ -1,302 +0,0 @@ -{ - "timestamp": "2026-03-14T03:15", - "total_shots": 136, - "shots_with_reference": 129, - "priority_gates": { - "short_carry_lt_115yd": { - "shots": 69, - "carry_accuracy": { - "avg_error_yd": -0.9, - "avg_off_yd": 2.1, - "typical_off_yd": 1.9, - "consistency_yd": 2.5, - "worst_off_yd": 6.3, - "within_pct_yd": { - "0.5": 13.0, - "1": 29.0, - "2": 53.6, - "3": 75.4 - } - } - }, - "carry_115_150yd": { - "shots": 35, - "carry_accuracy": { - "avg_error_yd": 1.0, - "avg_off_yd": 2.4, - "typical_off_yd": 2.0, - "consistency_yd": 2.8, - "worst_off_yd": 6.9, - "within_pct_yd": { - "1": 28.6, - "2": 54.3, - "3": 68.6, - "5": 85.7 - } - } - }, - "carry_150_180yd": { - "shots": 19, - "carry_accuracy": { - "avg_error_yd": 1.3, - "avg_off_yd": 2.8, - "typical_off_yd": 1.3, - "consistency_yd": 4.2, - "worst_off_yd": 11.9, - "within_pct_yd": { - "3": 68.4, - "5": 84.2, - "6": 84.2, - "7": 84.2, - "10": 94.7 - } - } - }, - "long_carry_gt_200yd": { - "shots": 1, - "carry_accuracy": { - "avg_error_yd": -6.1, - "avg_off_yd": 6.1, - "typical_off_yd": 6.1, - "consistency_yd": 0.0, - "worst_off_yd": 6.1, - "within_pct_yd": { - "3": 0.0, - "5": 0.0, - "7": 100.0, - "10": 100.0, - "15": 100.0 - } - } - } - }, - "carry_accuracy": { - "avg_error_yd": -0.0, - "avg_off_yd": 2.3, - "typical_off_yd": 1.8, - "consistency_yd": 3.1, - "worst_off_yd": 11.9, - "within_pct_yd": { - "1": 32.6, - "2": 55.8, - "3": 72.9, - "5": 90.7, - "7": 97.7, - "10": 99.2, - "15": 100.0, - "20": 100.0 - } - }, - "total_accuracy": { - "avg_error_yd": 1.8, - "avg_off_yd": 9.8, - "typical_off_yd": 8.4, - "consistency_yd": 12.1, - "worst_off_yd": 28.4, - "within_pct_yd": { - "1": 7.0, - "2": 17.8, - "3": 23.3, - "5": 34.1, - "7": 41.1, - "10": 56.6, - "15": 78.3, - "20": 87.6 - } - }, - "apex_accuracy": { - "avg_error_ft": -0.9, - "avg_off_ft": 3.5, - "typical_off_ft": 3.0, - "consistency_ft": 4.9, - "worst_off_ft": 23.5, - "within_pct_ft": { - "1": 27.1, - "2": 40.3, - "3": 54.3, - "5": 76.7, - "7": 87.6, - "10": 96.1, - "13": 97.7, - "15": 98.4, - "20": 99.2, - "50": 100.0 - } - }, - "physics_only_priority_gates": { - "short_carry_lt_115yd": { - "shots": 69, - "carry_accuracy": { - "avg_error_yd": -0.9, - "avg_off_yd": 2.1, - "typical_off_yd": 1.9, - "consistency_yd": 2.5, - "worst_off_yd": 6.3, - "within_pct_yd": { - "0.5": 13.0, - "1": 29.0, - "2": 53.6, - "3": 75.4 - } - } - }, - "carry_115_150yd": { - "shots": 35, - "carry_accuracy": { - "avg_error_yd": 1.0, - "avg_off_yd": 2.4, - "typical_off_yd": 2.0, - "consistency_yd": 2.8, - "worst_off_yd": 6.9, - "within_pct_yd": { - "1": 28.6, - "2": 54.3, - "3": 68.6, - "5": 85.7 - } - } - }, - "carry_150_180yd": { - "shots": 19, - "carry_accuracy": { - "avg_error_yd": 1.3, - "avg_off_yd": 2.8, - "typical_off_yd": 1.3, - "consistency_yd": 4.2, - "worst_off_yd": 11.9, - "within_pct_yd": { - "3": 68.4, - "5": 84.2, - "6": 84.2, - "7": 84.2, - "10": 94.7 - } - } - }, - "long_carry_gt_200yd": { - "shots": 1, - "carry_accuracy": { - "avg_error_yd": -6.1, - "avg_off_yd": 6.1, - "typical_off_yd": 6.1, - "consistency_yd": 0.0, - "worst_off_yd": 6.1, - "within_pct_yd": { - "3": 0.0, - "5": 0.0, - "7": 100.0, - "10": 100.0, - "15": 100.0 - } - } - } - }, - "objectives": { - "physics_only": { - "shots": 129, - "within_3yd_pct": 72.9, - "residual_outliers_gt_window_target": 63 - }, - "short_shot_priority": { - "shots": 69, - "goal_within_1yd_pct": 80.0, - "actual_within_1yd_pct": 29.0, - "actual_within_0.5yd_pct": 13.0, - "actual_within_3yd_pct": 75.4 - }, - "residual_regime_candidates": { - "count": 63, - "short_count": 49, - "by_window": { - "<115": 49, - "115-150": 11, - "150-180": 3, - "180-200": 0, - ">200": 0 - } - } - }, - "critical_baseline": { - "path": "/home/jesher/Code/Github/digitalhand/openfairway/assets/data/openfairway_critical_carry_20260314_0226.csv", - "shots": 129, - "tracked_shots": 129, - "missing_shots": [], - "improved": 52, - "regressed": 7, - "unchanged": 70, - "within_target_now": 66, - "within_target_now_pct": 51.2, - "top_remaining_outliers": [ - { - "shot_name": "wood1", - "current_abs_yd": 11.9, - "baseline_abs_yd": 11.9, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "s3_shot_driver_58", - "current_abs_yd": 9.3, - "baseline_abs_yd": 17.0, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "s3_shot_driver_57", - "current_abs_yd": 8.9, - "baseline_abs_yd": 5.8, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "s3_shot_3w_24", - "current_abs_yd": 6.9, - "baseline_abs_yd": 6.9, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "s4_shot_3w_33", - "current_abs_yd": 6.4, - "baseline_abs_yd": 9.2, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "s4_shot_5i_29", - "current_abs_yd": 6.3, - "baseline_abs_yd": 6.3, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "bump_and_run", - "current_abs_yd": 6.1, - "baseline_abs_yd": 9.1, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "s3_shot_6i_47", - "current_abs_yd": 6.1, - "baseline_abs_yd": 6.1, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "drive_test_shot", - "current_abs_yd": 6.1, - "baseline_abs_yd": 0.4, - "target_abs_yd": 15.0, - "carry_window": ">200" - }, - { - "shot_name": "s3_shot_6i_43", - "current_abs_yd": 5.6, - "baseline_abs_yd": 5.6, - "target_abs_yd": 3.0, - "carry_window": "115-150" - } - ] - } -} diff --git a/assets/data/openfairway_accuracy_summary_20260314_0357.json b/assets/data/openfairway_accuracy_summary_20260314_0357.json deleted file mode 100644 index 607d91a..0000000 --- a/assets/data/openfairway_accuracy_summary_20260314_0357.json +++ /dev/null @@ -1,302 +0,0 @@ -{ - "timestamp": "2026-03-14T03:57", - "total_shots": 136, - "shots_with_reference": 129, - "priority_gates": { - "short_carry_lt_115yd": { - "shots": 69, - "carry_accuracy": { - "avg_error_yd": -0.5, - "avg_off_yd": 1.7, - "typical_off_yd": 1.5, - "consistency_yd": 2.2, - "worst_off_yd": 6.3, - "within_pct_yd": { - "0.5": 15.9, - "1": 34.8, - "2": 69.6, - "3": 85.5 - } - } - }, - "carry_115_150yd": { - "shots": 35, - "carry_accuracy": { - "avg_error_yd": 1.0, - "avg_off_yd": 2.1, - "typical_off_yd": 1.8, - "consistency_yd": 2.6, - "worst_off_yd": 6.4, - "within_pct_yd": { - "1": 34.3, - "2": 60.0, - "3": 71.4, - "5": 88.6 - } - } - }, - "carry_150_180yd": { - "shots": 19, - "carry_accuracy": { - "avg_error_yd": 1.4, - "avg_off_yd": 2.3, - "typical_off_yd": 1.0, - "consistency_yd": 3.6, - "worst_off_yd": 11.9, - "within_pct_yd": { - "3": 73.7, - "5": 89.5, - "6": 89.5, - "7": 89.5, - "10": 94.7 - } - } - }, - "long_carry_gt_200yd": { - "shots": 1, - "carry_accuracy": { - "avg_error_yd": 4.1, - "avg_off_yd": 4.1, - "typical_off_yd": 4.1, - "consistency_yd": 0.0, - "worst_off_yd": 4.1, - "within_pct_yd": { - "3": 0.0, - "5": 100.0, - "7": 100.0, - "10": 100.0, - "15": 100.0 - } - } - } - }, - "carry_accuracy": { - "avg_error_yd": 0.3, - "avg_off_yd": 1.9, - "typical_off_yd": 1.5, - "consistency_yd": 2.7, - "worst_off_yd": 11.9, - "within_pct_yd": { - "1": 38.0, - "2": 66.7, - "3": 79.8, - "5": 93.8, - "7": 98.4, - "10": 99.2, - "15": 100.0, - "20": 100.0 - } - }, - "total_accuracy": { - "avg_error_yd": 2.1, - "avg_off_yd": 9.9, - "typical_off_yd": 8.8, - "consistency_yd": 12.1, - "worst_off_yd": 28.0, - "within_pct_yd": { - "1": 7.8, - "2": 17.8, - "3": 24.0, - "5": 34.1, - "7": 39.5, - "10": 54.3, - "15": 76.7, - "20": 87.6 - } - }, - "apex_accuracy": { - "avg_error_ft": -0.8, - "avg_off_ft": 3.5, - "typical_off_ft": 3.0, - "consistency_ft": 4.9, - "worst_off_ft": 23.5, - "within_pct_ft": { - "1": 31.0, - "2": 41.9, - "3": 54.3, - "5": 76.0, - "7": 87.6, - "10": 96.1, - "13": 97.7, - "15": 98.4, - "20": 99.2, - "50": 100.0 - } - }, - "physics_only_priority_gates": { - "short_carry_lt_115yd": { - "shots": 69, - "carry_accuracy": { - "avg_error_yd": -0.5, - "avg_off_yd": 1.7, - "typical_off_yd": 1.5, - "consistency_yd": 2.2, - "worst_off_yd": 6.3, - "within_pct_yd": { - "0.5": 15.9, - "1": 34.8, - "2": 69.6, - "3": 85.5 - } - } - }, - "carry_115_150yd": { - "shots": 35, - "carry_accuracy": { - "avg_error_yd": 1.0, - "avg_off_yd": 2.1, - "typical_off_yd": 1.8, - "consistency_yd": 2.6, - "worst_off_yd": 6.4, - "within_pct_yd": { - "1": 34.3, - "2": 60.0, - "3": 71.4, - "5": 88.6 - } - } - }, - "carry_150_180yd": { - "shots": 19, - "carry_accuracy": { - "avg_error_yd": 1.4, - "avg_off_yd": 2.3, - "typical_off_yd": 1.0, - "consistency_yd": 3.6, - "worst_off_yd": 11.9, - "within_pct_yd": { - "3": 73.7, - "5": 89.5, - "6": 89.5, - "7": 89.5, - "10": 94.7 - } - } - }, - "long_carry_gt_200yd": { - "shots": 1, - "carry_accuracy": { - "avg_error_yd": 4.1, - "avg_off_yd": 4.1, - "typical_off_yd": 4.1, - "consistency_yd": 0.0, - "worst_off_yd": 4.1, - "within_pct_yd": { - "3": 0.0, - "5": 100.0, - "7": 100.0, - "10": 100.0, - "15": 100.0 - } - } - } - }, - "objectives": { - "physics_only": { - "shots": 129, - "within_3yd_pct": 79.8, - "residual_outliers_gt_window_target": 57 - }, - "short_shot_priority": { - "shots": 69, - "goal_within_1yd_pct": 80.0, - "actual_within_1yd_pct": 34.8, - "actual_within_0.5yd_pct": 15.9, - "actual_within_3yd_pct": 85.5 - }, - "residual_regime_candidates": { - "count": 57, - "short_count": 45, - "by_window": { - "<115": 45, - "115-150": 10, - "150-180": 2, - "180-200": 0, - ">200": 0 - } - } - }, - "critical_baseline": { - "path": "/home/jesher/Code/Github/digitalhand/openfairway/assets/data/openfairway_critical_carry_20260314_0315.csv", - "shots": 20, - "tracked_shots": 20, - "missing_shots": [], - "improved": 7, - "regressed": 0, - "unchanged": 13, - "within_target_now": 4, - "within_target_now_pct": 20.0, - "top_remaining_outliers": [ - { - "shot_name": "wood1", - "current_abs_yd": 11.9, - "baseline_abs_yd": 11.9, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "s3_shot_driver_58", - "current_abs_yd": 9.3, - "baseline_abs_yd": 9.3, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "s4_shot_3w_33", - "current_abs_yd": 6.4, - "baseline_abs_yd": 6.4, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "s4_shot_5i_29", - "current_abs_yd": 6.3, - "baseline_abs_yd": 6.3, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "bump_and_run", - "current_abs_yd": 6.1, - "baseline_abs_yd": 6.1, - "target_abs_yd": 1.0, - "carry_window": "<115" - }, - { - "shot_name": "s3_shot_6i_47", - "current_abs_yd": 6.1, - "baseline_abs_yd": 6.1, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "s3_shot_6i_43", - "current_abs_yd": 5.6, - "baseline_abs_yd": 5.6, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "s3_shot_6i_48", - "current_abs_yd": 5.3, - "baseline_abs_yd": 5.3, - "target_abs_yd": 3.0, - "carry_window": "115-150" - }, - { - "shot_name": "s2_shot_21", - "current_abs_yd": 4.9, - "baseline_abs_yd": 4.9, - "target_abs_yd": 6.0, - "carry_window": "150-180" - }, - { - "shot_name": "5iron", - "current_abs_yd": 4.8, - "baseline_abs_yd": 4.8, - "target_abs_yd": 3.0, - "carry_window": "115-150" - } - ] - } -} diff --git a/assets/data/openfairway_accuracy_summary_20260316_1141.json b/assets/data/openfairway_accuracy_summary_20260316_1141.json new file mode 100644 index 0000000..e1abdff --- /dev/null +++ b/assets/data/openfairway_accuracy_summary_20260316_1141.json @@ -0,0 +1,221 @@ +{ + "timestamp": "2026-03-16T11:41", + "total_shots": 182, + "shots_with_reference": 175, + "priority_gates": { + "short_carry_lt_115yd": { + "shots": 87, + "carry_accuracy": { + "avg_error_yd": -0.8, + "avg_off_yd": 1.7, + "typical_off_yd": 1.5, + "consistency_yd": 2.1, + "worst_off_yd": 6.1, + "within_pct_yd": { + "0.5": 18.4, + "1": 34.5, + "2": 71.3, + "3": 83.9, + "5": 98.9 + } + } + }, + "carry_115_150yd": { + "shots": 49, + "carry_accuracy": { + "avg_error_yd": 0.2, + "avg_off_yd": 1.8, + "typical_off_yd": 1.7, + "consistency_yd": 2.2, + "worst_off_yd": 5.8, + "within_pct_yd": { + "1": 34.7, + "2": 65.3, + "3": 87.8, + "5": 93.9 + } + } + }, + "carry_150_180yd": { + "shots": 25, + "carry_accuracy": { + "avg_error_yd": 1.1, + "avg_off_yd": 2.2, + "typical_off_yd": 1.1, + "consistency_yd": 3.4, + "worst_off_yd": 11.3, + "within_pct_yd": { + "3": 76.0, + "5": 88.0, + "6": 92.0, + "7": 92.0, + "10": 96.0 + } + } + }, + "long_carry_gt_200yd": { + "shots": 2, + "carry_accuracy": { + "avg_error_yd": 2.5, + "avg_off_yd": 2.5, + "typical_off_yd": 2.5, + "consistency_yd": 1.6, + "worst_off_yd": 4.1, + "within_pct_yd": { + "3": 50.0, + "5": 100.0, + "7": 100.0, + "10": 100.0, + "15": 100.0 + } + } + } + }, + "carry_accuracy": { + "avg_error_yd": -0.1, + "avg_off_yd": 1.8, + "typical_off_yd": 1.4, + "consistency_yd": 2.4, + "worst_off_yd": 11.3, + "within_pct_yd": { + "1": 37.1, + "2": 68.6, + "3": 84.0, + "5": 96.0, + "7": 98.9, + "10": 99.4, + "15": 100.0, + "20": 100.0 + } + }, + "total_accuracy": { + "avg_error_yd": 1.3, + "avg_off_yd": 10.2, + "typical_off_yd": 8.7, + "consistency_yd": 12.5, + "worst_off_yd": 29.5, + "within_pct_yd": { + "1": 6.9, + "2": 14.3, + "3": 21.1, + "5": 32.6, + "7": 41.7, + "10": 56.0, + "15": 74.3, + "20": 85.1 + } + }, + "apex_accuracy": { + "avg_error_ft": -1.0, + "avg_off_ft": 3.3, + "typical_off_ft": 2.7, + "consistency_ft": 4.8, + "worst_off_ft": 26.0, + "within_pct_ft": { + "1": 32.0, + "2": 41.1, + "3": 57.7, + "5": 77.1, + "7": 87.4, + "10": 97.7, + "13": 98.3, + "15": 98.9, + "20": 98.9, + "50": 100.0 + } + }, + "physics_only_priority_gates": { + "short_carry_lt_115yd": { + "shots": 87, + "carry_accuracy": { + "avg_error_yd": -0.8, + "avg_off_yd": 1.7, + "typical_off_yd": 1.5, + "consistency_yd": 2.1, + "worst_off_yd": 6.1, + "within_pct_yd": { + "0.5": 18.4, + "1": 34.5, + "2": 71.3, + "3": 83.9, + "5": 98.9 + } + } + }, + "carry_115_150yd": { + "shots": 49, + "carry_accuracy": { + "avg_error_yd": 0.2, + "avg_off_yd": 1.8, + "typical_off_yd": 1.7, + "consistency_yd": 2.2, + "worst_off_yd": 5.8, + "within_pct_yd": { + "1": 34.7, + "2": 65.3, + "3": 87.8, + "5": 93.9 + } + } + }, + "carry_150_180yd": { + "shots": 25, + "carry_accuracy": { + "avg_error_yd": 1.1, + "avg_off_yd": 2.2, + "typical_off_yd": 1.1, + "consistency_yd": 3.4, + "worst_off_yd": 11.3, + "within_pct_yd": { + "3": 76.0, + "5": 88.0, + "6": 92.0, + "7": 92.0, + "10": 96.0 + } + } + }, + "long_carry_gt_200yd": { + "shots": 2, + "carry_accuracy": { + "avg_error_yd": 2.5, + "avg_off_yd": 2.5, + "typical_off_yd": 2.5, + "consistency_yd": 1.6, + "worst_off_yd": 4.1, + "within_pct_yd": { + "3": 50.0, + "5": 100.0, + "7": 100.0, + "10": 100.0, + "15": 100.0 + } + } + } + }, + "objectives": { + "physics_only": { + "shots": 175, + "within_3yd_pct": 84.0, + "residual_outliers_gt_window_target": 65 + }, + "short_shot_priority": { + "shots": 87, + "goal_within_1yd_pct": 80.0, + "actual_within_1yd_pct": 34.5, + "actual_within_0.5yd_pct": 18.4, + "actual_within_3yd_pct": 83.9 + }, + "residual_regime_candidates": { + "count": 65, + "short_count": 57, + "by_window": { + "<115": 57, + "115-150": 6, + "150-180": 2, + "180-200": 0, + ">200": 0 + } + } + } +} diff --git a/assets/data/openfairway_critical_carry_20260316_1141.csv b/assets/data/openfairway_critical_carry_20260316_1141.csv new file mode 100644 index 0000000..ac6526a --- /dev/null +++ b/assets/data/openfairway_critical_carry_20260316_1141.csv @@ -0,0 +1,176 @@ +shot_name,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,launch_regime_key,carry_window,physics_carry_yd,flightscope_carry_yd,diff_carry_yd,physics_carry_raw_yd,diff_carry_raw_yd,physics_total_yd,flightscope_total_yd,diff_total_yd,rollout_physics_yd,rollout_flightscope_yd,diff_rollout_yd,physics_apex_ft,flightscope_apex_ft,diff_apex_ft,carry_exception_regime,carry_exception_offset_yd,carry_exception_source,carry_exception_applied,status +wood1,124.2,6.7,-8.1,4528,4.8,D-S4-V0-P2,150-180,176.8,165.5,11.3,176.8,11.3,177.2,181.9,-4.7,0.4,16.4,-16.0,35.4,32.8,2.6,,,,false,severe +s3_shot_driver_58,119.3,23.6,2.5,7093,3.3,I-S3-V2-P3,150-180,172.5,163.2,9.3,172.5,9.3,188.5,163.9,24.6,16.0,0.7,15.3,112.7,125.7,-13.0,,,,false,severe +bump_and_run,58.3,15.6,-0.8,1850,2.3,C-S0-V1-P0,<115,37.7,43.8,-6.1,37.7,-6.1,37.4,62.0,-24.6,-0.3,18.2,-18.5,8.6,10.1,-1.5,,,,false,severe +s5_shot_7i_27,103.3,14.1,-1.8,5085,13.7,I-S2-V1-P2,115-150,142.4,136.6,5.8,142.4,5.8,150.9,142.8,8.1,8.5,6.2,2.3,54.8,46.5,8.3,,,,false,moderate +s4_shot_3w_33,99.7,20.5,0.5,6997,1.6,I-S2-V2-P3,115-150,137.6,132.0,5.6,137.6,5.6,142.8,133.4,9.4,5.2,1.4,3.8,63.5,72.8,-9.3,,,,false,moderate +s5_shot_3w_37,100.9,23.6,6.4,7893,7.2,I-S2-V2-P4,115-150,136.4,131.0,5.4,136.4,5.4,143.8,131.7,12.1,7.4,0.7,6.7,77.9,87.5,-9.6,,,,false,severe +s5_shot_driver_43,133.2,5.8,-6.6,2130,-19.7,D-S4-V0-P0,150-180,159.3,154.2,5.1,159.3,5.1,216.9,192.0,24.9,57.6,37.8,19.8,20.4,18.4,2.0,,,,false,severe +s4_shot_5i_29,76.2,6.1,0.7,3695,-0.0,I-S1b-V0-P1,<115,51.2,46.2,5.0,51.2,5.0,86.2,73.3,12.9,35.0,27.1,7.9,5.1,4.3,0.8,,,,false,severe +s2_shot_21,127.3,7.2,-11.5,2321,-19.5,D-S4-V0-P0,150-180,159.8,154.9,4.9,159.8,4.9,214.2,186.5,27.7,54.4,31.6,22.8,24.8,23.1,1.7,,,,false,severe +s3_shot_6i_35,80.5,15.3,-1.3,4667,-0.0,I-S1b-V1-P2,<115,85.2,90.0,-4.8,85.2,-4.8,85.3,101.5,-16.2,0.1,11.5,-11.4,23.2,26.4,-3.2,,,,false,severe +s4_shot_5i_25,89.1,16.7,1.1,5262,6.2,I-S2-V1-P2,<115,106.0,110.8,-4.8,106.0,-4.8,106.9,116.1,-9.2,0.9,5.3,-4.4,33.9,40.1,-6.2,,,,false,moderate +s3_shot_6i_41,82.5,9.9,-2.3,2620,13.6,I-S1b-V0-P1,<115,66.6,71.3,-4.7,66.6,-4.7,110.8,97.9,12.9,44.2,26.6,17.6,10.3,11.3,-1.0,,,,false,severe +s3_shot_5i_15,86.9,9.3,-4.0,2509,-4.9,I-S2-V0-P1,<115,74.0,78.6,-4.6,74.0,-4.6,121.1,106.6,14.5,47.1,28.0,19.1,11.0,12.1,-1.1,,,,false,severe +s3_shot_7i_31,76.4,17.5,-0.5,5122,1.8,I-S1b-V1-P2,<115,80.7,85.0,-4.3,80.7,-4.3,80.7,94.5,-13.8,0.0,9.5,-9.5,24.4,28.4,-4.0,,,,false,severe +drive_test_shot,150.0,12.5,1.5,2335,-9.9,D-S4-V1-P0,>200,248.1,244.0,4.1,248.1,4.1,260.6,256.0,4.6,12.5,12.0,0.5,82.2,80.6,1.6,,,,false,moderate +s5_shot_6i_32,90.2,9.7,-1.3,4135,8.0,I-S2-V0-P2,<115,97.7,93.7,4.0,97.7,4.0,97.6,113.4,-15.8,-0.1,19.7,-19.8,19.6,17.2,2.4,,,,false,severe +s3_shot_6i_37,82.6,10.2,11.0,3041,25.4,I-S1b-V1-P1,<115,67.6,71.5,-3.9,67.6,-3.9,108.9,97.2,11.7,41.3,25.7,15.6,10.9,11.8,-0.9,,,,false,severe +s3_shot_6i_38,79.1,13.3,3.0,3187,11.6,I-S1b-V1-P1,<115,75.3,79.2,-3.9,75.3,-3.9,75.5,97.5,-22.0,0.2,18.3,-18.1,17.9,18.0,-0.1,,,,false,severe +s5_shot_3w_36,128.3,9.5,-2.9,2614,-6.8,D-S4-V0-P1,180-200,177.1,180.9,-3.8,177.1,-3.8,178.0,199.7,-21.7,0.9,18.8,-17.9,37.2,39.9,-2.7,,,,false,severe +s3_shot_driver_52,102.1,31.3,3.1,8442,6.3,W-S2-V3-P4,115-150,128.2,124.5,3.7,128.2,3.7,142.4,124.1,18.3,14.2,-0.4,14.6,112.7,119.3,-6.6,,,,false,severe +s5_shot_pw_4,68.6,29.1,3.8,6801,6.8,I-S1a-V3-P3,<115,73.1,76.8,-3.7,73.1,-3.7,86.2,77.8,8.4,13.1,1.0,12.1,43.2,46.6,-3.4,,,,false,moderate +s2_shot_9,94.4,20.1,2.4,4020,16.3,I-S2-V2-P2,115-150,122.9,126.5,-3.6,122.9,-3.6,134.8,132.5,2.3,11.9,6.0,5.9,60.6,54.8,5.8,,,,false,moderate +s2_shot_10,89.7,25.5,-3.1,6446,6.2,I-S2-V3-P3,115-150,118.5,115.1,3.4,118.5,3.4,126.6,116.4,10.2,8.1,1.3,6.8,66.0,72.0,-6.0,,,,false,severe +s3_shot_pw_64,69.6,28.6,0.2,5327,5.1,I-S1a-V3-P2,<115,83.5,80.1,3.4,83.5,3.4,88.7,82.4,6.3,5.2,2.3,2.9,47.0,46.4,0.6,,,,false,moderate +s4_shot_6i_22,76.9,7.7,14.4,3780,30.0,I-S1b-V0-P1,<115,54.2,50.8,3.4,54.2,3.4,88.3,78.8,9.5,34.1,28.0,6.1,6.7,6.0,0.7,,,,false,moderate +s2_shot_15,88.1,14.2,-0.3,4985,19.4,I-S2-V1-P2,<115,98.0,101.3,-3.3,98.0,-3.3,98.0,113.1,-15.1,0.0,11.8,-11.8,26.1,28.9,-2.8,,,,false,severe +s3_shot_driver_51,116.2,21.7,2.2,6409,3.2,I-S3-V2-P3,150-180,166.2,162.9,3.3,166.2,3.3,181.3,164.3,17.0,15.1,1.4,13.7,100.2,108.7,-8.5,,,,false,severe +s3_shot_driver_57,120.9,14.1,-5.2,1544,-8.0,D-S4-V1-P0,150-180,174.3,177.6,-3.3,174.3,-3.3,179.3,197.0,-17.7,5.0,19.4,-14.4,48.2,50.9,-2.7,,,,false,severe +s3_shot_6i_45,109.3,6.4,-9.0,2510,-10.9,I-S3-V0-P1,<115,112.6,109.6,3.0,112.6,3.0,165.8,145.4,20.4,53.2,35.8,17.4,13.4,12.9,0.5,,,,false,severe +s3_shot_6i_47,99.5,14.8,-2.9,4811,4.7,I-S2-V1-P2,115-150,134.2,131.2,3.0,134.2,3.0,141.8,137.7,4.1,7.6,6.5,1.1,52.9,45.0,7.9,,,,false,pass +s3_shot_7i_30,90.2,17.6,-3.8,4508,-0.2,I-S2-V1-P2,115-150,112.4,115.4,-3.0,112.4,-3.0,119.5,121.7,-2.2,7.1,6.3,0.8,46.2,43.1,3.1,,,,false,pass +s5_shot_9i_19,101.2,20.5,-2.4,4282,5.8,I-S2-V2-P2,115-150,139.6,142.6,-3.0,139.6,-3.0,155.2,147.2,8.0,15.6,4.6,11.0,78.3,69.2,9.1,,,,false,moderate +s5_shot_driver_49,123.5,18.7,3.8,5686,9.0,I-S4-V2-P3,180-200,183.1,180.1,3.0,183.1,3.0,204.7,182.6,22.1,21.6,2.5,19.1,130.1,104.1,26.0,,,,false,severe +s4_shot_6i_19,85.6,14.7,2.9,4623,10.9,I-S2-V1-P2,<115,96.0,98.9,-2.9,96.0,-2.9,96.8,110.8,-14.0,0.8,11.9,-11.1,27.7,28.6,-0.9,,,,false,severe +driver2,124.6,13.2,-6.8,3994,-6.1,D-S4-V1-P1,180-200,187.6,184.8,2.8,187.6,2.8,195.2,192.3,2.9,7.6,7.5,0.1,61.5,65.8,-4.3,,,,false,pass +s2_shot_14,87.1,22.4,-2.0,5660,11.4,I-S2-V2-P3,<115,108.1,110.9,-2.8,108.1,-2.8,112.2,113.7,-1.5,4.1,2.8,1.3,49.1,55.9,-6.8,,,,false,pass +s5_shot_pw_3,69.8,29.4,8.1,6334,8.1,I-S1a-V3-P3,<115,76.6,79.4,-2.8,76.6,-2.8,91.0,80.6,10.4,14.4,1.2,13.2,46.3,48.8,-2.5,,,,false,severe +s5_shot_7i_26,107.2,14.3,-2.9,4648,7.6,I-S3-V1-P2,115-150,150.1,147.4,2.7,150.1,2.7,160.6,153.9,6.7,10.5,6.5,4.0,61.5,51.9,9.6,,,,false,moderate +s3_shot_3w_22,108.9,5.6,-7.2,2501,-1.8,I-S3-V0-P1,<115,105.8,103.2,2.6,105.8,2.6,160.9,141.3,19.6,55.1,38.1,17.0,11.0,10.5,0.5,,,,false,severe +s3_shot_6i_43,94.1,13.9,-4.7,4616,1.7,I-S2-V1-P2,115-150,119.9,117.3,2.6,119.9,2.6,124.5,128.6,-4.1,4.6,11.3,-6.7,40.2,35.0,5.2,,,,false,pass +s4_shot_5i_28,86.0,15.9,-1.6,4179,1.0,I-S2-V1-P2,<115,100.5,103.1,-2.6,100.5,-2.6,104.6,114.6,-10.0,4.1,11.5,-7.4,35.4,32.2,3.2,,,,false,moderate +s4_shot_9i_14,87.1,22.1,0.3,5730,4.7,I-S2-V2-P3,<115,108.6,111.2,-2.6,108.6,-2.6,113.0,113.9,-0.9,4.4,2.7,1.7,48.7,55.8,-7.1,,,,false,pass +s5_shot_3w_41,126.6,7.9,-0.0,2418,5.9,D-S4-V0-P0,150-180,168.4,165.8,2.6,168.4,2.6,168.3,191.8,-23.5,-0.1,26.0,-26.1,29.3,28.8,0.5,,,,false,severe +s5_shot_9i_20,98.5,20.4,1.4,4377,10.4,I-S2-V2-P2,115-150,133.5,136.0,-2.5,133.5,-2.5,148.8,140.8,8.0,15.3,4.8,10.5,73.8,64.1,9.7,,,,false,moderate +s3_shot_9i_8,92.2,21.9,-6.3,5042,0.7,I-S2-V2-P2,115-150,120.5,122.9,-2.4,120.5,-2.4,129.4,126.4,3.0,8.9,3.5,5.4,60.3,62.6,-2.3,,,,false,pass +s5_shot_7i_29,110.0,12.9,-0.5,3297,9.0,D-S3-V1-P1,150-180,148.3,150.7,-2.4,148.3,-2.4,150.3,163.0,-12.7,2.0,12.3,-10.3,39.3,42.9,-3.6,,,,false,severe +s3_shot_3w_24,123.4,6.3,-5.4,2752,-13.3,D-S4-V0-P1,115-150,148.2,145.9,2.3,148.2,2.3,200.5,176.7,23.8,52.3,30.8,21.5,20.5,19.8,0.7,,,,false,severe +s3_shot_6i_48,101.7,15.2,-3.0,4631,4.3,I-S2-V1-P2,115-150,139.4,137.1,2.3,139.4,2.3,148.1,143.5,4.6,8.7,6.4,2.3,58.9,48.9,10.0,,,,false,pass +s3_shot_9i_7,83.0,22.5,5.3,7008,9.7,I-S1b-V2-P3,<115,103.4,101.1,2.3,103.4,2.3,105.5,102.6,2.9,2.1,1.5,0.6,47.9,51.5,-3.6,,,,false,pass +s2_shot_18,105.7,20.5,-1.7,5667,8.2,I-S3-V2-P3,115-150,144.6,146.8,-2.2,144.6,-2.2,154.6,149.4,5.2,10.0,2.6,7.4,76.1,80.4,-4.3,,,,false,moderate +s4_shot_pw_49,60.3,22.6,3.5,4044,5.0,I-S1a-V2-P2,<115,57.1,59.3,-2.2,57.1,-2.2,78.6,68.0,10.6,21.5,8.7,12.8,22.5,22.8,-0.3,,,,false,severe +5iron,102.1,17.4,1.5,5391,12.3,I-S2-V1-P2,115-150,140.2,138.1,2.1,140.2,2.1,148.3,142.2,6.1,8.1,4.1,4.0,61.3,59.6,1.7,,,,false,moderate +checked_test_shot,75.0,38.5,1.4,10701,5.7,W-S1b-V4-P4,<115,75.5,77.6,-2.1,75.5,-2.1,77.0,77.5,-0.5,1.5,-0.1,1.6,69.9,79.5,-9.6,,,,false,pass +s2_shot_19,128.6,12.5,-8.4,2514,5.1,D-S4-V1-P1,180-200,192.4,194.5,-2.1,192.4,-2.1,198.2,208.7,-10.5,5.8,14.2,-8.4,55.1,57.3,-2.2,,,,false,severe +s5_shot_6i_30,96.5,10.1,-3.5,1644,5.1,I-S2-V1-P0,<115,96.3,98.4,-2.1,96.3,-2.1,150.6,129.3,21.3,54.3,30.9,23.4,15.8,16.5,-0.7,,,,false,severe +s3_shot_7i_28,92.1,16.4,-3.6,4217,-0.4,I-S2-V1-P2,115-150,115.9,117.9,-2.0,115.9,-2.0,123.7,125.6,-1.9,7.8,7.7,0.1,46.2,40.6,5.6,,,,false,pass +s3_shot_driver_55,117.5,7.5,-8.3,2150,-27.2,D-S3-V0-P0,115-150,127.6,125.6,2.0,127.6,2.0,183.5,161.8,21.7,55.9,36.2,19.7,17.6,17.2,0.4,,,,false,severe +s3_shot_pw_69,74.1,23.6,0.2,5880,8.4,I-S1b-V2-P3,<115,84.0,86.0,-2.0,84.0,-2.0,85.7,88.8,-3.1,1.7,2.8,-1.1,37.7,41.2,-3.5,,,,false,pass +s5_shot_driver_47,137.2,7.1,-4.3,2596,-12.1,D-S4-V0-P1,180-200,188.5,186.5,2.0,188.5,2.0,188.8,211.8,-23.0,0.3,25.3,-25.0,33.9,32.0,1.9,,,,false,severe +s5_shot_lw_15,47.7,29.7,2.3,5999,-0.0,C-S0-V3-P3,<115,39.4,41.4,-2.0,39.4,-2.0,50.1,45.1,5.0,10.7,3.7,7.0,20.3,21.3,-1.0,,,,false,pass +s2_shot_26,117.0,18.4,-2.0,5035,9.7,I-S3-V2-P2,150-180,172.6,170.7,1.9,172.6,1.9,195.8,174.2,21.6,23.2,3.5,19.7,108.5,88.1,20.4,,,,false,severe +s3_shot_5i_11,90.6,14.4,-0.2,3360,7.8,I-S2-V1-P1,<115,106.9,108.8,-1.9,106.9,-1.9,108.2,124.1,-15.9,1.3,15.3,-14.0,28.9,29.8,-0.9,,,,false,severe +s3_shot_9i_2,71.3,23.9,5.5,4086,8.3,I-S1a-V2-P2,<115,80.2,82.1,-1.9,80.2,-1.9,85.5,87.4,-1.9,5.3,5.3,-0.0,36.9,36.8,0.1,,,,false,pass +s3_shot_9i_3,90.1,21.7,2.8,5243,11.2,I-S2-V2-P2,115-150,115.4,117.3,-1.9,115.4,-1.9,122.2,120.7,1.5,6.8,3.4,3.4,52.2,57.7,-5.5,,,,false,pass +s5_shot_driver_42,136.1,8.7,-3.0,2155,-0.6,D-S4-V0-P0,180-200,192.0,193.9,-1.9,192.0,-1.9,193.0,216.9,-23.9,1.0,23.0,-22.0,38.3,39.1,-0.8,,,,false,severe +s2_shot_13,95.2,19.6,-1.1,5610,12.2,I-S2-V2-P3,115-150,123.5,125.3,-1.8,123.5,-1.8,128.0,128.7,-0.7,4.5,3.4,1.1,51.3,58.4,-7.1,,,,false,pass +s3_shot_6i_36,78.9,10.4,16.1,4166,25.1,I-S1b-V1-P2,<115,69.6,67.8,1.8,69.6,1.8,101.8,89.1,12.7,32.2,21.3,10.9,12.3,11.8,0.5,,,,false,severe +s3_shot_6i_44,115.0,9.5,-6.7,2314,15.1,D-S3-V0-P0,115-150,140.5,142.3,-1.8,140.5,-1.8,140.2,168.2,-28.0,-0.3,25.9,-26.2,25.2,26.6,-1.4,,,,false,severe +s5_shot_driver_48,123.1,15.3,-4.2,4480,-6.8,D-S4-V1-P2,180-200,186.0,184.2,1.8,186.0,1.8,199.0,189.2,9.8,13.0,5.0,8.0,79.3,79.3,0.0,,,,false,moderate +s5_shot_pw_2,57.8,26.8,2.8,4564,2.1,C-S0-V3-P2,<115,59.7,57.9,1.8,59.7,1.8,78.8,61.9,16.9,19.1,4.0,15.1,28.4,27.4,1.0,,,,false,severe +s5_shot_pw_6,76.3,28.2,3.7,5434,9.1,I-S1b-V3-P2,<115,94.1,92.3,1.8,94.1,1.8,100.6,94.4,6.2,6.5,2.1,4.4,53.7,55.8,-2.1,,,,false,moderate +bump_test_shot,78.3,5.6,-0.8,1850,2.3,I-S1b-V0-P0,<115,37.3,39.0,-1.7,37.3,-1.7,87.2,74.0,13.2,49.9,35.0,14.9,3.0,3.1,-0.1,,,,false,severe +s2_shot_27,113.0,17.6,-2.3,4292,12.2,D-S3-V1-P2,150-180,162.8,164.5,-1.7,162.8,-1.7,177.9,169.6,8.3,15.1,5.1,10.0,75.7,73.6,2.1,,,,false,moderate +s3_shot_6i_50,82.8,14.8,-1.4,3783,2.8,I-S1b-V1-P1,<115,91.5,93.2,-1.7,91.5,-1.7,93.9,107.4,-13.5,2.4,14.2,-11.8,28.5,25.6,2.9,,,,false,severe +s3_shot_9i_9,90.1,22.1,-3.1,5351,1.2,I-S2-V2-P2,115-150,116.4,118.1,-1.7,116.4,-1.7,123.4,121.1,2.3,7.0,3.0,4.0,53.8,60.1,-6.3,,,,false,pass +s4_shot_3w_32,105.5,18.5,-1.4,5714,2.3,I-S3-V2-P3,115-150,144.3,146.0,-1.7,144.3,-1.7,154.5,148.8,5.7,10.2,2.8,7.4,66.8,71.9,-5.1,,,,false,moderate +s4_shot_5i_30,96.8,18.2,0.7,6358,17.5,I-S2-V2-P3,115-150,126.4,124.7,1.7,126.4,1.7,128.3,127.7,0.6,1.9,3.0,-1.1,47.6,55.5,-7.9,,,,false,pass +s3_shot_5i_17,56.5,10.0,24.1,5178,29.1,C-S0-V0-P2,<115,32.2,30.6,1.6,32.2,1.6,51.2,46.9,4.3,19.0,16.3,2.7,4.7,4.5,0.2,,,,false,pass +s3_shot_6i_49,71.2,7.7,16.1,2625,30.0,I-S1a-V0-P1,<115,38.3,39.9,-1.6,38.3,-1.6,78.6,70.3,8.3,40.3,30.4,9.9,4.3,4.5,-0.2,,,,false,moderate +s3_shot_driver_59,81.0,44.9,8.9,6735,12.4,W-S1b-V4-P3,<115,82.1,83.7,-1.6,82.1,-1.6,97.6,83.2,14.4,15.5,-0.5,16.0,103.6,107.8,-4.2,,,,false,severe +s3_shot_pw_66,75.7,27.3,-1.2,6605,4.0,I-S1b-V3-P3,<115,88.1,89.7,-1.6,88.1,-1.6,91.7,90.8,0.9,3.6,1.1,2.5,50.5,53.5,-3.0,,,,false,pass +s4_shot_9i_18,74.6,23.6,2.5,6418,6.1,I-S1b-V2-P3,<115,85.0,86.6,-1.6,85.0,-1.6,101.6,88.8,12.8,16.6,2.2,14.4,39.3,42.3,-3.0,,,,false,severe +s4_shot_9i_15,75.3,23.7,-1.3,6790,2.9,I-S1b-V2-P3,<115,86.2,87.7,-1.5,86.2,-1.5,101.9,89.3,12.6,15.7,1.6,14.1,40.7,43.9,-3.2,,,,false,severe +s4_shot_pw_3,62.8,31.1,6.6,6129,6.3,W-S1a-V3-P3,<115,65.8,67.3,-1.5,65.8,-1.5,79.9,68.6,11.3,14.1,1.3,12.8,40.7,41.8,-1.1,,,,false,severe +s5_shot_pw_11,76.6,21.2,2.9,5232,-5.5,I-S1b-V2-P2,<115,88.4,89.9,-1.5,88.4,-1.5,90.0,94.2,-4.2,1.6,4.3,-2.7,34.2,37.9,-3.7,,,,false,pass +wedge_shot_1,48.7,29.0,-1.3,5684,11.1,C-S0-V3-P3,<115,41.1,42.6,-1.5,41.1,-1.5,53.1,46.9,6.2,12.0,4.3,7.7,20.5,21.3,-0.8,,,,false,moderate +wedge_test_shot,66.4,23.2,-1.4,6449,7.1,I-S1a-V2-P3,<115,72.1,70.6,1.5,72.1,1.5,88.2,75.8,12.4,16.1,5.2,10.9,30.7,31.2,-0.5,,,,false,severe +s2_shot_20,120.9,15.0,-3.0,4245,9.6,D-S4-V1-P2,150-180,180.8,179.4,1.4,180.8,1.4,191.2,185.3,5.9,10.4,5.9,4.5,69.0,72.3,-3.3,,,,false,moderate +s3_shot_7i_25,83.3,13.2,3.0,3410,17.8,I-S1b-V1-P1,<115,85.5,86.9,-1.4,85.5,-1.4,85.8,104.8,-19.0,0.3,17.9,-17.6,20.6,20.1,0.5,,,,false,severe +s3_shot_7i_27,93.7,17.1,-1.4,4612,2.6,I-S2-V1-P2,115-150,120.9,122.3,-1.4,120.9,-1.4,128.2,128.3,-0.1,7.3,6.0,1.3,51.0,46.0,5.0,,,,false,pass +s4_shot_9i_17,79.4,14.9,16.4,4369,30.0,I-S1b-V1-P2,<115,79.5,80.9,-1.4,79.5,-1.4,79.6,95.6,-16.0,0.1,14.7,-14.6,20.8,21.4,-0.6,,,,false,severe +s5_shot_driver_45,128.9,5.1,-5.2,1635,2.9,D-S4-V0-P0,115-150,134.5,135.9,-1.4,134.5,-1.4,197.4,181.7,15.7,62.9,45.8,17.1,13.6,13.3,0.3,,,,false,severe +s5_shot_pw_9,86.4,24.1,0.2,5480,3.7,I-S2-V2-P2,<115,109.7,111.1,-1.4,109.7,-1.4,116.9,113.7,3.2,7.2,2.6,4.6,54.7,60.9,-6.2,,,,false,pass +s3_shot_pw_67,81.7,28.1,6.3,6510,12.7,I-S1b-V3-P3,<115,101.3,100.0,1.3,101.3,1.3,108.3,101.1,7.2,7.0,1.1,5.9,61.9,65.0,-3.1,,,,false,moderate +s4_shot_5i_26,106.3,15.5,-3.6,4114,3.4,I-S3-V1-P2,115-150,147.4,148.7,-1.3,147.4,-1.3,155.9,155.9,0.0,8.5,7.2,1.3,54.8,54.5,0.3,,,,false,pass +s4_shot_pw_1,69.8,20.1,-0.6,3577,8.0,I-S1a-V2-P1,<115,73.5,74.8,-1.3,73.5,-1.3,76.8,83.7,-6.9,3.3,8.9,-5.6,28.8,26.2,2.6,,,,false,moderate +s4_shot_pw_6,68.7,26.1,1.1,4149,8.2,I-S1a-V3-P2,<115,77.1,78.4,-1.3,77.1,-1.3,83.0,83.1,-0.1,5.9,4.7,1.2,38.4,38.6,-0.2,,,,false,pass +s5_shot_6i_34,111.1,9.3,-8.6,2637,-2.9,D-S3-V0-P1,115-150,135.4,136.7,-1.3,135.4,-1.3,135.0,161.3,-26.3,-0.4,24.6,-25.0,24.2,25.6,-1.4,,,,false,severe +wood_low_test_shot,114.5,7.0,-0.6,1932,-1.4,D-S3-V0-P0,115-150,123.9,122.6,1.3,123.9,1.3,180.9,158.9,22.0,57.0,36.3,20.7,16.0,15.7,0.3,,,,false,severe +driver4,119.0,15.5,-10.2,4454,-7.8,D-S3-V1-P2,150-180,176.8,175.6,1.2,176.8,1.2,189.4,180.9,8.5,12.6,5.3,7.3,75.1,73.8,1.3,,,,false,moderate +p_wedge_shot_1,82.3,26.5,-3.1,4946,6.7,I-S1b-V3-P2,<115,105.7,104.5,1.2,105.7,1.2,116.1,107.3,8.8,10.4,2.8,7.6,58.3,60.5,-2.2,,,,false,moderate +s2_shot_12,90.8,24.5,-3.9,7261,4.9,I-S2-V2-P3,115-150,116.6,115.4,1.2,116.6,1.2,122.4,116.4,6.0,5.8,1.0,4.8,65.1,71.5,-6.4,,,,false,moderate +s3_shot_5i_13,75.0,8.0,2.5,3921,3.4,I-S1b-V0-P1,<115,55.1,53.9,1.2,55.1,1.2,87.6,78.9,8.7,32.5,25.0,7.5,7.2,6.8,0.4,,,,false,moderate +s5_shot_3w_35,107.0,10.7,9.5,3700,15.5,I-S3-V1-P1,115-150,133.3,134.5,-1.2,133.3,-1.2,133.2,151.6,-18.4,-0.1,17.1,-17.2,28.1,31.0,-2.9,,,,false,severe +s2_shot_11,78.5,29.6,4.3,7350,10.7,I-S1b-V3-P3,<115,91.9,93.0,-1.1,91.9,-1.1,96.4,93.6,2.8,4.5,0.6,3.9,60.4,64.0,-3.6,,,,false,pass +s4_shot_lw_38,47.6,37.8,6.1,5609,5.6,C-S0-V4-P3,<115,41.3,42.4,-1.1,41.3,-1.1,52.4,43.4,9.0,11.1,1.0,10.1,29.4,30.5,-1.1,,,,false,moderate +s4_shot_pw_10,76.3,26.8,0.7,5989,4.9,I-S1b-V3-P3,<115,90.4,91.5,-1.1,90.4,-1.1,95.1,93.2,1.9,4.7,1.7,3.0,49.4,52.8,-3.4,,,,false,pass +s4_shot_pw_11,76.3,27.4,-0.6,6296,5.2,I-S1b-V3-P3,<115,90.0,91.1,-1.1,90.0,-1.1,94.0,92.5,1.5,4.0,1.4,2.6,51.2,54.2,-3.0,,,,false,pass +s5_shot_3w_40,116.2,14.1,0.8,3909,0.4,D-S3-V1-P1,150-180,168.3,169.4,-1.1,168.3,-1.1,174.2,177.1,-2.9,5.9,7.7,-1.8,54.6,60.2,-5.6,,,,false,pass +wedge_test_shot2,54.7,26.8,1.6,4976,5.7,C-S0-V3-P2,<115,53.3,52.2,1.1,53.3,1.1,70.1,57.7,12.4,16.8,5.5,11.3,25.2,24.4,0.8,,,,false,severe +s2_shot_17,122.9,14.4,-1.3,4119,6.7,D-S4-V1-P2,180-200,185.0,184.0,1.0,185.0,1.0,195.0,190.3,4.7,10.0,6.3,3.7,66.6,71.8,-5.2,,,,false,pass +s3_shot_6i_42,77.2,13.1,-3.4,4057,4.1,I-S1b-V1-P2,<115,75.6,76.6,-1.0,75.6,-1.0,75.5,92.9,-17.4,-0.1,16.3,-16.4,18.1,17.5,0.6,,,,false,severe +s3_shot_6i_46,116.3,13.7,0.3,3008,10.7,D-S3-V1-P1,150-180,166.3,167.3,-1.0,166.3,-1.0,170.8,179.3,-8.5,4.5,12.0,-7.5,48.6,51.6,-3.0,,,,false,moderate +s3_shot_pw_65,81.2,28.4,2.9,6959,9.4,I-S1b-V3-P3,<115,99.5,98.5,1.0,99.5,1.0,105.6,99.4,6.2,6.1,0.9,5.2,62.7,65.6,-2.9,,,,false,moderate +s4_shot_5i_27,84.9,7.0,5.7,2263,30.0,I-S1b-V0-P0,<115,54.3,55.3,-1.0,54.3,-1.0,104.1,92.1,12.0,49.8,36.8,13.0,5.7,5.8,-0.1,,,,false,severe +s5_shot_8i_24,106.7,18.2,0.2,5797,8.8,I-S3-V2-P3,115-150,146.5,147.5,-1.0,146.5,-1.0,154.9,150.4,4.5,8.4,2.9,5.5,66.8,72.1,-5.3,,,,false,pass +s5_shot_driver_44,124.0,12.7,1.3,3765,2.2,D-S4-V1-P1,180-200,185.7,184.7,1.0,185.7,1.0,191.8,193.3,-1.5,6.1,8.6,-2.5,57.2,61.9,-4.7,,,,false,pass +driver3,119.1,16.0,-8.9,4935,-9.4,D-S3-V1-P2,150-180,175.0,174.1,0.9,175.0,0.9,195.3,178.5,16.8,20.3,4.4,15.9,93.2,78.5,14.7,,,,false,severe +s3_shot_6i_40,62.1,6.8,27.0,2768,30.0,I-S1a-V0-P1,<115,25.3,26.2,-0.9,25.3,-0.9,59.6,51.1,8.5,34.3,24.9,9.4,2.6,2.5,0.1,,,,false,moderate +s3_shot_driver_56,118.7,17.1,-1.8,4554,2.8,D-S3-V1-P2,150-180,175.7,176.6,-0.9,175.7,-0.9,192.5,180.9,11.6,16.8,4.3,12.5,88.8,83.2,5.6,,,,false,severe +s4_shot_6i_20,78.8,9.7,-0.7,4289,-0.0,I-S1b-V0-P2,<115,68.5,69.4,-0.9,68.5,-0.9,100.3,89.6,10.7,31.8,20.2,11.6,11.2,11.5,-0.3,,,,false,severe +s4_shot_6i_21,91.9,17.8,0.7,5967,11.5,I-S2-V1-P3,115-150,117.3,116.4,0.9,117.3,0.9,118.6,120.1,-1.5,1.3,3.7,-2.4,40.8,47.6,-6.8,,,,false,pass +s5_shot_driver_46,134.8,10.7,-2.4,3350,-6.5,D-S4-V1-P1,>200,205.0,204.1,0.9,205.0,0.9,210.5,215.2,-4.7,5.5,11.1,-5.6,56.8,59.2,-2.4,,,,false,pass +s5_shot_lw_16,52.6,37.2,5.6,5241,7.6,C-S0-V4-P2,<115,49.7,50.6,-0.9,49.7,-0.9,63.1,51.8,11.3,13.4,1.2,12.2,36.1,36.6,-0.5,,,,false,severe +s5_shot_lw_18,52.3,36.2,0.1,5374,13.2,C-S0-V4-P2,<115,49.1,50.0,-0.9,49.1,-0.9,60.3,51.3,9.0,11.2,1.3,9.9,34.1,34.7,-0.6,,,,false,moderate +s2_shot_23,125.5,8.6,-14.3,3062,-23.9,D-S4-V0-P1,150-180,161.1,161.9,-0.8,161.1,-0.8,161.1,185.0,-23.9,0.0,23.1,-23.1,29.8,31.0,-1.2,,,,false,severe +s3_shot_7i_26,73.4,10.8,15.4,3561,30.0,I-S1b-V1-P1,<115,57.4,56.6,0.8,57.4,0.8,56.3,79.3,-23.0,-1.1,22.7,-23.8,10.4,9.6,0.8,,,,false,severe +s5_shot_pw_5,77.4,28.9,4.5,6294,7.3,I-S1b-V3-P3,<115,92.2,93.0,-0.8,92.2,-0.8,98.4,94.2,4.2,6.2,1.2,5.0,57.0,60.1,-3.1,,,,false,pass +s3_shot_7i_32,93.1,17.0,-1.0,3762,4.2,I-S2-V1-P1,115-150,120.5,121.2,-0.7,120.5,-0.7,128.7,129.8,-1.1,8.2,8.6,-0.4,45.7,42.5,3.2,,,,false,pass +s4_shot_3w_34,114.6,15.3,2.4,3502,12.8,D-S3-V1-P1,150-180,165.9,166.6,-0.7,165.9,-0.7,173.4,175.4,-2.0,7.5,8.8,-1.3,56.4,60.3,-3.9,,,,false,pass +s4_shot_pw_48,46.5,25.5,3.8,4318,0.6,C-S0-V3-P2,<115,37.2,37.9,-0.7,37.2,-0.7,52.9,44.5,8.4,15.7,6.6,9.1,15.6,15.6,0.0,,,,false,moderate +topped_test_shot,91.8,5.0,-0.9,2195,16.2,I-S2-V0-P0,<115,55.5,56.2,-0.7,55.5,-0.7,109.1,95.3,13.8,53.6,39.1,14.5,4.2,4.3,-0.1,,,,false,severe +s2_shot_22,123.3,14.0,-6.1,3104,10.0,D-S4-V1-P1,180-200,186.0,185.4,0.6,186.0,0.6,193.1,195.5,-2.4,7.1,10.1,-3.0,60.3,63.0,-2.7,,,,false,pass +s3_shot_3w_19,121.3,5.6,-4.8,1662,-11.9,D-S4-V0-P0,115-150,120.0,120.6,-0.6,120.0,-0.6,181.8,165.8,16.0,61.8,45.2,16.6,12.3,12.2,0.1,,,,false,severe +s3_shot_3w_21,119.4,5.3,-3.4,1760,-10.5,D-S3-V0-P0,<115,115.2,114.6,0.6,115.2,0.6,176.4,160.5,15.9,61.2,45.9,15.3,11.2,10.9,0.3,,,,false,severe +s3_shot_driver_60,107.4,11.7,-8.6,3269,-14.8,I-S3-V1-P1,115-150,137.9,138.5,-0.6,137.9,-0.6,138.4,153.8,-15.4,0.5,15.3,-14.8,31.5,34.0,-2.5,,,,false,severe +s4_shot_pw_47,46.7,24.6,2.3,3699,-0.0,C-S0-V2-P1,<115,36.8,37.4,-0.6,36.8,-0.6,54.7,45.2,9.5,17.9,7.8,10.1,14.6,14.6,0.0,,,,false,moderate +s5_shot_lw_17,55.4,37.4,7.3,5903,9.9,C-S0-V4-P3,<115,55.1,54.5,0.6,55.1,0.6,66.3,55.4,10.9,11.2,0.9,10.3,41.2,41.0,0.2,,,,false,severe +approach_mid_iron_test_shot,93.9,22.9,-2.6,5375,2.0,I-S2-V2-P2,115-150,125.3,125.8,-0.5,125.3,-0.5,135.9,128.5,7.4,10.6,2.7,7.9,64.1,69.3,-5.2,,,,false,moderate +s2_shot_16,94.1,19.1,-5.9,5291,5.0,I-S2-V2-P2,115-150,123.8,124.3,-0.5,123.8,-0.5,129.9,128.1,1.8,6.1,3.8,2.3,51.5,55.3,-3.8,,,,false,pass +s2_shot_24,121.5,14.5,-11.2,3173,-6.8,D-S4-V1-P1,180-200,183.5,183.0,0.5,183.5,0.5,191.3,192.8,-1.5,7.8,9.8,-2.0,61.6,64.6,-3.0,,,,false,pass +s3_shot_7i_33,92.4,17.0,-0.6,3852,2.8,I-S2-V1-P1,115-150,119.2,119.7,-0.5,119.2,-0.5,127.6,128.0,-0.4,8.4,8.3,0.1,46.7,42.0,4.7,,,,false,pass +s3_shot_driver_54,121.5,12.9,-5.3,3411,-10.0,D-S4-V1-P1,150-180,178.7,178.2,0.5,178.7,0.5,183.8,188.7,-4.9,5.1,10.5,-5.4,53.0,56.5,-3.5,,,,false,pass +s4_shot_pw_7,76.8,25.2,3.7,6565,8.2,I-S1b-V3-P3,<115,90.6,91.1,-0.5,90.6,-0.5,93.3,92.6,0.7,2.7,1.5,1.2,46.6,49.5,-2.9,,,,false,pass +s5_shot_3w_39,129.9,11.9,-1.8,2965,-0.8,D-S4-V1-P1,180-200,196.6,197.1,-0.5,196.6,-0.5,202.1,208.9,-6.8,5.5,11.8,-6.3,56.6,59.4,-2.8,,,,false,moderate +s5_shot_7i_28,98.5,15.2,-3.4,3447,6.4,I-S2-V1-P1,115-150,129.3,129.8,-0.5,129.3,-0.5,132.5,140.3,-7.8,3.2,10.5,-7.3,38.7,40.9,-2.2,,,,false,moderate +s5_shot_8i_23,109.7,18.2,-0.0,3711,5.2,I-S3-V2-P1,150-180,160.4,160.9,-0.5,160.4,-0.5,170.2,167.2,3.0,9.8,6.3,3.5,66.5,70.2,-3.7,,,,false,pass +s5_shot_8i_25,97.0,18.5,-2.0,4809,4.3,I-S2-V2-P2,115-150,131.3,130.8,0.5,131.3,0.5,140.7,135.6,5.1,9.4,4.8,4.6,63.4,56.2,7.2,,,,false,moderate +s5_shot_pw_1,48.4,29.0,5.6,4593,2.5,C-S0-V3-P2,<115,42.1,42.6,-0.5,42.1,-0.5,57.3,47.8,9.5,15.2,5.2,10.0,21.0,21.0,0.0,,,,false,moderate +s4_shot_pw_2,53.2,25.0,0.2,4085,3.0,C-S0-V2-P2,<115,48.9,48.5,0.4,48.9,0.4,68.2,56.0,12.2,19.3,7.5,11.8,20.6,20.2,0.4,,,,false,severe +s5_shot_3w_38,130.1,7.9,-0.6,1997,1.8,D-S4-V0-P0,150-180,170.6,171.0,-0.4,170.6,-0.4,170.5,200.0,-29.5,-0.1,29.0,-29.1,28.9,28.9,0.0,,,,false,severe +s5_shot_6i_33,105.7,11.7,-1.4,3776,11.0,I-S3-V1-P1,115-150,136.3,136.7,-0.4,136.3,-0.4,136.8,151.9,-15.1,0.5,15.2,-14.7,32.3,35.0,-2.7,,,,false,severe +s5_shot_8i_22,100.8,15.6,-5.5,3498,3.5,I-S2-V1-P1,115-150,136.9,136.5,0.4,136.9,0.4,141.4,146.4,-5.0,4.5,9.9,-5.4,43.1,45.5,-2.4,,,,false,pass +wedge_shot_2,51.8,37.0,2.4,5652,9.1,C-S0-V4-P3,<115,48.7,49.1,-0.4,48.7,-0.4,61.2,50.1,11.1,12.5,1.0,11.5,34.9,35.3,-0.4,,,,false,severe +wood2,118.8,14.5,-3.3,3026,11.2,D-S3-V1-P1,150-180,175.2,175.6,-0.4,175.2,-0.4,181.3,186.1,-4.8,6.1,10.5,-4.4,56.0,59.3,-3.3,,,,false,pass +driver1,124.0,9.4,-9.5,2322,-24.8,D-S4-V0-P0,150-180,157.7,158.0,-0.3,157.7,-0.3,157.7,184.0,-26.3,0.0,26.0,-26.0,29.4,30.2,-0.8,,,,false,severe +s3_shot_5i_12,74.2,10.2,-1.7,3321,15.8,I-S1b-V1-P1,<115,58.7,58.4,0.3,58.7,0.3,57.5,81.9,-24.4,-1.2,23.5,-24.7,10.2,9.4,0.8,,,,false,severe +s3_shot_7i_34,104.2,14.7,-4.6,4081,1.9,I-S2-V1-P2,115-150,142.8,142.5,0.3,142.8,0.3,150.6,150.6,0.0,7.8,8.1,-0.3,49.4,48.2,1.2,,,,false,pass +s3_shot_9i_5,84.0,19.4,3.8,5352,11.5,I-S1b-V2-P2,<115,103.0,102.7,0.3,103.0,0.3,104.9,107.2,-2.3,1.9,4.5,-2.6,37.4,41.8,-4.4,,,,false,pass +s5_shot_6i_31,97.9,9.4,-3.7,3752,4.5,I-S2-V0-P1,<115,109.6,109.9,-0.3,109.6,-0.3,108.6,130.4,-21.8,-1.0,20.5,-21.5,19.7,20.5,-0.8,,,,false,severe +s5_shot_pw_7,79.7,28.1,4.4,5840,9.1,I-S1b-V3-P3,<115,97.6,97.9,-0.3,97.6,-0.3,105.3,99.5,5.8,7.7,1.6,6.1,57.6,61.5,-3.9,,,,false,moderate +flop_test_shot,68.0,45.0,0.5,12000,0.8,W-S1a-V4-P4,<115,61.6,61.8,-0.2,61.6,-0.2,61.9,60.3,1.6,0.3,-1.5,1.8,68.3,76.8,-8.5,,,,false,pass +s3_shot_6i_39,61.0,6.1,10.3,3285,22.0,I-S1a-V0-P1,<115,23.8,24.0,-0.2,23.8,-0.2,54.4,47.3,7.1,30.6,23.3,7.3,2.1,2.1,0.0,,,,false,moderate +s3_shot_9i_1,89.0,15.1,-0.5,3563,11.3,I-S2-V1-P1,<115,106.5,106.7,-0.2,106.5,-0.2,109.3,120.8,-11.5,2.8,14.1,-11.3,32.2,30.8,1.4,,,,false,severe +s4_shot_3w_35,117.9,14.4,3.6,3735,13.3,D-S3-V1-P1,150-180,171.7,171.9,-0.2,171.7,-0.2,177.5,180.2,-2.7,5.8,8.3,-2.5,56.4,61.1,-4.7,,,,false,pass +s5_shot_9i_21,90.1,20.7,0.6,6342,5.1,I-S2-V2-P3,115-150,115.1,115.3,-0.2,115.1,-0.2,118.1,117.5,0.6,3.0,2.2,0.8,48.9,56.5,-7.6,,,,false,pass +s3_shot_3w_23,115.8,8.9,-0.8,2804,2.2,D-S3-V0-P1,115-150,147.8,147.7,0.1,147.8,0.1,147.6,170.9,-23.3,-0.2,23.2,-23.4,26.7,28.0,-1.3,,,,false,severe +s3_shot_5i_10,88.0,14.2,1.2,4065,8.4,I-S2-V1-P2,<115,103.0,103.1,-0.1,103.0,-0.1,106.1,116.7,-10.6,3.1,13.6,-10.5,32.4,28.4,4.0,,,,false,severe +s3_shot_7i_29,107.6,13.8,-6.0,3633,4.7,I-S3-V1-P1,115-150,148.5,148.4,0.1,148.5,0.1,151.7,158.3,-6.6,3.2,9.9,-6.7,42.7,46.3,-3.6,,,,false,moderate +s3_shot_driver_53,97.2,30.6,2.2,8926,6.0,W-S2-V3-P4,115-150,117.7,117.6,0.1,117.7,0.1,127.4,117.1,10.3,9.7,-0.5,10.2,97.4,105.8,-8.4,,,,false,severe +s3_shot_pw_68,88.5,23.4,-0.1,6637,6.0,I-S2-V2-P3,<115,112.8,112.7,0.1,112.8,0.1,117.4,114.1,3.3,4.6,1.4,3.2,56.2,63.4,-7.2,,,,false,pass +s4_shot_3w_31,106.9,15.7,-2.4,3662,8.9,I-S3-V1-P1,150-180,150.2,150.3,-0.1,150.2,-0.1,155.2,158.8,-3.6,5.0,8.5,-3.5,50.1,53.7,-3.6,,,,false,pass +s5_shot_pw_8,76.4,28.2,1.6,5024,4.7,I-S1b-V3-P2,<115,93.5,93.4,0.1,93.5,0.1,101.1,95.9,5.2,7.6,2.5,5.1,53.7,55.9,-2.2,,,,false,moderate +s3_shot_5i_16,98.0,9.1,-2.1,3776,1.7,I-S2-V0-P1,<115,109.1,109.1,0.0,109.1,0.0,108.0,130.0,-22.0,-1.1,20.9,-22.0,19.2,19.7,-0.5,,,,false,severe +s5_shot_pw_10,83.6,25.2,1.4,5520,9.9,I-S1b-V3-P3,<115,105.5,105.5,0.0,105.5,0.0,111.5,107.9,3.6,6.0,2.4,3.6,54.4,59.2,-4.8,,,,false,pass diff --git a/assets/data/openfairway_critical_overall_20260316_1141.csv b/assets/data/openfairway_critical_overall_20260316_1141.csv new file mode 100644 index 0000000..beecbea --- /dev/null +++ b/assets/data/openfairway_critical_overall_20260316_1141.csv @@ -0,0 +1,176 @@ +shot_name,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,launch_regime_key,carry_window,physics_carry_yd,flightscope_carry_yd,diff_carry_yd,physics_carry_raw_yd,diff_carry_raw_yd,physics_total_yd,flightscope_total_yd,diff_total_yd,rollout_physics_yd,rollout_flightscope_yd,diff_rollout_yd,physics_apex_ft,flightscope_apex_ft,diff_apex_ft,carry_exception_regime,carry_exception_offset_yd,carry_exception_source,carry_exception_applied,status +s5_shot_3w_38,130.1,7.9,-0.6,1997,1.8,D-S4-V0-P0,150-180,170.6,171.0,-0.4,170.6,-0.4,170.5,200.0,-29.5,-0.1,29.0,-29.1,28.9,28.9,0.0,,,,false,severe +s3_shot_6i_44,115.0,9.5,-6.7,2314,15.1,D-S3-V0-P0,115-150,140.5,142.3,-1.8,140.5,-1.8,140.2,168.2,-28.0,-0.3,25.9,-26.2,25.2,26.6,-1.4,,,,false,severe +s2_shot_21,127.3,7.2,-11.5,2321,-19.5,D-S4-V0-P0,150-180,159.8,154.9,4.9,159.8,4.9,214.2,186.5,27.7,54.4,31.6,22.8,24.8,23.1,1.7,,,,false,severe +driver1,124.0,9.4,-9.5,2322,-24.8,D-S4-V0-P0,150-180,157.7,158.0,-0.3,157.7,-0.3,157.7,184.0,-26.3,0.0,26.0,-26.0,29.4,30.2,-0.8,,,,false,severe +s5_shot_6i_34,111.1,9.3,-8.6,2637,-2.9,D-S3-V0-P1,115-150,135.4,136.7,-1.3,135.4,-1.3,135.0,161.3,-26.3,-0.4,24.6,-25.0,24.2,25.6,-1.4,,,,false,severe +s5_shot_driver_43,133.2,5.8,-6.6,2130,-19.7,D-S4-V0-P0,150-180,159.3,154.2,5.1,159.3,5.1,216.9,192.0,24.9,57.6,37.8,19.8,20.4,18.4,2.0,,,,false,severe +bump_and_run,58.3,15.6,-0.8,1850,2.3,C-S0-V1-P0,<115,37.7,43.8,-6.1,37.7,-6.1,37.4,62.0,-24.6,-0.3,18.2,-18.5,8.6,10.1,-1.5,,,,false,severe +s3_shot_driver_58,119.3,23.6,2.5,7093,3.3,I-S3-V2-P3,150-180,172.5,163.2,9.3,172.5,9.3,188.5,163.9,24.6,16.0,0.7,15.3,112.7,125.7,-13.0,,,,false,severe +s3_shot_5i_12,74.2,10.2,-1.7,3321,15.8,I-S1b-V1-P1,<115,58.7,58.4,0.3,58.7,0.3,57.5,81.9,-24.4,-1.2,23.5,-24.7,10.2,9.4,0.8,,,,false,severe +s2_shot_23,125.5,8.6,-14.3,3062,-23.9,D-S4-V0-P1,150-180,161.1,161.9,-0.8,161.1,-0.8,161.1,185.0,-23.9,0.0,23.1,-23.1,29.8,31.0,-1.2,,,,false,severe +s5_shot_driver_42,136.1,8.7,-3.0,2155,-0.6,D-S4-V0-P0,180-200,192.0,193.9,-1.9,192.0,-1.9,193.0,216.9,-23.9,1.0,23.0,-22.0,38.3,39.1,-0.8,,,,false,severe +s3_shot_3w_24,123.4,6.3,-5.4,2752,-13.3,D-S4-V0-P1,115-150,148.2,145.9,2.3,148.2,2.3,200.5,176.7,23.8,52.3,30.8,21.5,20.5,19.8,0.7,,,,false,severe +s5_shot_3w_41,126.6,7.9,-0.0,2418,5.9,D-S4-V0-P0,150-180,168.4,165.8,2.6,168.4,2.6,168.3,191.8,-23.5,-0.1,26.0,-26.1,29.3,28.8,0.5,,,,false,severe +s3_shot_3w_23,115.8,8.9,-0.8,2804,2.2,D-S3-V0-P1,115-150,147.8,147.7,0.1,147.8,0.1,147.6,170.9,-23.3,-0.2,23.2,-23.4,26.7,28.0,-1.3,,,,false,severe +s3_shot_7i_26,73.4,10.8,15.4,3561,30.0,I-S1b-V1-P1,<115,57.4,56.6,0.8,57.4,0.8,56.3,79.3,-23.0,-1.1,22.7,-23.8,10.4,9.6,0.8,,,,false,severe +s5_shot_driver_47,137.2,7.1,-4.3,2596,-12.1,D-S4-V0-P1,180-200,188.5,186.5,2.0,188.5,2.0,188.8,211.8,-23.0,0.3,25.3,-25.0,33.9,32.0,1.9,,,,false,severe +s5_shot_driver_49,123.5,18.7,3.8,5686,9.0,I-S4-V2-P3,180-200,183.1,180.1,3.0,183.1,3.0,204.7,182.6,22.1,21.6,2.5,19.1,130.1,104.1,26.0,,,,false,severe +s3_shot_5i_16,98.0,9.1,-2.1,3776,1.7,I-S2-V0-P1,<115,109.1,109.1,0.0,109.1,0.0,108.0,130.0,-22.0,-1.1,20.9,-22.0,19.2,19.7,-0.5,,,,false,severe +s3_shot_6i_38,79.1,13.3,3.0,3187,11.6,I-S1b-V1-P1,<115,75.3,79.2,-3.9,75.3,-3.9,75.5,97.5,-22.0,0.2,18.3,-18.1,17.9,18.0,-0.1,,,,false,severe +wood_low_test_shot,114.5,7.0,-0.6,1932,-1.4,D-S3-V0-P0,115-150,123.9,122.6,1.3,123.9,1.3,180.9,158.9,22.0,57.0,36.3,20.7,16.0,15.7,0.3,,,,false,severe +s5_shot_6i_31,97.9,9.4,-3.7,3752,4.5,I-S2-V0-P1,<115,109.6,109.9,-0.3,109.6,-0.3,108.6,130.4,-21.8,-1.0,20.5,-21.5,19.7,20.5,-0.8,,,,false,severe +s3_shot_driver_55,117.5,7.5,-8.3,2150,-27.2,D-S3-V0-P0,115-150,127.6,125.6,2.0,127.6,2.0,183.5,161.8,21.7,55.9,36.2,19.7,17.6,17.2,0.4,,,,false,severe +s5_shot_3w_36,128.3,9.5,-2.9,2614,-6.8,D-S4-V0-P1,180-200,177.1,180.9,-3.8,177.1,-3.8,178.0,199.7,-21.7,0.9,18.8,-17.9,37.2,39.9,-2.7,,,,false,severe +s2_shot_26,117.0,18.4,-2.0,5035,9.7,I-S3-V2-P2,150-180,172.6,170.7,1.9,172.6,1.9,195.8,174.2,21.6,23.2,3.5,19.7,108.5,88.1,20.4,,,,false,severe +s5_shot_6i_30,96.5,10.1,-3.5,1644,5.1,I-S2-V1-P0,<115,96.3,98.4,-2.1,96.3,-2.1,150.6,129.3,21.3,54.3,30.9,23.4,15.8,16.5,-0.7,,,,false,severe +s3_shot_6i_45,109.3,6.4,-9.0,2510,-10.9,I-S3-V0-P1,<115,112.6,109.6,3.0,112.6,3.0,165.8,145.4,20.4,53.2,35.8,17.4,13.4,12.9,0.5,,,,false,severe +s3_shot_3w_22,108.9,5.6,-7.2,2501,-1.8,I-S3-V0-P1,<115,105.8,103.2,2.6,105.8,2.6,160.9,141.3,19.6,55.1,38.1,17.0,11.0,10.5,0.5,,,,false,severe +s3_shot_7i_25,83.3,13.2,3.0,3410,17.8,I-S1b-V1-P1,<115,85.5,86.9,-1.4,85.5,-1.4,85.8,104.8,-19.0,0.3,17.9,-17.6,20.6,20.1,0.5,,,,false,severe +s5_shot_3w_35,107.0,10.7,9.5,3700,15.5,I-S3-V1-P1,115-150,133.3,134.5,-1.2,133.3,-1.2,133.2,151.6,-18.4,-0.1,17.1,-17.2,28.1,31.0,-2.9,,,,false,severe +s3_shot_driver_52,102.1,31.3,3.1,8442,6.3,W-S2-V3-P4,115-150,128.2,124.5,3.7,128.2,3.7,142.4,124.1,18.3,14.2,-0.4,14.6,112.7,119.3,-6.6,,,,false,severe +s3_shot_driver_57,120.9,14.1,-5.2,1544,-8.0,D-S4-V1-P0,150-180,174.3,177.6,-3.3,174.3,-3.3,179.3,197.0,-17.7,5.0,19.4,-14.4,48.2,50.9,-2.7,,,,false,severe +s3_shot_6i_42,77.2,13.1,-3.4,4057,4.1,I-S1b-V1-P2,<115,75.6,76.6,-1.0,75.6,-1.0,75.5,92.9,-17.4,-0.1,16.3,-16.4,18.1,17.5,0.6,,,,false,severe +s3_shot_driver_51,116.2,21.7,2.2,6409,3.2,I-S3-V2-P3,150-180,166.2,162.9,3.3,166.2,3.3,181.3,164.3,17.0,15.1,1.4,13.7,100.2,108.7,-8.5,,,,false,severe +s5_shot_pw_2,57.8,26.8,2.8,4564,2.1,C-S0-V3-P2,<115,59.7,57.9,1.8,59.7,1.8,78.8,61.9,16.9,19.1,4.0,15.1,28.4,27.4,1.0,,,,false,severe +driver3,119.1,16.0,-8.9,4935,-9.4,D-S3-V1-P2,150-180,175.0,174.1,0.9,175.0,0.9,195.3,178.5,16.8,20.3,4.4,15.9,93.2,78.5,14.7,,,,false,severe +s3_shot_6i_35,80.5,15.3,-1.3,4667,-0.0,I-S1b-V1-P2,<115,85.2,90.0,-4.8,85.2,-4.8,85.3,101.5,-16.2,0.1,11.5,-11.4,23.2,26.4,-3.2,,,,false,severe +s3_shot_3w_19,121.3,5.6,-4.8,1662,-11.9,D-S4-V0-P0,115-150,120.0,120.6,-0.6,120.0,-0.6,181.8,165.8,16.0,61.8,45.2,16.6,12.3,12.2,0.1,,,,false,severe +s4_shot_9i_17,79.4,14.9,16.4,4369,30.0,I-S1b-V1-P2,<115,79.5,80.9,-1.4,79.5,-1.4,79.6,95.6,-16.0,0.1,14.7,-14.6,20.8,21.4,-0.6,,,,false,severe +s3_shot_3w_21,119.4,5.3,-3.4,1760,-10.5,D-S3-V0-P0,<115,115.2,114.6,0.6,115.2,0.6,176.4,160.5,15.9,61.2,45.9,15.3,11.2,10.9,0.3,,,,false,severe +s3_shot_5i_11,90.6,14.4,-0.2,3360,7.8,I-S2-V1-P1,<115,106.9,108.8,-1.9,106.9,-1.9,108.2,124.1,-15.9,1.3,15.3,-14.0,28.9,29.8,-0.9,,,,false,severe +s5_shot_6i_32,90.2,9.7,-1.3,4135,8.0,I-S2-V0-P2,<115,97.7,93.7,4.0,97.7,4.0,97.6,113.4,-15.8,-0.1,19.7,-19.8,19.6,17.2,2.4,,,,false,severe +s5_shot_driver_45,128.9,5.1,-5.2,1635,2.9,D-S4-V0-P0,115-150,134.5,135.9,-1.4,134.5,-1.4,197.4,181.7,15.7,62.9,45.8,17.1,13.6,13.3,0.3,,,,false,severe +s3_shot_driver_60,107.4,11.7,-8.6,3269,-14.8,I-S3-V1-P1,115-150,137.9,138.5,-0.6,137.9,-0.6,138.4,153.8,-15.4,0.5,15.3,-14.8,31.5,34.0,-2.5,,,,false,severe +s2_shot_15,88.1,14.2,-0.3,4985,19.4,I-S2-V1-P2,<115,98.0,101.3,-3.3,98.0,-3.3,98.0,113.1,-15.1,0.0,11.8,-11.8,26.1,28.9,-2.8,,,,false,severe +s5_shot_6i_33,105.7,11.7,-1.4,3776,11.0,I-S3-V1-P1,115-150,136.3,136.7,-0.4,136.3,-0.4,136.8,151.9,-15.1,0.5,15.2,-14.7,32.3,35.0,-2.7,,,,false,severe +s3_shot_5i_15,86.9,9.3,-4.0,2509,-4.9,I-S2-V0-P1,<115,74.0,78.6,-4.6,74.0,-4.6,121.1,106.6,14.5,47.1,28.0,19.1,11.0,12.1,-1.1,,,,false,severe +s3_shot_driver_59,81.0,44.9,8.9,6735,12.4,W-S1b-V4-P3,<115,82.1,83.7,-1.6,82.1,-1.6,97.6,83.2,14.4,15.5,-0.5,16.0,103.6,107.8,-4.2,,,,false,severe +s4_shot_6i_19,85.6,14.7,2.9,4623,10.9,I-S2-V1-P2,<115,96.0,98.9,-2.9,96.0,-2.9,96.8,110.8,-14.0,0.8,11.9,-11.1,27.7,28.6,-0.9,,,,false,severe +s3_shot_7i_31,76.4,17.5,-0.5,5122,1.8,I-S1b-V1-P2,<115,80.7,85.0,-4.3,80.7,-4.3,80.7,94.5,-13.8,0.0,9.5,-9.5,24.4,28.4,-4.0,,,,false,severe +topped_test_shot,91.8,5.0,-0.9,2195,16.2,I-S2-V0-P0,<115,55.5,56.2,-0.7,55.5,-0.7,109.1,95.3,13.8,53.6,39.1,14.5,4.2,4.3,-0.1,,,,false,severe +s3_shot_6i_50,82.8,14.8,-1.4,3783,2.8,I-S1b-V1-P1,<115,91.5,93.2,-1.7,91.5,-1.7,93.9,107.4,-13.5,2.4,14.2,-11.8,28.5,25.6,2.9,,,,false,severe +bump_test_shot,78.3,5.6,-0.8,1850,2.3,I-S1b-V0-P0,<115,37.3,39.0,-1.7,37.3,-1.7,87.2,74.0,13.2,49.9,35.0,14.9,3.0,3.1,-0.1,,,,false,severe +s3_shot_6i_41,82.5,9.9,-2.3,2620,13.6,I-S1b-V0-P1,<115,66.6,71.3,-4.7,66.6,-4.7,110.8,97.9,12.9,44.2,26.6,17.6,10.3,11.3,-1.0,,,,false,severe +s4_shot_5i_29,76.2,6.1,0.7,3695,-0.0,I-S1b-V0-P1,<115,51.2,46.2,5.0,51.2,5.0,86.2,73.3,12.9,35.0,27.1,7.9,5.1,4.3,0.8,,,,false,severe +s4_shot_9i_18,74.6,23.6,2.5,6418,6.1,I-S1b-V2-P3,<115,85.0,86.6,-1.6,85.0,-1.6,101.6,88.8,12.8,16.6,2.2,14.4,39.3,42.3,-3.0,,,,false,severe +s3_shot_6i_36,78.9,10.4,16.1,4166,25.1,I-S1b-V1-P2,<115,69.6,67.8,1.8,69.6,1.8,101.8,89.1,12.7,32.2,21.3,10.9,12.3,11.8,0.5,,,,false,severe +s5_shot_7i_29,110.0,12.9,-0.5,3297,9.0,D-S3-V1-P1,150-180,148.3,150.7,-2.4,148.3,-2.4,150.3,163.0,-12.7,2.0,12.3,-10.3,39.3,42.9,-3.6,,,,false,severe +s4_shot_9i_15,75.3,23.7,-1.3,6790,2.9,I-S1b-V2-P3,<115,86.2,87.7,-1.5,86.2,-1.5,101.9,89.3,12.6,15.7,1.6,14.1,40.7,43.9,-3.2,,,,false,severe +wedge_test_shot,66.4,23.2,-1.4,6449,7.1,I-S1a-V2-P3,<115,72.1,70.6,1.5,72.1,1.5,88.2,75.8,12.4,16.1,5.2,10.9,30.7,31.2,-0.5,,,,false,severe +wedge_test_shot2,54.7,26.8,1.6,4976,5.7,C-S0-V3-P2,<115,53.3,52.2,1.1,53.3,1.1,70.1,57.7,12.4,16.8,5.5,11.3,25.2,24.4,0.8,,,,false,severe +s4_shot_pw_2,53.2,25.0,0.2,4085,3.0,C-S0-V2-P2,<115,48.9,48.5,0.4,48.9,0.4,68.2,56.0,12.2,19.3,7.5,11.8,20.6,20.2,0.4,,,,false,severe +s5_shot_3w_37,100.9,23.6,6.4,7893,7.2,I-S2-V2-P4,115-150,136.4,131.0,5.4,136.4,5.4,143.8,131.7,12.1,7.4,0.7,6.7,77.9,87.5,-9.6,,,,false,severe +s4_shot_5i_27,84.9,7.0,5.7,2263,30.0,I-S1b-V0-P0,<115,54.3,55.3,-1.0,54.3,-1.0,104.1,92.1,12.0,49.8,36.8,13.0,5.7,5.8,-0.1,,,,false,severe +s3_shot_6i_37,82.6,10.2,11.0,3041,25.4,I-S1b-V1-P1,<115,67.6,71.5,-3.9,67.6,-3.9,108.9,97.2,11.7,41.3,25.7,15.6,10.9,11.8,-0.9,,,,false,severe +s3_shot_driver_56,118.7,17.1,-1.8,4554,2.8,D-S3-V1-P2,150-180,175.7,176.6,-0.9,175.7,-0.9,192.5,180.9,11.6,16.8,4.3,12.5,88.8,83.2,5.6,,,,false,severe +s3_shot_9i_1,89.0,15.1,-0.5,3563,11.3,I-S2-V1-P1,<115,106.5,106.7,-0.2,106.5,-0.2,109.3,120.8,-11.5,2.8,14.1,-11.3,32.2,30.8,1.4,,,,false,severe +s4_shot_pw_3,62.8,31.1,6.6,6129,6.3,W-S1a-V3-P3,<115,65.8,67.3,-1.5,65.8,-1.5,79.9,68.6,11.3,14.1,1.3,12.8,40.7,41.8,-1.1,,,,false,severe +s5_shot_lw_16,52.6,37.2,5.6,5241,7.6,C-S0-V4-P2,<115,49.7,50.6,-0.9,49.7,-0.9,63.1,51.8,11.3,13.4,1.2,12.2,36.1,36.6,-0.5,,,,false,severe +wood1,124.2,6.7,-8.1,4528,4.8,D-S4-V0-P2,150-180,176.8,165.5,11.3,176.8,11.3,177.2,181.9,-4.7,0.4,16.4,-16.0,35.4,32.8,2.6,,,,false,severe +wedge_shot_2,51.8,37.0,2.4,5652,9.1,C-S0-V4-P3,<115,48.7,49.1,-0.4,48.7,-0.4,61.2,50.1,11.1,12.5,1.0,11.5,34.9,35.3,-0.4,,,,false,severe +s5_shot_lw_17,55.4,37.4,7.3,5903,9.9,C-S0-V4-P3,<115,55.1,54.5,0.6,55.1,0.6,66.3,55.4,10.9,11.2,0.9,10.3,41.2,41.0,0.2,,,,false,severe +s4_shot_6i_20,78.8,9.7,-0.7,4289,-0.0,I-S1b-V0-P2,<115,68.5,69.4,-0.9,68.5,-0.9,100.3,89.6,10.7,31.8,20.2,11.6,11.2,11.5,-0.3,,,,false,severe +s3_shot_5i_10,88.0,14.2,1.2,4065,8.4,I-S2-V1-P2,<115,103.0,103.1,-0.1,103.0,-0.1,106.1,116.7,-10.6,3.1,13.6,-10.5,32.4,28.4,4.0,,,,false,severe +s4_shot_pw_49,60.3,22.6,3.5,4044,5.0,I-S1a-V2-P2,<115,57.1,59.3,-2.2,57.1,-2.2,78.6,68.0,10.6,21.5,8.7,12.8,22.5,22.8,-0.3,,,,false,severe +s2_shot_19,128.6,12.5,-8.4,2514,5.1,D-S4-V1-P1,180-200,192.4,194.5,-2.1,192.4,-2.1,198.2,208.7,-10.5,5.8,14.2,-8.4,55.1,57.3,-2.2,,,,false,severe +s5_shot_pw_3,69.8,29.4,8.1,6334,8.1,I-S1a-V3-P3,<115,76.6,79.4,-2.8,76.6,-2.8,91.0,80.6,10.4,14.4,1.2,13.2,46.3,48.8,-2.5,,,,false,severe +s3_shot_driver_53,97.2,30.6,2.2,8926,6.0,W-S2-V3-P4,115-150,117.7,117.6,0.1,117.7,0.1,127.4,117.1,10.3,9.7,-0.5,10.2,97.4,105.8,-8.4,,,,false,severe +s2_shot_10,89.7,25.5,-3.1,6446,6.2,I-S2-V3-P3,115-150,118.5,115.1,3.4,118.5,3.4,126.6,116.4,10.2,8.1,1.3,6.8,66.0,72.0,-6.0,,,,false,severe +s4_shot_5i_28,86.0,15.9,-1.6,4179,1.0,I-S2-V1-P2,<115,100.5,103.1,-2.6,100.5,-2.6,104.6,114.6,-10.0,4.1,11.5,-7.4,35.4,32.2,3.2,,,,false,moderate +s5_shot_driver_48,123.1,15.3,-4.2,4480,-6.8,D-S4-V1-P2,180-200,186.0,184.2,1.8,186.0,1.8,199.0,189.2,9.8,13.0,5.0,8.0,79.3,79.3,0.0,,,,false,moderate +s4_shot_6i_22,76.9,7.7,14.4,3780,30.0,I-S1b-V0-P1,<115,54.2,50.8,3.4,54.2,3.4,88.3,78.8,9.5,34.1,28.0,6.1,6.7,6.0,0.7,,,,false,moderate +s4_shot_pw_47,46.7,24.6,2.3,3699,-0.0,C-S0-V2-P1,<115,36.8,37.4,-0.6,36.8,-0.6,54.7,45.2,9.5,17.9,7.8,10.1,14.6,14.6,0.0,,,,false,moderate +s5_shot_pw_1,48.4,29.0,5.6,4593,2.5,C-S0-V3-P2,<115,42.1,42.6,-0.5,42.1,-0.5,57.3,47.8,9.5,15.2,5.2,10.0,21.0,21.0,0.0,,,,false,moderate +s4_shot_3w_33,99.7,20.5,0.5,6997,1.6,I-S2-V2-P3,115-150,137.6,132.0,5.6,137.6,5.6,142.8,133.4,9.4,5.2,1.4,3.8,63.5,72.8,-9.3,,,,false,moderate +s4_shot_5i_25,89.1,16.7,1.1,5262,6.2,I-S2-V1-P2,<115,106.0,110.8,-4.8,106.0,-4.8,106.9,116.1,-9.2,0.9,5.3,-4.4,33.9,40.1,-6.2,,,,false,moderate +s4_shot_lw_38,47.6,37.8,6.1,5609,5.6,C-S0-V4-P3,<115,41.3,42.4,-1.1,41.3,-1.1,52.4,43.4,9.0,11.1,1.0,10.1,29.4,30.5,-1.1,,,,false,moderate +s5_shot_lw_18,52.3,36.2,0.1,5374,13.2,C-S0-V4-P2,<115,49.1,50.0,-0.9,49.1,-0.9,60.3,51.3,9.0,11.2,1.3,9.9,34.1,34.7,-0.6,,,,false,moderate +p_wedge_shot_1,82.3,26.5,-3.1,4946,6.7,I-S1b-V3-P2,<115,105.7,104.5,1.2,105.7,1.2,116.1,107.3,8.8,10.4,2.8,7.6,58.3,60.5,-2.2,,,,false,moderate +s3_shot_5i_13,75.0,8.0,2.5,3921,3.4,I-S1b-V0-P1,<115,55.1,53.9,1.2,55.1,1.2,87.6,78.9,8.7,32.5,25.0,7.5,7.2,6.8,0.4,,,,false,moderate +driver4,119.0,15.5,-10.2,4454,-7.8,D-S3-V1-P2,150-180,176.8,175.6,1.2,176.8,1.2,189.4,180.9,8.5,12.6,5.3,7.3,75.1,73.8,1.3,,,,false,moderate +s3_shot_6i_40,62.1,6.8,27.0,2768,30.0,I-S1a-V0-P1,<115,25.3,26.2,-0.9,25.3,-0.9,59.6,51.1,8.5,34.3,24.9,9.4,2.6,2.5,0.1,,,,false,moderate +s3_shot_6i_46,116.3,13.7,0.3,3008,10.7,D-S3-V1-P1,150-180,166.3,167.3,-1.0,166.3,-1.0,170.8,179.3,-8.5,4.5,12.0,-7.5,48.6,51.6,-3.0,,,,false,moderate +s4_shot_pw_48,46.5,25.5,3.8,4318,0.6,C-S0-V3-P2,<115,37.2,37.9,-0.7,37.2,-0.7,52.9,44.5,8.4,15.7,6.6,9.1,15.6,15.6,0.0,,,,false,moderate +s5_shot_pw_4,68.6,29.1,3.8,6801,6.8,I-S1a-V3-P3,<115,73.1,76.8,-3.7,73.1,-3.7,86.2,77.8,8.4,13.1,1.0,12.1,43.2,46.6,-3.4,,,,false,moderate +s2_shot_27,113.0,17.6,-2.3,4292,12.2,D-S3-V1-P2,150-180,162.8,164.5,-1.7,162.8,-1.7,177.9,169.6,8.3,15.1,5.1,10.0,75.7,73.6,2.1,,,,false,moderate +s3_shot_6i_49,71.2,7.7,16.1,2625,30.0,I-S1a-V0-P1,<115,38.3,39.9,-1.6,38.3,-1.6,78.6,70.3,8.3,40.3,30.4,9.9,4.3,4.5,-0.2,,,,false,moderate +s5_shot_7i_27,103.3,14.1,-1.8,5085,13.7,I-S2-V1-P2,115-150,142.4,136.6,5.8,142.4,5.8,150.9,142.8,8.1,8.5,6.2,2.3,54.8,46.5,8.3,,,,false,moderate +s5_shot_9i_19,101.2,20.5,-2.4,4282,5.8,I-S2-V2-P2,115-150,139.6,142.6,-3.0,139.6,-3.0,155.2,147.2,8.0,15.6,4.6,11.0,78.3,69.2,9.1,,,,false,moderate +s5_shot_9i_20,98.5,20.4,1.4,4377,10.4,I-S2-V2-P2,115-150,133.5,136.0,-2.5,133.5,-2.5,148.8,140.8,8.0,15.3,4.8,10.5,73.8,64.1,9.7,,,,false,moderate +s5_shot_7i_28,98.5,15.2,-3.4,3447,6.4,I-S2-V1-P1,115-150,129.3,129.8,-0.5,129.3,-0.5,132.5,140.3,-7.8,3.2,10.5,-7.3,38.7,40.9,-2.2,,,,false,moderate +approach_mid_iron_test_shot,93.9,22.9,-2.6,5375,2.0,I-S2-V2-P2,115-150,125.3,125.8,-0.5,125.3,-0.5,135.9,128.5,7.4,10.6,2.7,7.9,64.1,69.3,-5.2,,,,false,moderate +s3_shot_pw_67,81.7,28.1,6.3,6510,12.7,I-S1b-V3-P3,<115,101.3,100.0,1.3,101.3,1.3,108.3,101.1,7.2,7.0,1.1,5.9,61.9,65.0,-3.1,,,,false,moderate +s3_shot_6i_39,61.0,6.1,10.3,3285,22.0,I-S1a-V0-P1,<115,23.8,24.0,-0.2,23.8,-0.2,54.4,47.3,7.1,30.6,23.3,7.3,2.1,2.1,0.0,,,,false,moderate +s4_shot_pw_1,69.8,20.1,-0.6,3577,8.0,I-S1a-V2-P1,<115,73.5,74.8,-1.3,73.5,-1.3,76.8,83.7,-6.9,3.3,8.9,-5.6,28.8,26.2,2.6,,,,false,moderate +s5_shot_3w_39,129.9,11.9,-1.8,2965,-0.8,D-S4-V1-P1,180-200,196.6,197.1,-0.5,196.6,-0.5,202.1,208.9,-6.8,5.5,11.8,-6.3,56.6,59.4,-2.8,,,,false,moderate +s5_shot_7i_26,107.2,14.3,-2.9,4648,7.6,I-S3-V1-P2,115-150,150.1,147.4,2.7,150.1,2.7,160.6,153.9,6.7,10.5,6.5,4.0,61.5,51.9,9.6,,,,false,moderate +s3_shot_7i_29,107.6,13.8,-6.0,3633,4.7,I-S3-V1-P1,115-150,148.5,148.4,0.1,148.5,0.1,151.7,158.3,-6.6,3.2,9.9,-6.7,42.7,46.3,-3.6,,,,false,moderate +s3_shot_pw_64,69.6,28.6,0.2,5327,5.1,I-S1a-V3-P2,<115,83.5,80.1,3.4,83.5,3.4,88.7,82.4,6.3,5.2,2.3,2.9,47.0,46.4,0.6,,,,false,moderate +s3_shot_pw_65,81.2,28.4,2.9,6959,9.4,I-S1b-V3-P3,<115,99.5,98.5,1.0,99.5,1.0,105.6,99.4,6.2,6.1,0.9,5.2,62.7,65.6,-2.9,,,,false,moderate +s5_shot_pw_6,76.3,28.2,3.7,5434,9.1,I-S1b-V3-P2,<115,94.1,92.3,1.8,94.1,1.8,100.6,94.4,6.2,6.5,2.1,4.4,53.7,55.8,-2.1,,,,false,moderate +wedge_shot_1,48.7,29.0,-1.3,5684,11.1,C-S0-V3-P3,<115,41.1,42.6,-1.5,41.1,-1.5,53.1,46.9,6.2,12.0,4.3,7.7,20.5,21.3,-0.8,,,,false,moderate +5iron,102.1,17.4,1.5,5391,12.3,I-S2-V1-P2,115-150,140.2,138.1,2.1,140.2,2.1,148.3,142.2,6.1,8.1,4.1,4.0,61.3,59.6,1.7,,,,false,moderate +s2_shot_12,90.8,24.5,-3.9,7261,4.9,I-S2-V2-P3,115-150,116.6,115.4,1.2,116.6,1.2,122.4,116.4,6.0,5.8,1.0,4.8,65.1,71.5,-6.4,,,,false,moderate +s2_shot_20,120.9,15.0,-3.0,4245,9.6,D-S4-V1-P2,150-180,180.8,179.4,1.4,180.8,1.4,191.2,185.3,5.9,10.4,5.9,4.5,69.0,72.3,-3.3,,,,false,moderate +s5_shot_pw_7,79.7,28.1,4.4,5840,9.1,I-S1b-V3-P3,<115,97.6,97.9,-0.3,97.6,-0.3,105.3,99.5,5.8,7.7,1.6,6.1,57.6,61.5,-3.9,,,,false,moderate +s4_shot_3w_32,105.5,18.5,-1.4,5714,2.3,I-S3-V2-P3,115-150,144.3,146.0,-1.7,144.3,-1.7,154.5,148.8,5.7,10.2,2.8,7.4,66.8,71.9,-5.1,,,,false,moderate +s2_shot_18,105.7,20.5,-1.7,5667,8.2,I-S3-V2-P3,115-150,144.6,146.8,-2.2,144.6,-2.2,154.6,149.4,5.2,10.0,2.6,7.4,76.1,80.4,-4.3,,,,false,moderate +s5_shot_pw_8,76.4,28.2,1.6,5024,4.7,I-S1b-V3-P2,<115,93.5,93.4,0.1,93.5,0.1,101.1,95.9,5.2,7.6,2.5,5.1,53.7,55.9,-2.2,,,,false,moderate +s5_shot_8i_25,97.0,18.5,-2.0,4809,4.3,I-S2-V2-P2,115-150,131.3,130.8,0.5,131.3,0.5,140.7,135.6,5.1,9.4,4.8,4.6,63.4,56.2,7.2,,,,false,moderate +s5_shot_8i_22,100.8,15.6,-5.5,3498,3.5,I-S2-V1-P1,115-150,136.9,136.5,0.4,136.9,0.4,141.4,146.4,-5.0,4.5,9.9,-5.4,43.1,45.5,-2.4,,,,false,pass +s5_shot_lw_15,47.7,29.7,2.3,5999,-0.0,C-S0-V3-P3,<115,39.4,41.4,-2.0,39.4,-2.0,50.1,45.1,5.0,10.7,3.7,7.0,20.3,21.3,-1.0,,,,false,pass +s3_shot_driver_54,121.5,12.9,-5.3,3411,-10.0,D-S4-V1-P1,150-180,178.7,178.2,0.5,178.7,0.5,183.8,188.7,-4.9,5.1,10.5,-5.4,53.0,56.5,-3.5,,,,false,pass +wood2,118.8,14.5,-3.3,3026,11.2,D-S3-V1-P1,150-180,175.2,175.6,-0.4,175.2,-0.4,181.3,186.1,-4.8,6.1,10.5,-4.4,56.0,59.3,-3.3,,,,false,pass +s2_shot_17,122.9,14.4,-1.3,4119,6.7,D-S4-V1-P2,180-200,185.0,184.0,1.0,185.0,1.0,195.0,190.3,4.7,10.0,6.3,3.7,66.6,71.8,-5.2,,,,false,pass +s5_shot_driver_46,134.8,10.7,-2.4,3350,-6.5,D-S4-V1-P1,>200,205.0,204.1,0.9,205.0,0.9,210.5,215.2,-4.7,5.5,11.1,-5.6,56.8,59.2,-2.4,,,,false,pass +drive_test_shot,150.0,12.5,1.5,2335,-9.9,D-S4-V1-P0,>200,248.1,244.0,4.1,248.1,4.1,260.6,256.0,4.6,12.5,12.0,0.5,82.2,80.6,1.6,,,,false,moderate +s3_shot_6i_48,101.7,15.2,-3.0,4631,4.3,I-S2-V1-P2,115-150,139.4,137.1,2.3,139.4,2.3,148.1,143.5,4.6,8.7,6.4,2.3,58.9,48.9,10.0,,,,false,pass +s5_shot_8i_24,106.7,18.2,0.2,5797,8.8,I-S3-V2-P3,115-150,146.5,147.5,-1.0,146.5,-1.0,154.9,150.4,4.5,8.4,2.9,5.5,66.8,72.1,-5.3,,,,false,pass +s3_shot_5i_17,56.5,10.0,24.1,5178,29.1,C-S0-V0-P2,<115,32.2,30.6,1.6,32.2,1.6,51.2,46.9,4.3,19.0,16.3,2.7,4.7,4.5,0.2,,,,false,pass +s5_shot_pw_11,76.6,21.2,2.9,5232,-5.5,I-S1b-V2-P2,<115,88.4,89.9,-1.5,88.4,-1.5,90.0,94.2,-4.2,1.6,4.3,-2.7,34.2,37.9,-3.7,,,,false,pass +s5_shot_pw_5,77.4,28.9,4.5,6294,7.3,I-S1b-V3-P3,<115,92.2,93.0,-0.8,92.2,-0.8,98.4,94.2,4.2,6.2,1.2,5.0,57.0,60.1,-3.1,,,,false,pass +s3_shot_6i_43,94.1,13.9,-4.7,4616,1.7,I-S2-V1-P2,115-150,119.9,117.3,2.6,119.9,2.6,124.5,128.6,-4.1,4.6,11.3,-6.7,40.2,35.0,5.2,,,,false,pass +s3_shot_6i_47,99.5,14.8,-2.9,4811,4.7,I-S2-V1-P2,115-150,134.2,131.2,3.0,134.2,3.0,141.8,137.7,4.1,7.6,6.5,1.1,52.9,45.0,7.9,,,,false,pass +s2_shot_9,94.4,20.1,2.4,4020,16.3,I-S2-V2-P2,115-150,122.9,126.5,-3.6,122.9,-3.6,134.8,132.5,2.3,11.9,6.0,5.9,60.6,54.8,5.8,,,,false,moderate +s4_shot_3w_31,106.9,15.7,-2.4,3662,8.9,I-S3-V1-P1,150-180,150.2,150.3,-0.1,150.2,-0.1,155.2,158.8,-3.6,5.0,8.5,-3.5,50.1,53.7,-3.6,,,,false,pass +s5_shot_pw_10,83.6,25.2,1.4,5520,9.9,I-S1b-V3-P3,<115,105.5,105.5,0.0,105.5,0.0,111.5,107.9,3.6,6.0,2.4,3.6,54.4,59.2,-4.8,,,,false,pass +s3_shot_pw_68,88.5,23.4,-0.1,6637,6.0,I-S2-V2-P3,<115,112.8,112.7,0.1,112.8,0.1,117.4,114.1,3.3,4.6,1.4,3.2,56.2,63.4,-7.2,,,,false,pass +s5_shot_pw_9,86.4,24.1,0.2,5480,3.7,I-S2-V2-P2,<115,109.7,111.1,-1.4,109.7,-1.4,116.9,113.7,3.2,7.2,2.6,4.6,54.7,60.9,-6.2,,,,false,pass +s3_shot_pw_69,74.1,23.6,0.2,5880,8.4,I-S1b-V2-P3,<115,84.0,86.0,-2.0,84.0,-2.0,85.7,88.8,-3.1,1.7,2.8,-1.1,37.7,41.2,-3.5,,,,false,pass +s3_shot_7i_30,90.2,17.6,-3.8,4508,-0.2,I-S2-V1-P2,115-150,112.4,115.4,-3.0,112.4,-3.0,119.5,121.7,-2.2,7.1,6.3,0.8,46.2,43.1,3.1,,,,false,pass +s3_shot_9i_8,92.2,21.9,-6.3,5042,0.7,I-S2-V2-P2,115-150,120.5,122.9,-2.4,120.5,-2.4,129.4,126.4,3.0,8.9,3.5,5.4,60.3,62.6,-2.3,,,,false,pass +s5_shot_8i_23,109.7,18.2,-0.0,3711,5.2,I-S3-V2-P1,150-180,160.4,160.9,-0.5,160.4,-0.5,170.2,167.2,3.0,9.8,6.3,3.5,66.5,70.2,-3.7,,,,false,pass +driver2,124.6,13.2,-6.8,3994,-6.1,D-S4-V1-P1,180-200,187.6,184.8,2.8,187.6,2.8,195.2,192.3,2.9,7.6,7.5,0.1,61.5,65.8,-4.3,,,,false,pass +s3_shot_9i_7,83.0,22.5,5.3,7008,9.7,I-S1b-V2-P3,<115,103.4,101.1,2.3,103.4,2.3,105.5,102.6,2.9,2.1,1.5,0.6,47.9,51.5,-3.6,,,,false,pass +s5_shot_3w_40,116.2,14.1,0.8,3909,0.4,D-S3-V1-P1,150-180,168.3,169.4,-1.1,168.3,-1.1,174.2,177.1,-2.9,5.9,7.7,-1.8,54.6,60.2,-5.6,,,,false,pass +s2_shot_11,78.5,29.6,4.3,7350,10.7,I-S1b-V3-P3,<115,91.9,93.0,-1.1,91.9,-1.1,96.4,93.6,2.8,4.5,0.6,3.9,60.4,64.0,-3.6,,,,false,pass +s2_shot_14,87.1,22.4,-2.0,5660,11.4,I-S2-V2-P3,<115,108.1,110.9,-2.8,108.1,-2.8,112.2,113.7,-1.5,4.1,2.8,1.3,49.1,55.9,-6.8,,,,false,pass +s4_shot_3w_35,117.9,14.4,3.6,3735,13.3,D-S3-V1-P1,150-180,171.7,171.9,-0.2,171.7,-0.2,177.5,180.2,-2.7,5.8,8.3,-2.5,56.4,61.1,-4.7,,,,false,pass +s4_shot_9i_14,87.1,22.1,0.3,5730,4.7,I-S2-V2-P3,<115,108.6,111.2,-2.6,108.6,-2.6,113.0,113.9,-0.9,4.4,2.7,1.7,48.7,55.8,-7.1,,,,false,pass +s2_shot_22,123.3,14.0,-6.1,3104,10.0,D-S4-V1-P1,180-200,186.0,185.4,0.6,186.0,0.6,193.1,195.5,-2.4,7.1,10.1,-3.0,60.3,63.0,-2.7,,,,false,pass +s3_shot_9i_5,84.0,19.4,3.8,5352,11.5,I-S1b-V2-P2,<115,103.0,102.7,0.3,103.0,0.3,104.9,107.2,-2.3,1.9,4.5,-2.6,37.4,41.8,-4.4,,,,false,pass +s3_shot_9i_9,90.1,22.1,-3.1,5351,1.2,I-S2-V2-P2,115-150,116.4,118.1,-1.7,116.4,-1.7,123.4,121.1,2.3,7.0,3.0,4.0,53.8,60.1,-6.3,,,,false,pass +checked_test_shot,75.0,38.5,1.4,10701,5.7,W-S1b-V4-P4,<115,75.5,77.6,-2.1,75.5,-2.1,77.0,77.5,-0.5,1.5,-0.1,1.6,69.9,79.5,-9.6,,,,false,pass +s3_shot_7i_28,92.1,16.4,-3.6,4217,-0.4,I-S2-V1-P2,115-150,115.9,117.9,-2.0,115.9,-2.0,123.7,125.6,-1.9,7.8,7.7,0.1,46.2,40.6,5.6,,,,false,pass +s4_shot_3w_34,114.6,15.3,2.4,3502,12.8,D-S3-V1-P1,150-180,165.9,166.6,-0.7,165.9,-0.7,173.4,175.4,-2.0,7.5,8.8,-1.3,56.4,60.3,-3.9,,,,false,pass +s3_shot_9i_2,71.3,23.9,5.5,4086,8.3,I-S1a-V2-P2,<115,80.2,82.1,-1.9,80.2,-1.9,85.5,87.4,-1.9,5.3,5.3,-0.0,36.9,36.8,0.1,,,,false,pass +s3_shot_9i_3,90.1,21.7,2.8,5243,11.2,I-S2-V2-P2,115-150,115.4,117.3,-1.9,115.4,-1.9,122.2,120.7,1.5,6.8,3.4,3.4,52.2,57.7,-5.5,,,,false,pass +s4_shot_pw_10,76.3,26.8,0.7,5989,4.9,I-S1b-V3-P3,<115,90.4,91.5,-1.1,90.4,-1.1,95.1,93.2,1.9,4.7,1.7,3.0,49.4,52.8,-3.4,,,,false,pass +s2_shot_13,95.2,19.6,-1.1,5610,12.2,I-S2-V2-P3,115-150,123.5,125.3,-1.8,123.5,-1.8,128.0,128.7,-0.7,4.5,3.4,1.1,51.3,58.4,-7.1,,,,false,pass +s2_shot_16,94.1,19.1,-5.9,5291,5.0,I-S2-V2-P2,115-150,123.8,124.3,-0.5,123.8,-0.5,129.9,128.1,1.8,6.1,3.8,2.3,51.5,55.3,-3.8,,,,false,pass +s4_shot_5i_30,96.8,18.2,0.7,6358,17.5,I-S2-V2-P3,115-150,126.4,124.7,1.7,126.4,1.7,128.3,127.7,0.6,1.9,3.0,-1.1,47.6,55.5,-7.9,,,,false,pass +flop_test_shot,68.0,45.0,0.5,12000,0.8,W-S1a-V4-P4,<115,61.6,61.8,-0.2,61.6,-0.2,61.9,60.3,1.6,0.3,-1.5,1.8,68.3,76.8,-8.5,,,,false,pass +s3_shot_pw_66,75.7,27.3,-1.2,6605,4.0,I-S1b-V3-P3,<115,88.1,89.7,-1.6,88.1,-1.6,91.7,90.8,0.9,3.6,1.1,2.5,50.5,53.5,-3.0,,,,false,pass +s2_shot_24,121.5,14.5,-11.2,3173,-6.8,D-S4-V1-P1,180-200,183.5,183.0,0.5,183.5,0.5,191.3,192.8,-1.5,7.8,9.8,-2.0,61.6,64.6,-3.0,,,,false,pass +s4_shot_6i_21,91.9,17.8,0.7,5967,11.5,I-S2-V1-P3,115-150,117.3,116.4,0.9,117.3,0.9,118.6,120.1,-1.5,1.3,3.7,-2.4,40.8,47.6,-6.8,,,,false,pass +s4_shot_pw_11,76.3,27.4,-0.6,6296,5.2,I-S1b-V3-P3,<115,90.0,91.1,-1.1,90.0,-1.1,94.0,92.5,1.5,4.0,1.4,2.6,51.2,54.2,-3.0,,,,false,pass +s5_shot_driver_44,124.0,12.7,1.3,3765,2.2,D-S4-V1-P1,180-200,185.7,184.7,1.0,185.7,1.0,191.8,193.3,-1.5,6.1,8.6,-2.5,57.2,61.9,-4.7,,,,false,pass +s3_shot_7i_27,93.7,17.1,-1.4,4612,2.6,I-S2-V1-P2,115-150,120.9,122.3,-1.4,120.9,-1.4,128.2,128.3,-0.1,7.3,6.0,1.3,51.0,46.0,5.0,,,,false,pass +s4_shot_5i_26,106.3,15.5,-3.6,4114,3.4,I-S3-V1-P2,115-150,147.4,148.7,-1.3,147.4,-1.3,155.9,155.9,0.0,8.5,7.2,1.3,54.8,54.5,0.3,,,,false,pass +s4_shot_pw_6,68.7,26.1,1.1,4149,8.2,I-S1a-V3-P2,<115,77.1,78.4,-1.3,77.1,-1.3,83.0,83.1,-0.1,5.9,4.7,1.2,38.4,38.6,-0.2,,,,false,pass +s3_shot_7i_32,93.1,17.0,-1.0,3762,4.2,I-S2-V1-P1,115-150,120.5,121.2,-0.7,120.5,-0.7,128.7,129.8,-1.1,8.2,8.6,-0.4,45.7,42.5,3.2,,,,false,pass +s4_shot_pw_7,76.8,25.2,3.7,6565,8.2,I-S1b-V3-P3,<115,90.6,91.1,-0.5,90.6,-0.5,93.3,92.6,0.7,2.7,1.5,1.2,46.6,49.5,-2.9,,,,false,pass +s5_shot_9i_21,90.1,20.7,0.6,6342,5.1,I-S2-V2-P3,115-150,115.1,115.3,-0.2,115.1,-0.2,118.1,117.5,0.6,3.0,2.2,0.8,48.9,56.5,-7.6,,,,false,pass +s3_shot_7i_33,92.4,17.0,-0.6,3852,2.8,I-S2-V1-P1,115-150,119.2,119.7,-0.5,119.2,-0.5,127.6,128.0,-0.4,8.4,8.3,0.1,46.7,42.0,4.7,,,,false,pass +s3_shot_7i_34,104.2,14.7,-4.6,4081,1.9,I-S2-V1-P2,115-150,142.8,142.5,0.3,142.8,0.3,150.6,150.6,0.0,7.8,8.1,-0.3,49.4,48.2,1.2,,,,false,pass diff --git a/assets/data/shot_session_2/history/iteration_019.json b/assets/data/shot_session_2/history/iteration_019.json new file mode 100644 index 0000000..56acab0 --- /dev/null +++ b/assets/data/shot_session_2/history/iteration_019.json @@ -0,0 +1,218 @@ +{ + "iteration": 19, + "timestamp": "2026-03-16T10:49:11.268459", + "profile_overrides": {}, + "summary": { + "pass": 7, + "moderate": 5, + "severe": 6, + "no_reference": 9 + }, + "per_shot": { + "shot_1": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "shot_12": { + "diff_carry_yd": 2.0, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_13": { + "diff_carry_yd": -1.1, + "diff_total_yd": 0.7, + "diff_apex_ft": -6.9, + "status": "pass", + "error_pattern": null + }, + "shot_14": { + "diff_carry_yd": -2.3, + "diff_total_yd": -0.4, + "diff_apex_ft": -6.6, + "status": "pass", + "error_pattern": null + }, + "shot_15": { + "diff_carry_yd": -1.0, + "diff_total_yd": -12.7, + "diff_apex_ft": -2.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_16": { + "diff_carry_yd": -0.3, + "diff_total_yd": 2.2, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "shot_17": { + "diff_carry_yd": 0.9, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.1, + "status": "pass", + "error_pattern": null + }, + "shot_18": { + "diff_carry_yd": -2.1, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_2": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_20": { + "diff_carry_yd": 1.5, + "diff_total_yd": 7.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "shot_25": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_26": { + "diff_carry_yd": 1.7, + "diff_total_yd": 20.6, + "diff_apex_ft": 23.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": 9.2, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_3": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_7": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9": { + "diff_carry_yd": -3.3, + "diff_total_yd": 1.6, + "diff_apex_ft": 7.1, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention" + ] +} diff --git a/assets/data/shot_session_2/history/iteration_020.json b/assets/data/shot_session_2/history/iteration_020.json new file mode 100644 index 0000000..411ce50 --- /dev/null +++ b/assets/data/shot_session_2/history/iteration_020.json @@ -0,0 +1,213 @@ +{ + "iteration": 20, + "timestamp": "2026-03-16T11:17:18.949604", + "profile_overrides": {}, + "summary": { + "pass": 7, + "moderate": 5, + "severe": 6, + "no_reference": 9 + }, + "per_shot": { + "shot_1": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_10": { + "diff_carry_yd": 3.4, + "diff_total_yd": 10.2, + "diff_apex_ft": -6.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 2.8, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "shot_12": { + "diff_carry_yd": 1.2, + "diff_total_yd": 6.0, + "diff_apex_ft": -6.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_13": { + "diff_carry_yd": -1.8, + "diff_total_yd": -0.7, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "shot_14": { + "diff_carry_yd": -2.8, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "shot_15": { + "diff_carry_yd": -3.3, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_16": { + "diff_carry_yd": -0.5, + "diff_total_yd": 1.8, + "diff_apex_ft": -3.8, + "status": "pass", + "error_pattern": null + }, + "shot_17": { + "diff_carry_yd": 1.0, + "diff_total_yd": 4.7, + "diff_apex_ft": -5.2, + "status": "pass", + "error_pattern": null + }, + "shot_18": { + "diff_carry_yd": -2.2, + "diff_total_yd": 5.2, + "diff_apex_ft": -4.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_19": { + "diff_carry_yd": -2.1, + "diff_total_yd": -10.5, + "diff_apex_ft": -2.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_2": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_20": { + "diff_carry_yd": 1.4, + "diff_total_yd": 5.9, + "diff_apex_ft": -3.3, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_21": { + "diff_carry_yd": 4.9, + "diff_total_yd": 27.7, + "diff_apex_ft": 1.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_22": { + "diff_carry_yd": 0.6, + "diff_total_yd": -2.4, + "diff_apex_ft": -2.7, + "status": "pass", + "error_pattern": null + }, + "shot_23": { + "diff_carry_yd": -0.8, + "diff_total_yd": -23.9, + "diff_apex_ft": -1.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_24": { + "diff_carry_yd": 0.5, + "diff_total_yd": -1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "shot_25": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_26": { + "diff_carry_yd": 1.9, + "diff_total_yd": 21.6, + "diff_apex_ft": 20.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_27": { + "diff_carry_yd": -1.7, + "diff_total_yd": 8.3, + "diff_apex_ft": 2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_3": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_7": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9": { + "diff_carry_yd": -3.6, + "diff_total_yd": 2.3, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention" + ] +} diff --git a/assets/data/shot_session_2/physics.csv b/assets/data/shot_session_2/physics.csv index 9347980..6608ef5 100644 --- a/assets/data/shot_session_2/physics.csv +++ b/assets/data/shot_session_2/physics.csv @@ -1,28 +1,28 @@ shot_name,filename,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,backspin_rpm,sidespin_rpm,carry_yd,total_yd,rollout_yd,apex_ft,hang_time_s,landing_speed_mps,landing_angle_deg,initial_re,initial_spin_ratio,initial_cd,initial_cl,peak_cl,carry_only_yd -shot_1,shot_1.json,18.82,35.31,-3.37,3729.2,-0.00,3729.2,-0.0,7.0,11.1,4.1,3.8,0.98,7.93,36.47,23028.8,0.990462,0.575854,0.000000,0.000000,7.0 -shot_10,shot_10.json,89.70,25.51,-3.13,6446.1,6.16,6408.9,691.6,118.5,126.6,8.0,66.0,4.74,22.09,47.71,109779.2,0.359143,0.239233,0.228748,0.289487,118.5 -shot_11,shot_11.json,78.51,29.59,4.31,7349.8,10.69,7222.3,1363.2,90.4,94.7,4.3,59.4,4.30,20.28,49.11,96081.2,0.467873,0.288782,0.274776,0.305820,90.4 -shot_12,shot_12.json,90.80,24.49,-3.88,7260.6,4.91,7233.9,621.5,119.9,125.9,6.0,66.2,4.82,21.79,46.88,111117.8,0.399648,0.251607,0.243274,0.311339,119.9 -shot_13,shot_13.json,95.22,19.62,-1.09,5609.6,12.20,5482.8,1185.8,126.5,131.9,5.3,52.3,4.34,23.16,39.57,116536.1,0.294416,0.228829,0.235762,0.269484,126.5 -shot_14,shot_14.json,87.13,22.37,-2.00,5660.3,11.37,5549.3,1115.6,110.6,115.4,4.8,49.8,4.14,22.08,40.74,106633.6,0.324668,0.239891,0.224737,0.268263,110.6 -shot_15,shot_15.json,88.14,14.21,-0.32,4985.2,19.37,4703.0,1653.5,100.3,100.4,0.1,26.9,3.23,23.71,25.64,107862.6,0.282684,0.238022,0.258753,0.279747,100.3 -shot_16,shot_16.json,94.07,19.14,-5.93,5291.1,4.96,5271.3,457.7,124.0,130.3,6.3,51.8,4.30,23.02,40.64,115119.9,0.281118,0.229885,0.262224,0.274710,124.0 -shot_17,shot_17.json,122.92,14.40,-1.33,4119.1,6.69,4091.0,480.2,189.8,198.3,8.4,67.9,5.25,26.99,36.41,150434.8,0.167473,0.218713,0.195165,0.200074,189.8 -shot_18,shot_18.json,105.67,20.50,-1.72,5666.8,8.18,5609.2,806.3,151.1,163.4,12.3,83.0,5.35,24.22,51.54,129323.3,0.268011,0.225675,0.290900,0.290900,151.1 -shot_19,shot_19.json,128.59,12.54,-8.40,2513.7,5.13,2503.6,224.6,196.7,202.6,5.9,56.1,4.86,29.59,28.83,157373.2,0.097695,0.208119,0.163440,0.165323,196.7 -shot_2,shot_2.json,18.59,33.32,-2.15,3688.3,-0.00,3688.3,-0.0,6.7,10.9,4.1,3.4,0.92,7.85,34.40,22755.1,0.991373,0.575854,0.000000,0.000000,6.7 -shot_20,shot_20.json,120.88,15.02,-2.96,4245.1,9.62,4185.4,709.5,185.4,196.8,11.4,70.3,5.28,26.60,38.86,147934.6,0.175515,0.219317,0.199410,0.214008,185.4 +shot_1,shot_1.json,18.82,35.31,-3.37,3729.2,-0.00,3729.2,-0.0,7.2,11.4,4.2,3.9,0.98,8.08,36.34,23028.8,0.990462,0.403097,0.000000,0.000000,7.2 +shot_10,shot_10.json,89.70,25.51,-3.13,6446.1,6.16,6408.9,691.6,118.5,126.6,8.0,66.0,4.74,22.09,47.73,109779.2,0.359143,0.239233,0.228748,0.289487,118.5 +shot_11,shot_11.json,78.51,29.59,4.31,7349.8,10.69,7222.3,1363.2,91.9,96.4,4.5,60.4,4.35,20.50,48.85,96081.2,0.467873,0.280118,0.280271,0.312453,91.9 +shot_12,shot_12.json,90.80,24.49,-3.88,7260.6,4.91,7233.9,621.5,116.6,122.4,5.7,65.1,4.76,21.29,47.58,111117.8,0.399648,0.264187,0.243274,0.311339,116.6 +shot_13,shot_13.json,95.22,19.62,-1.09,5609.6,12.20,5482.8,1185.8,123.5,128.0,4.5,51.3,4.28,22.65,40.10,116536.1,0.294416,0.240270,0.234293,0.268000,123.5 +shot_14,shot_14.json,87.13,22.37,-2.00,5660.3,11.37,5549.3,1115.6,108.1,112.2,4.1,49.1,4.10,21.61,41.21,106633.6,0.324668,0.251885,0.224737,0.268979,108.1 +shot_15,shot_15.json,88.14,14.21,-0.32,4985.2,19.37,4703.0,1653.5,98.0,98.0,0.0,26.1,3.16,23.58,25.36,107862.6,0.282684,0.245162,0.252277,0.270478,98.0 +shot_16,shot_16.json,94.07,19.14,-5.93,5291.1,4.96,5271.3,457.7,123.8,129.9,6.1,51.5,4.28,23.03,40.37,115119.9,0.281118,0.229885,0.257927,0.273704,123.8 +shot_17,shot_17.json,122.92,14.40,-1.33,4119.1,6.69,4091.0,480.2,185.0,195.0,10.1,66.6,5.17,26.49,37.47,150434.8,0.167473,0.227461,0.195165,0.202274,185.0 +shot_18,shot_18.json,105.67,20.50,-1.72,5666.8,8.18,5609.2,806.3,144.6,154.6,10.0,76.1,5.11,23.31,50.30,129323.3,0.268011,0.243729,0.272200,0.272200,144.6 +shot_19,shot_19.json,128.59,12.54,-8.40,2513.7,5.13,2503.6,224.6,192.4,198.2,5.8,55.1,4.79,29.05,29.04,157373.2,0.097695,0.216443,0.163440,0.165833,192.4 +shot_2,shot_2.json,18.59,33.32,-2.15,3688.3,-0.00,3688.3,-0.0,6.9,11.3,4.4,3.4,0.93,8.00,34.33,22755.1,0.991373,0.403097,0.000000,0.000000,6.9 +shot_20,shot_20.json,120.88,15.02,-2.96,4245.1,9.62,4185.4,709.5,180.8,191.2,10.4,69.0,5.21,26.10,40.03,147934.6,0.175515,0.228090,0.199231,0.217566,180.8 shot_21,shot_21.json,127.35,7.24,-11.46,2320.9,-19.47,2188.2,-773.4,159.8,214.2,54.4,24.8,3.52,33.30,16.10,155855.5,0.091079,0.206284,0.169690,0.170540,159.8 -shot_22,shot_22.json,123.29,14.01,-6.11,3104.1,9.97,3057.3,537.3,190.0,197.1,7.1,61.4,5.01,28.19,31.91,150883.1,0.125832,0.209373,0.179061,0.180985,190.0 -shot_23,shot_23.json,125.52,8.64,-14.33,3062.5,-23.87,2800.5,-1239.4,165.4,165.4,0.0,31.0,3.83,31.55,19.29,153607.5,0.121944,0.210229,0.180025,0.181025,165.4 -shot_24,shot_24.json,121.48,14.53,-11.23,3172.9,-6.80,3150.6,-375.5,187.7,196.2,8.5,62.7,5.04,27.83,32.84,148670.3,0.130533,0.209001,0.181227,0.183167,187.7 -shot_25,shot_25.json,127.22,4.99,-12.57,2671.0,-16.25,2564.3,-747.4,148.5,203.2,54.6,16.9,3.18,34.37,12.34,155698.6,0.104925,0.208362,0.181392,0.182042,148.5 -shot_26,shot_26.json,116.97,18.42,-2.02,5035.4,9.70,4963.4,848.2,172.4,194.8,22.4,111.6,6.15,25.80,58.18,143143.6,0.215155,0.228401,0.284498,0.319321,172.4 -shot_27,shot_27.json,112.96,17.59,-2.26,4291.5,12.21,4194.4,907.8,167.1,182.4,15.3,78.4,5.29,25.68,46.76,138244.2,0.189868,0.217944,0.222482,0.263952,167.1 -shot_3,shot_3.json,30.72,32.94,-2.80,4070.1,-0.00,4070.1,-0.0,16.9,25.4,8.5,8.7,1.48,11.91,36.15,37591.2,0.662227,0.624945,0.091740,0.091740,16.9 -shot_4,shot_4.json,41.63,35.25,-0.96,5228.9,5.22,5207.3,475.4,29.1,37.6,8.5,18.0,2.13,14.48,42.34,50942.2,0.627805,0.679750,0.286567,0.286567,29.1 -shot_5,shot_5.json,34.04,35.10,-1.20,4487.3,-0.00,4487.3,-0.0,20.8,29.3,8.6,11.9,1.73,12.81,39.49,41663.5,0.658746,0.662177,0.177386,0.177386,20.8 -shot_6,shot_6.json,34.78,36.39,-0.62,4515.3,0.93,4514.7,73.1,21.8,29.8,8.0,13.2,1.82,13.01,41.18,42558.8,0.648916,0.666084,0.196137,0.196137,21.8 -shot_7,shot_7.json,41.38,18.02,-7.65,3110.5,-0.00,3110.5,-0.0,21.8,39.8,18.0,5.8,1.27,15.39,21.33,50646.4,0.375640,0.545101,0.241716,0.257404,21.8 -shot_8,shot_8.json,43.09,12.55,7.93,2821.4,18.87,2669.8,912.3,16.6,37.9,21.3,2.9,0.88,16.59,14.19,52729.6,0.327265,0.527770,0.124722,0.124722,16.6 -shot_9,shot_9.json,94.41,20.07,2.40,4020.4,16.33,3858.1,1130.8,123.2,134.1,10.9,61.9,4.46,23.47,46.60,115543.8,0.212823,0.225950,0.279055,0.315344,123.2 +shot_22,shot_22.json,123.29,14.01,-6.11,3104.1,9.97,3057.3,537.3,186.0,193.1,7.1,60.3,4.95,27.66,32.33,150883.1,0.125832,0.217748,0.179061,0.181530,186.0 +shot_23,shot_23.json,125.52,8.64,-14.33,3062.5,-23.87,2800.5,-1239.4,161.1,161.1,-0.0,29.8,3.73,31.42,19.03,153607.5,0.121944,0.216536,0.176424,0.177656,161.1 +shot_24,shot_24.json,121.48,14.53,-11.23,3172.9,-6.80,3150.6,-375.5,183.5,191.3,7.8,61.6,4.98,27.32,33.50,148670.3,0.130533,0.217361,0.181227,0.183728,183.5 +shot_25,shot_25.json,127.22,4.99,-12.57,2671.0,-16.25,2564.3,-747.4,143.4,198.0,54.6,16.0,3.06,34.43,11.95,155698.6,0.104925,0.214613,0.177764,0.178624,143.4 +shot_26,shot_26.json,116.97,18.42,-2.02,5035.4,9.70,4963.4,848.2,172.6,195.8,23.2,108.5,6.07,25.74,57.17,143143.6,0.215155,0.228401,0.276816,0.308703,172.6 +shot_27,shot_27.json,112.96,17.59,-2.26,4291.5,12.21,4194.4,907.8,162.8,177.9,15.2,75.7,5.18,25.21,46.95,138244.2,0.189868,0.226662,0.218192,0.262486,162.8 +shot_3,shot_3.json,30.72,32.94,-2.80,4070.1,-0.00,4070.1,-0.0,17.5,26.8,9.2,8.9,1.49,12.38,35.28,37591.2,0.662227,0.437461,0.110088,0.110088,17.5 +shot_4,shot_4.json,41.63,35.25,-0.96,5228.9,5.22,5207.3,475.4,31.5,41.4,9.9,19.2,2.23,15.39,41.03,50942.2,0.627805,0.475825,0.343880,0.343880,31.5 +shot_5,shot_5.json,34.04,35.10,-1.20,4487.3,-0.00,4487.3,-0.0,21.8,30.7,8.9,12.3,1.76,13.41,38.52,41663.5,0.658746,0.463524,0.212863,0.212863,21.8 +shot_6,shot_6.json,34.78,36.39,-0.62,4515.3,0.93,4514.7,73.1,22.9,31.9,9.0,13.7,1.85,13.62,40.01,42558.8,0.648916,0.466259,0.235365,0.235365,22.9 +shot_7,shot_7.json,41.38,18.02,-7.65,3110.5,-0.00,3110.5,-0.0,23.1,42.7,19.6,6.1,1.31,16.12,20.94,50646.4,0.375640,0.381571,0.290060,0.290060,23.1 +shot_8,shot_8.json,43.09,12.55,7.93,2821.4,18.87,2669.8,912.3,17.1,39.4,22.3,3.0,0.88,17.27,13.77,52729.6,0.327265,0.369439,0.149666,0.149666,17.1 +shot_9,shot_9.json,94.41,20.07,2.40,4020.4,16.33,3858.1,1130.8,122.9,134.8,11.9,60.6,4.42,23.52,46.00,115543.8,0.212823,0.225950,0.271866,0.304527,122.9 diff --git a/assets/data/shot_session_2/shot_diff_analysis.csv b/assets/data/shot_session_2/shot_diff_analysis.csv index 24384d6..c08bffc 100644 --- a/assets/data/shot_session_2/shot_diff_analysis.csv +++ b/assets/data/shot_session_2/shot_diff_analysis.csv @@ -1,28 +1,28 @@ shot_name,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,launch_regime_key,carry_window,physics_carry_yd,flightscope_carry_yd,diff_carry_yd,physics_carry_raw_yd,diff_carry_raw_yd,physics_total_yd,flightscope_total_yd,diff_total_yd,rollout_physics_yd,rollout_flightscope_yd,diff_rollout_yd,physics_apex_ft,flightscope_apex_ft,diff_apex_ft,carry_exception_regime,carry_exception_offset_yd,carry_exception_source,carry_exception_applied,status -shot_1,18.8,35.3,-3.4,3729,-0.0,C-S0-V4-P1,,7.0,,,7.0,,11.1,,,4.1,,,3.8,,,,,,false, +shot_1,18.8,35.3,-3.4,3729,-0.0,C-S0-V4-P1,,7.2,,,7.2,,11.4,,,4.2,,,3.9,,,,,,false, shot_10,89.7,25.5,-3.1,6446,6.2,I-S2-V3-P3,115-150,118.5,115.1,3.4,118.5,3.4,126.6,116.4,10.2,8.1,1.3,6.8,66.0,72.0,-6.0,,,,false,severe -shot_11,78.5,29.6,4.3,7350,10.7,I-S1-V3-P3,<115,90.4,93.0,-2.6,90.4,-2.6,94.7,93.6,1.1,4.3,0.6,3.7,59.4,64.0,-4.6,,,,false,pass -shot_12,90.8,24.5,-3.9,7261,4.9,I-S2-V2-P3,115-150,119.9,115.4,4.5,119.9,4.5,125.9,116.4,9.5,6.0,1.0,5.0,66.2,71.5,-5.3,,,,false,moderate -shot_13,95.2,19.6,-1.1,5610,12.2,I-S2-V2-P3,115-150,126.5,125.3,1.2,126.5,1.2,131.9,128.7,3.2,5.4,3.4,2.0,52.3,58.4,-6.1,,,,false,pass -shot_14,87.1,22.4,-2.0,5660,11.4,I-S2-V2-P3,<115,110.6,110.9,-0.3,110.6,-0.3,115.4,113.7,1.7,4.8,2.8,2.0,49.8,55.9,-6.1,,,,false,pass -shot_15,88.1,14.2,-0.3,4985,19.4,I-S2-V1-P2,<115,100.3,101.3,-1.0,100.3,-1.0,100.4,113.1,-12.7,0.1,11.8,-11.7,26.9,28.9,-2.0,,,,false,severe -shot_16,94.1,19.1,-5.9,5291,5.0,I-S2-V2-P2,115-150,124.0,124.3,-0.3,124.0,-0.3,130.3,128.1,2.2,6.3,3.8,2.5,51.8,55.3,-3.5,,,,false,pass -shot_17,122.9,14.4,-1.3,4119,6.7,D-S4-V1-P2,180-200,189.8,184.0,5.8,189.8,5.8,198.3,190.3,8.0,8.5,6.3,2.2,67.9,71.8,-3.9,,,,false,moderate -shot_18,105.7,20.5,-1.7,5667,8.2,I-S3-V2-P3,115-150,151.1,146.8,4.3,151.1,4.3,163.4,149.4,14.0,12.3,2.6,9.7,83.0,80.4,2.6,,,,false,severe -shot_19,128.6,12.5,-8.4,2514,5.1,D-S4-V1-P1,180-200,196.7,194.5,2.2,196.7,2.2,202.6,208.7,-6.1,5.9,14.2,-8.3,56.1,57.3,-1.2,,,,false,moderate -shot_2,18.6,33.3,-2.1,3688,-0.0,C-S0-V4-P1,,6.7,,,6.7,,10.9,,,4.2,,,3.4,,,,,,false, -shot_20,120.9,15.0,-3.0,4245,9.6,D-S4-V1-P2,150-180,185.4,179.4,6.0,185.4,6.0,196.8,185.3,11.5,11.4,5.9,5.5,70.3,72.3,-2.0,,,,false,severe +shot_11,78.5,29.6,4.3,7350,10.7,I-S1b-V3-P3,<115,91.9,93.0,-1.1,91.9,-1.1,96.4,93.6,2.8,4.5,0.6,3.9,60.4,64.0,-3.6,,,,false,pass +shot_12,90.8,24.5,-3.9,7261,4.9,I-S2-V2-P3,115-150,116.6,115.4,1.2,116.6,1.2,122.4,116.4,6.0,5.8,1.0,4.8,65.1,71.5,-6.4,,,,false,moderate +shot_13,95.2,19.6,-1.1,5610,12.2,I-S2-V2-P3,115-150,123.5,125.3,-1.8,123.5,-1.8,128.0,128.7,-0.7,4.5,3.4,1.1,51.3,58.4,-7.1,,,,false,pass +shot_14,87.1,22.4,-2.0,5660,11.4,I-S2-V2-P3,<115,108.1,110.9,-2.8,108.1,-2.8,112.2,113.7,-1.5,4.1,2.8,1.3,49.1,55.9,-6.8,,,,false,pass +shot_15,88.1,14.2,-0.3,4985,19.4,I-S2-V1-P2,<115,98.0,101.3,-3.3,98.0,-3.3,98.0,113.1,-15.1,0.0,11.8,-11.8,26.1,28.9,-2.8,,,,false,severe +shot_16,94.1,19.1,-5.9,5291,5.0,I-S2-V2-P2,115-150,123.8,124.3,-0.5,123.8,-0.5,129.9,128.1,1.8,6.1,3.8,2.3,51.5,55.3,-3.8,,,,false,pass +shot_17,122.9,14.4,-1.3,4119,6.7,D-S4-V1-P2,180-200,185.0,184.0,1.0,185.0,1.0,195.0,190.3,4.7,10.0,6.3,3.7,66.6,71.8,-5.2,,,,false,pass +shot_18,105.7,20.5,-1.7,5667,8.2,I-S3-V2-P3,115-150,144.6,146.8,-2.2,144.6,-2.2,154.6,149.4,5.2,10.0,2.6,7.4,76.1,80.4,-4.3,,,,false,moderate +shot_19,128.6,12.5,-8.4,2514,5.1,D-S4-V1-P1,180-200,192.4,194.5,-2.1,192.4,-2.1,198.2,208.7,-10.5,5.8,14.2,-8.4,55.1,57.3,-2.2,,,,false,severe +shot_2,18.6,33.3,-2.1,3688,-0.0,C-S0-V4-P1,,6.9,,,6.9,,11.3,,,4.4,,,3.4,,,,,,false, +shot_20,120.9,15.0,-3.0,4245,9.6,D-S4-V1-P2,150-180,180.8,179.4,1.4,180.8,1.4,191.2,185.3,5.9,10.4,5.9,4.5,69.0,72.3,-3.3,,,,false,moderate shot_21,127.3,7.2,-11.5,2321,-19.5,D-S4-V0-P0,150-180,159.8,154.9,4.9,159.8,4.9,214.2,186.5,27.7,54.4,31.6,22.8,24.8,23.1,1.7,,,,false,severe -shot_22,123.3,14.0,-6.1,3104,10.0,D-S4-V1-P1,180-200,190.0,185.4,4.6,190.0,4.6,197.1,195.5,1.6,7.1,10.1,-3.0,61.4,63.0,-1.6,,,,false,moderate -shot_23,125.5,8.6,-14.3,3062,-23.9,D-S4-V0-P1,150-180,165.4,161.9,3.5,165.4,3.5,165.4,185.0,-19.6,0.0,23.1,-23.1,31.0,31.0,0.0,,,,false,severe -shot_24,121.5,14.5,-11.2,3173,-6.8,D-S4-V1-P1,180-200,187.7,183.0,4.7,187.7,4.7,196.2,192.8,3.4,8.5,9.8,-1.3,62.7,64.6,-1.9,,,,false,moderate -shot_25,127.2,5.0,-12.6,2671,-16.2,D-S4-V0-P1,,148.5,,,148.5,,203.2,,,54.7,,,16.9,,,,,,false, -shot_26,117.0,18.4,-2.0,5035,9.7,I-S3-V2-P2,150-180,172.4,170.7,1.7,172.4,1.7,194.8,174.2,20.6,22.4,3.5,18.9,111.6,88.1,23.5,,,,false,severe -shot_27,113.0,17.6,-2.3,4292,12.2,D-S3-V1-P2,150-180,167.1,164.5,2.6,167.1,2.6,182.4,169.6,12.8,15.3,5.1,10.2,78.4,73.6,4.8,,,,false,severe -shot_3,30.7,32.9,-2.8,4070,-0.0,C-S0-V3-P2,,16.9,,,16.9,,25.4,,,8.5,,,8.7,,,,,,false, -shot_4,41.6,35.2,-1.0,5229,5.2,C-S0-V4-P2,,29.1,,,29.1,,37.6,,,8.5,,,18.0,,,,,,false, -shot_5,34.0,35.1,-1.2,4487,-0.0,C-S0-V4-P2,,20.8,,,20.8,,29.3,,,8.5,,,11.9,,,,,,false, -shot_6,34.8,36.4,-0.6,4515,0.9,C-S0-V4-P2,,21.8,,,21.8,,29.8,,,8.0,,,13.2,,,,,,false, -shot_7,41.4,18.0,-7.7,3110,-0.0,C-S0-V2-P1,,21.8,,,21.8,,39.8,,,18.0,,,5.8,,,,,,false, -shot_8,43.1,12.6,7.9,2821,18.9,C-S0-V1-P1,,16.6,,,16.6,,37.9,,,21.3,,,2.9,,,,,,false, -shot_9,94.4,20.1,2.4,4020,16.3,I-S2-V2-P2,115-150,123.2,126.5,-3.3,123.2,-3.3,134.1,132.5,1.6,10.9,6.0,4.9,61.9,54.8,7.1,,,,false,moderate +shot_22,123.3,14.0,-6.1,3104,10.0,D-S4-V1-P1,180-200,186.0,185.4,0.6,186.0,0.6,193.1,195.5,-2.4,7.1,10.1,-3.0,60.3,63.0,-2.7,,,,false,pass +shot_23,125.5,8.6,-14.3,3062,-23.9,D-S4-V0-P1,150-180,161.1,161.9,-0.8,161.1,-0.8,161.1,185.0,-23.9,0.0,23.1,-23.1,29.8,31.0,-1.2,,,,false,severe +shot_24,121.5,14.5,-11.2,3173,-6.8,D-S4-V1-P1,180-200,183.5,183.0,0.5,183.5,0.5,191.3,192.8,-1.5,7.8,9.8,-2.0,61.6,64.6,-3.0,,,,false,pass +shot_25,127.2,5.0,-12.6,2671,-16.2,D-S4-V0-P1,,143.4,,,143.4,,198.0,,,54.6,,,16.0,,,,,,false, +shot_26,117.0,18.4,-2.0,5035,9.7,I-S3-V2-P2,150-180,172.6,170.7,1.9,172.6,1.9,195.8,174.2,21.6,23.2,3.5,19.7,108.5,88.1,20.4,,,,false,severe +shot_27,113.0,17.6,-2.3,4292,12.2,D-S3-V1-P2,150-180,162.8,164.5,-1.7,162.8,-1.7,177.9,169.6,8.3,15.1,5.1,10.0,75.7,73.6,2.1,,,,false,moderate +shot_3,30.7,32.9,-2.8,4070,-0.0,C-S0-V3-P2,,17.5,,,17.5,,26.8,,,9.3,,,8.9,,,,,,false, +shot_4,41.6,35.2,-1.0,5229,5.2,C-S0-V4-P2,,31.5,,,31.5,,41.4,,,9.9,,,19.2,,,,,,false, +shot_5,34.0,35.1,-1.2,4487,-0.0,C-S0-V4-P2,,21.8,,,21.8,,30.7,,,8.9,,,12.3,,,,,,false, +shot_6,34.8,36.4,-0.6,4515,0.9,C-S0-V4-P2,,22.9,,,22.9,,31.9,,,9.0,,,13.7,,,,,,false, +shot_7,41.4,18.0,-7.7,3110,-0.0,C-S0-V2-P1,,23.1,,,23.1,,42.7,,,19.6,,,6.1,,,,,,false, +shot_8,43.1,12.6,7.9,2821,18.9,C-S0-V1-P1,,17.1,,,17.1,,39.4,,,22.3,,,3.0,,,,,,false, +shot_9,94.4,20.1,2.4,4020,16.3,I-S2-V2-P2,115-150,122.9,126.5,-3.6,122.9,-3.6,134.8,132.5,2.3,11.9,6.0,5.9,60.6,54.8,5.8,,,,false,moderate diff --git a/assets/data/shot_session_3/history/iteration_006.json b/assets/data/shot_session_3/history/iteration_006.json new file mode 100644 index 0000000..22b15a3 --- /dev/null +++ b/assets/data/shot_session_3/history/iteration_006.json @@ -0,0 +1,524 @@ +{ + "iteration": 6, + "timestamp": "2026-03-16T10:49:17.536497", + "profile_overrides": {}, + "summary": { + "pass": 16, + "moderate": 13, + "severe": 32, + "no_reference": 8 + }, + "per_shot": { + "shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_3w_20": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_5i_10": { + "diff_carry_yd": 2.5, + "diff_total_yd": -7.6, + "diff_apex_ft": 5.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -15.4, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_12": { + "diff_carry_yd": 1.1, + "diff_total_yd": -23.5, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_13": { + "diff_carry_yd": 2.3, + "diff_total_yd": 10.1, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_5i_14": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_5i_16": { + "diff_carry_yd": 0.9, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "shot_6i_35": { + "diff_carry_yd": -4.4, + "diff_total_yd": -15.9, + "diff_apex_ft": -3.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_6i_36": { + "diff_carry_yd": 2.8, + "diff_total_yd": -20.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_37": { + "diff_carry_yd": -3.7, + "diff_total_yd": 11.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_6i_38": { + "diff_carry_yd": -3.6, + "diff_total_yd": -21.7, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_6i_39": { + "diff_carry_yd": 0.0, + "diff_total_yd": 7.2, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_40": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.6, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_6i_42": { + "diff_carry_yd": -0.4, + "diff_total_yd": -16.7, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_43": { + "diff_carry_yd": 5.6, + "diff_total_yd": -0.2, + "diff_apex_ft": 7.8, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_47": { + "diff_carry_yd": 6.1, + "diff_total_yd": 8.3, + "diff_apex_ft": 11.4, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_6i_48": { + "diff_carry_yd": 5.3, + "diff_total_yd": 8.8, + "diff_apex_ft": 13.8, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_50": { + "diff_carry_yd": -0.9, + "diff_total_yd": -12.5, + "diff_apex_ft": 3.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_25": { + "diff_carry_yd": -0.9, + "diff_total_yd": -18.4, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_26": { + "diff_carry_yd": 1.5, + "diff_total_yd": -22.1, + "diff_apex_ft": 1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_27": { + "diff_carry_yd": 1.2, + "diff_total_yd": 4.7, + "diff_apex_ft": 7.7, + "status": "pass", + "error_pattern": null + }, + "shot_7i_28": { + "diff_carry_yd": 0.5, + "diff_total_yd": 1.5, + "diff_apex_ft": 8.1, + "status": "pass", + "error_pattern": null + }, + "shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_30": { + "diff_carry_yd": -0.7, + "diff_total_yd": 1.0, + "diff_apex_ft": 5.3, + "status": "pass", + "error_pattern": null + }, + "shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_7i_32": { + "diff_carry_yd": -0.3, + "diff_total_yd": -1.4, + "diff_apex_ft": 4.1, + "status": "pass", + "error_pattern": null + }, + "shot_7i_33": { + "diff_carry_yd": -0.1, + "diff_total_yd": -0.5, + "diff_apex_ft": 5.8, + "status": "pass", + "error_pattern": null + }, + "shot_7i_34": { + "diff_carry_yd": 3.6, + "diff_total_yd": 2.0, + "diff_apex_ft": 3.0, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "shot_9i_1": { + "diff_carry_yd": 0.2, + "diff_total_yd": -10.5, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -2.0, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.4, + "diff_apex_ft": -5.4, + "status": "pass", + "error_pattern": null + }, + "shot_9i_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.4, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "shot_9i_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "shot_9i_8": { + "diff_carry_yd": -2.3, + "diff_total_yd": 4.7, + "diff_apex_ft": -1.8, + "status": "pass", + "error_pattern": null + }, + "shot_9i_9": { + "diff_carry_yd": -1.8, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "shot_driver_51": { + "diff_carry_yd": 3.2, + "diff_total_yd": 19.2, + "diff_apex_ft": -7.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_56": { + "diff_carry_yd": -0.8, + "diff_total_yd": 13.7, + "diff_apex_ft": 7.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.5, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_pw_61": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_62": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_63": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_68": { + "diff_carry_yd": 0.6, + "diff_total_yd": 3.9, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + } + }, + "regressions": [ + { + "shot": "shot_pw_65", + "was": "pass", + "now": "moderate", + "prev_total_diff": 4.2, + "curr_total_diff": 6.2 + } + ], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.HighSpinMultiplierMax", + "Bounce.RolloutHighSpinRetention", + "Flight.ClMaxBase", + "Flight.CdMin", + "Flight.HighLaunchDragBoostMax", + "DragScaleMultiplier", + "LiftScaleMultiplier" + ] +} diff --git a/assets/data/shot_session_3/history/iteration_007.json b/assets/data/shot_session_3/history/iteration_007.json new file mode 100644 index 0000000..d330629 --- /dev/null +++ b/assets/data/shot_session_3/history/iteration_007.json @@ -0,0 +1,514 @@ +{ + "iteration": 7, + "timestamp": "2026-03-16T11:17:16.159701", + "profile_overrides": {}, + "summary": { + "pass": 20, + "moderate": 9, + "severe": 32, + "no_reference": 8 + }, + "per_shot": { + "shot_3w_18": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_3w_19": { + "diff_carry_yd": -0.6, + "diff_total_yd": 16.0, + "diff_apex_ft": 0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_3w_20": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_3w_21": { + "diff_carry_yd": 0.6, + "diff_total_yd": 15.9, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_3w_22": { + "diff_carry_yd": 2.6, + "diff_total_yd": 19.6, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_3w_23": { + "diff_carry_yd": 0.1, + "diff_total_yd": -23.3, + "diff_apex_ft": -1.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_24": { + "diff_carry_yd": 2.3, + "diff_total_yd": 23.8, + "diff_apex_ft": 0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_5i_10": { + "diff_carry_yd": -0.1, + "diff_total_yd": -10.6, + "diff_apex_ft": 4.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_11": { + "diff_carry_yd": -1.9, + "diff_total_yd": -15.9, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_12": { + "diff_carry_yd": 0.3, + "diff_total_yd": -24.4, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_13": { + "diff_carry_yd": 1.2, + "diff_total_yd": 8.7, + "diff_apex_ft": 0.4, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_5i_14": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_5i_15": { + "diff_carry_yd": -4.6, + "diff_total_yd": 14.5, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_5i_16": { + "diff_carry_yd": 0.0, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_17": { + "diff_carry_yd": 1.6, + "diff_total_yd": 4.3, + "diff_apex_ft": 0.2, + "status": "pass", + "error_pattern": null + }, + "shot_6i_35": { + "diff_carry_yd": -4.8, + "diff_total_yd": -16.2, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_6i_36": { + "diff_carry_yd": 1.8, + "diff_total_yd": 12.7, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_37": { + "diff_carry_yd": -3.9, + "diff_total_yd": 11.7, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_6i_38": { + "diff_carry_yd": -3.9, + "diff_total_yd": -22.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_6i_39": { + "diff_carry_yd": -0.2, + "diff_total_yd": 7.1, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_40": { + "diff_carry_yd": -0.9, + "diff_total_yd": 8.5, + "diff_apex_ft": 0.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_41": { + "diff_carry_yd": -4.7, + "diff_total_yd": 12.9, + "diff_apex_ft": -1.0, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_6i_42": { + "diff_carry_yd": -1.0, + "diff_total_yd": -17.4, + "diff_apex_ft": 0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_43": { + "diff_carry_yd": 2.6, + "diff_total_yd": -4.1, + "diff_apex_ft": 5.2, + "status": "pass", + "error_pattern": null + }, + "shot_6i_44": { + "diff_carry_yd": -1.8, + "diff_total_yd": -28.0, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_45": { + "diff_carry_yd": 3.0, + "diff_total_yd": 20.4, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_46": { + "diff_carry_yd": -1.0, + "diff_total_yd": -8.5, + "diff_apex_ft": -3.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_47": { + "diff_carry_yd": 3.0, + "diff_total_yd": 4.1, + "diff_apex_ft": 7.9, + "status": "pass", + "error_pattern": null + }, + "shot_6i_48": { + "diff_carry_yd": 2.3, + "diff_total_yd": 4.6, + "diff_apex_ft": 10.0, + "status": "pass", + "error_pattern": null + }, + "shot_6i_49": { + "diff_carry_yd": -1.6, + "diff_total_yd": 8.3, + "diff_apex_ft": -0.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_50": { + "diff_carry_yd": -1.7, + "diff_total_yd": -13.5, + "diff_apex_ft": 2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_25": { + "diff_carry_yd": -1.4, + "diff_total_yd": -19.0, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_26": { + "diff_carry_yd": 0.8, + "diff_total_yd": -23.0, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_27": { + "diff_carry_yd": -1.4, + "diff_total_yd": -0.1, + "diff_apex_ft": 5.0, + "status": "pass", + "error_pattern": null + }, + "shot_7i_28": { + "diff_carry_yd": -2.0, + "diff_total_yd": -1.9, + "diff_apex_ft": 5.6, + "status": "pass", + "error_pattern": null + }, + "shot_7i_29": { + "diff_carry_yd": 0.1, + "diff_total_yd": -6.6, + "diff_apex_ft": -3.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_30": { + "diff_carry_yd": -3.0, + "diff_total_yd": -2.2, + "diff_apex_ft": 3.1, + "status": "pass", + "error_pattern": null + }, + "shot_7i_31": { + "diff_carry_yd": -4.3, + "diff_total_yd": -13.8, + "diff_apex_ft": -4.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_7i_32": { + "diff_carry_yd": -0.7, + "diff_total_yd": -1.1, + "diff_apex_ft": 3.2, + "status": "pass", + "error_pattern": null + }, + "shot_7i_33": { + "diff_carry_yd": -0.5, + "diff_total_yd": -0.4, + "diff_apex_ft": 4.7, + "status": "pass", + "error_pattern": null + }, + "shot_7i_34": { + "diff_carry_yd": 0.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 1.2, + "status": "pass", + "error_pattern": null + }, + "shot_9i_1": { + "diff_carry_yd": -0.2, + "diff_total_yd": -11.5, + "diff_apex_ft": 1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_9i_2": { + "diff_carry_yd": -1.9, + "diff_total_yd": -1.9, + "diff_apex_ft": 0.1, + "status": "pass", + "error_pattern": null + }, + "shot_9i_3": { + "diff_carry_yd": -1.9, + "diff_total_yd": 1.5, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "shot_9i_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_5": { + "diff_carry_yd": 0.3, + "diff_total_yd": -2.3, + "diff_apex_ft": -4.4, + "status": "pass", + "error_pattern": null + }, + "shot_9i_6": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_7": { + "diff_carry_yd": 2.3, + "diff_total_yd": 2.9, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "shot_9i_8": { + "diff_carry_yd": -2.4, + "diff_total_yd": 3.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "shot_9i_9": { + "diff_carry_yd": -1.7, + "diff_total_yd": 2.3, + "diff_apex_ft": -6.3, + "status": "pass", + "error_pattern": null + }, + "shot_driver_51": { + "diff_carry_yd": 3.3, + "diff_total_yd": 17.0, + "diff_apex_ft": -8.5, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_driver_52": { + "diff_carry_yd": 3.7, + "diff_total_yd": 18.3, + "diff_apex_ft": -6.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_driver_53": { + "diff_carry_yd": 0.1, + "diff_total_yd": 10.3, + "diff_apex_ft": -8.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_54": { + "diff_carry_yd": 0.5, + "diff_total_yd": -4.9, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + }, + "shot_driver_55": { + "diff_carry_yd": 2.0, + "diff_total_yd": 21.7, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_56": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.6, + "diff_apex_ft": 5.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_57": { + "diff_carry_yd": -3.3, + "diff_total_yd": -17.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_driver_58": { + "diff_carry_yd": 9.3, + "diff_total_yd": 24.6, + "diff_apex_ft": -13.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_driver_59": { + "diff_carry_yd": -1.6, + "diff_total_yd": 14.4, + "diff_apex_ft": -4.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_60": { + "diff_carry_yd": -0.6, + "diff_total_yd": -15.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_pw_61": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_62": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_63": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_64": { + "diff_carry_yd": 3.4, + "diff_total_yd": 6.3, + "diff_apex_ft": 0.6, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_pw_65": { + "diff_carry_yd": 1.0, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_66": { + "diff_carry_yd": -1.6, + "diff_total_yd": 0.9, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "shot_pw_67": { + "diff_carry_yd": 1.3, + "diff_total_yd": 7.2, + "diff_apex_ft": -3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_68": { + "diff_carry_yd": 0.1, + "diff_total_yd": 3.3, + "diff_apex_ft": -7.2, + "status": "pass", + "error_pattern": null + }, + "shot_pw_69": { + "diff_carry_yd": -2.0, + "diff_total_yd": -3.1, + "diff_apex_ft": -3.5, + "status": "pass", + "error_pattern": null + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Bounce.RolloutHighSpinRetention" + ] +} diff --git a/assets/data/shot_session_3/physics.csv b/assets/data/shot_session_3/physics.csv index 0316b51..eee5b6f 100644 --- a/assets/data/shot_session_3/physics.csv +++ b/assets/data/shot_session_3/physics.csv @@ -1,70 +1,70 @@ shot_name,filename,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,backspin_rpm,sidespin_rpm,carry_yd,total_yd,rollout_yd,apex_ft,hang_time_s,landing_speed_mps,landing_angle_deg,initial_re,initial_spin_ratio,initial_cd,initial_cl,peak_cl,carry_only_yd -shot_3w_18,shot_3w_18.json,47.91,45.81,33.98,7491.0,30.00,6487.4,3745.5,36.3,41.1,4.8,34.4,2.94,15.99,54.95,58633.5,0.781418,0.593910,0.273498,0.273498,36.3 +shot_3w_18,shot_3w_18.json,47.91,45.81,33.98,7491.0,30.00,6487.4,3745.5,40.4,46.1,5.7,37.7,3.10,17.34,52.71,58633.5,0.781418,0.386042,0.341873,0.350207,40.4 shot_3w_19,shot_3w_19.json,121.33,5.59,-4.84,1661.5,-11.89,1625.9,-342.2,120.0,181.8,61.8,12.3,2.52,36.61,10.00,148481.0,0.068442,0.199224,0.151288,0.151476,120.0 shot_3w_20,shot_3w_20.json,116.03,4.40,2.29,2026.0,9.97,1995.4,350.7,102.5,162.3,59.7,8.2,2.18,36.89,7.76,141993.6,0.087270,0.198004,0.168655,0.168669,102.5 shot_3w_21,shot_3w_21.json,119.40,5.31,-3.43,1759.7,-10.46,1730.5,-319.5,115.2,176.4,61.2,11.2,2.43,36.54,9.44,146120.2,0.073659,0.198484,0.156580,0.156688,115.2 shot_3w_22,shot_3w_22.json,108.89,5.62,-7.25,2500.8,-1.78,2499.6,-77.5,105.8,160.9,55.1,11.0,2.43,33.66,10.12,133261.1,0.114780,0.198752,0.187398,0.187398,105.8 shot_3w_23,shot_3w_23.json,115.83,8.90,-0.78,2804.3,2.19,2802.2,107.3,147.8,147.6,-0.2,26.7,3.55,30.75,18.21,141755.6,0.120995,0.203281,0.178166,0.178525,147.8 -shot_3w_24,shot_3w_24.json,123.42,6.29,-5.42,2751.6,-13.27,2678.1,-631.8,152.8,205.1,52.3,21.6,3.43,32.63,15.02,151037.8,0.111429,0.206773,0.185432,0.185981,152.8 -shot_5i_10,shot_5i_10.json,87.96,14.22,1.21,4064.7,8.41,4021.0,594.4,105.6,109.1,3.5,34.2,3.58,22.94,34.20,107642.0,0.230959,0.238346,0.312469,0.319245,105.6 -shot_5i_11,shot_5i_11.json,90.59,14.45,-0.21,3360.4,7.80,3329.3,456.2,105.1,106.5,1.4,28.5,3.25,25.06,26.44,110866.8,0.185386,0.221876,0.213438,0.219440,105.1 -shot_5i_12,shot_5i_12.json,74.19,10.23,-1.67,3321.4,15.75,3196.7,901.5,59.5,58.4,-1.1,10.5,2.01,23.63,17.60,90789.2,0.223756,0.279231,0.301989,0.305937,59.5 -shot_5i_13,shot_5i_13.json,75.04,8.01,2.53,3921.4,3.42,3914.4,234.0,56.2,89.0,32.7,7.4,1.83,24.53,12.25,91830.0,0.261184,0.275684,0.303437,0.305052,56.2 -shot_5i_14,shot_5i_14.json,87.69,4.53,-7.68,3390.3,1.80,3388.6,106.5,54.4,97.9,43.6,4.0,1.43,31.11,6.68,107310.8,0.193234,0.228763,0.243331,0.243331,54.4 +shot_3w_24,shot_3w_24.json,123.42,6.29,-5.42,2751.6,-13.27,2678.1,-631.8,148.2,200.5,52.3,20.5,3.32,32.61,14.69,151037.8,0.111429,0.212976,0.181723,0.182469,148.2 +shot_5i_10,shot_5i_10.json,87.96,14.22,1.21,4064.7,8.41,4021.0,594.4,103.0,106.1,3.1,32.4,3.48,22.81,33.13,107642.0,0.230959,0.245496,0.299292,0.305612,103.0 +shot_5i_11,shot_5i_11.json,90.59,14.45,-0.21,3360.4,7.80,3329.3,456.2,106.9,108.2,1.4,28.9,3.29,25.32,26.16,110866.8,0.185386,0.215219,0.216380,0.220232,106.9 +shot_5i_12,shot_5i_12.json,74.19,10.23,-1.67,3321.4,15.75,3196.7,901.5,58.7,57.5,-1.2,10.2,1.98,23.74,17.13,90789.2,0.223756,0.279231,0.292739,0.296187,58.7 +shot_5i_13,shot_5i_13.json,75.04,8.01,2.53,3921.4,3.42,3914.4,234.0,55.1,87.6,32.5,7.2,1.78,24.70,11.93,91830.0,0.261184,0.275684,0.294718,0.296527,55.1 +shot_5i_14,shot_5i_14.json,87.69,4.53,-7.68,3390.3,1.80,3388.6,106.5,53.8,97.4,43.6,3.9,1.42,31.19,6.61,107310.8,0.193234,0.228763,0.240414,0.240414,53.8 shot_5i_15,shot_5i_15.json,86.90,9.35,-4.02,2508.9,-4.94,2499.6,-216.2,74.0,121.1,47.1,11.0,2.08,28.46,13.15,106345.9,0.144296,0.216973,0.187102,0.187102,74.0 -shot_5i_16,shot_5i_16.json,97.99,9.13,-2.08,3775.9,1.68,3774.3,110.7,110.0,109.0,-1.0,19.5,3.01,27.49,17.69,119926.2,0.192576,0.217163,0.229128,0.230270,110.0 -shot_5i_17,shot_5i_17.json,56.46,9.97,24.15,5178.3,29.12,4523.9,2519.7,28.4,45.2,16.9,4.2,1.18,20.20,12.12,69096.2,0.458380,0.407024,0.309595,0.311125,28.4 -shot_6i_35,shot_6i_35.json,80.55,15.35,-1.30,4667.1,-0.03,4667.1,-2.8,84.5,84.5,0.0,23.0,2.91,22.65,25.56,98572.3,0.289590,0.256148,0.244343,0.268788,84.5 -shot_6i_36,shot_6i_36.json,78.86,10.40,16.08,4166.0,25.12,3771.9,1768.7,69.5,68.0,-1.6,12.4,2.26,24.15,16.78,96505.8,0.264030,0.261524,0.298537,0.298537,69.5 -shot_6i_37,shot_6i_37.json,82.57,10.16,11.01,3041.1,25.35,2748.4,1301.8,67.8,109.1,41.3,10.9,2.03,26.86,14.36,101052.9,0.184068,0.236918,0.211057,0.211467,67.8 -shot_6i_38,shot_6i_38.json,79.12,13.35,3.04,3186.9,11.59,3121.9,640.2,75.6,75.8,0.2,18.1,2.53,23.76,23.52,96827.7,0.201308,0.252420,0.250057,0.259093,75.6 -shot_6i_39,shot_6i_39.json,60.98,6.14,10.35,3284.8,22.03,3044.9,1232.2,23.5,53.7,30.2,2.1,0.86,23.35,7.67,74625.7,0.269219,0.355069,0.288673,0.291280,23.5 -shot_6i_40,shot_6i_40.json,62.11,6.80,27.01,2768.0,30.00,2397.2,1384.0,24.9,58.8,33.9,2.6,0.90,23.63,8.89,76009.9,0.222738,0.346476,0.300173,0.300601,24.9 +shot_5i_16,shot_5i_16.json,97.99,9.13,-2.08,3775.9,1.68,3774.3,110.7,109.1,108.0,-1.1,19.2,2.98,27.60,17.38,119926.2,0.192576,0.217163,0.226500,0.227520,109.1 +shot_5i_17,shot_5i_17.json,56.46,9.97,24.15,5178.3,29.12,4523.9,2519.7,32.2,51.2,19.0,4.7,1.30,21.32,11.92,69096.2,0.458380,0.284917,0.371513,0.371514,32.2 +shot_6i_35,shot_6i_35.json,80.55,15.35,-1.30,4667.1,-0.03,4667.1,-2.8,85.2,85.3,0.0,23.2,2.93,22.80,25.47,98572.3,0.289590,0.251025,0.244371,0.270601,85.2 +shot_6i_36,shot_6i_36.json,78.86,10.40,16.08,4166.0,25.12,3771.9,1768.7,69.6,101.8,32.2,12.3,2.25,24.37,16.48,96505.8,0.264030,0.256293,0.293257,0.294638,69.6 +shot_6i_37,shot_6i_37.json,82.57,10.16,11.01,3041.1,25.35,2748.4,1301.8,67.6,108.9,41.3,10.9,2.02,26.89,14.26,101052.9,0.184068,0.236918,0.209958,0.210331,67.6 +shot_6i_38,shot_6i_38.json,79.12,13.35,3.04,3186.9,11.59,3121.9,640.2,75.3,75.5,0.2,17.9,2.51,23.82,23.27,96827.7,0.201308,0.252420,0.245502,0.253506,75.3 +shot_6i_39,shot_6i_39.json,60.98,6.14,10.35,3284.8,22.03,3044.9,1232.2,23.8,54.4,30.6,2.1,0.87,23.54,7.59,74625.7,0.269219,0.333765,0.292838,0.296020,23.8 +shot_6i_40,shot_6i_40.json,62.11,6.80,27.01,2768.0,30.00,2397.2,1384.0,25.3,59.6,34.3,2.6,0.91,23.83,8.78,76009.9,0.222738,0.325687,0.302726,0.302893,25.3 shot_6i_41,shot_6i_41.json,82.53,9.88,-2.28,2620.2,13.56,2547.1,614.5,66.6,110.8,44.2,10.3,1.97,27.33,13.45,100996.8,0.158675,0.229767,0.192268,0.192274,66.6 -shot_6i_42,shot_6i_42.json,77.19,13.14,-3.42,4057.2,4.14,4046.6,293.2,75.2,75.1,-0.0,18.2,2.62,22.52,24.02,94471.3,0.262673,0.267336,0.300938,0.300938,75.2 -shot_6i_43,shot_6i_43.json,94.06,13.88,-4.68,4616.2,1.70,4614.2,137.0,122.9,128.4,5.6,42.8,4.09,23.12,37.60,115112.4,0.245275,0.229891,0.319007,0.319007,122.9 +shot_6i_42,shot_6i_42.json,77.19,13.14,-3.42,4057.2,4.14,4046.6,293.2,75.6,75.5,-0.1,18.1,2.62,22.72,23.76,94471.3,0.262673,0.261989,0.295418,0.295418,75.6 +shot_6i_43,shot_6i_43.json,94.06,13.88,-4.68,4616.2,1.70,4614.2,137.0,119.9,124.5,4.6,40.2,3.97,22.99,36.36,115112.4,0.245275,0.236787,0.305379,0.305379,119.9 shot_6i_44,shot_6i_44.json,114.96,9.46,-6.67,2314.5,15.10,2234.6,602.8,140.5,140.2,-0.3,25.2,3.33,31.66,17.41,140686.5,0.100621,0.199291,0.165322,0.165596,140.5 shot_6i_45,shot_6i_45.json,109.32,6.42,-9.00,2509.9,-10.87,2464.9,-473.5,112.6,165.8,53.2,13.4,2.63,32.94,11.72,133784.2,0.114749,0.198894,0.187380,0.187385,112.6 -shot_6i_46,shot_6i_46.json,116.33,13.65,0.34,3007.9,10.67,2955.8,557.1,170.4,175.1,4.7,49.9,4.52,28.12,28.70,142368.0,0.129223,0.205178,0.180634,0.181813,170.4 -shot_6i_47,shot_6i_47.json,99.48,14.78,-2.86,4810.7,4.69,4794.6,393.7,137.3,146.0,8.7,56.4,4.62,23.48,43.48,121740.5,0.241695,0.226258,0.319265,0.319321,137.3 -shot_6i_48,shot_6i_48.json,101.73,15.23,-3.03,4631.0,4.26,4618.2,344.4,142.4,152.3,9.9,62.7,4.81,23.80,45.91,124502.8,0.227503,0.225652,0.307983,0.319321,142.4 -shot_6i_49,shot_6i_49.json,71.25,7.70,16.05,2624.7,30.00,2273.0,1312.3,37.4,77.2,39.8,4.2,1.20,26.17,9.51,87197.7,0.184102,0.276921,0.211348,0.211348,37.4 -shot_6i_50,shot_6i_50.json,82.80,14.85,-1.42,3783.4,2.81,3778.8,185.4,92.3,94.9,2.6,29.4,3.23,22.56,32.31,101335.6,0.228355,0.249757,0.309186,0.318391,92.3 -shot_7i_25,shot_7i_25.json,83.34,13.18,2.98,3409.5,17.79,3246.5,1041.7,86.0,86.4,0.4,21.0,2.79,24.10,24.39,101997.9,0.204455,0.241569,0.258137,0.267072,86.0 -shot_7i_26,shot_7i_26.json,73.37,10.85,15.40,3560.9,30.00,3083.8,1780.4,58.1,57.2,-1.0,10.7,1.99,23.40,17.63,89787.0,0.242568,0.282787,0.319319,0.319321,58.1 -shot_7i_27,shot_7i_27.json,93.74,17.06,-1.45,4611.6,2.63,4606.7,211.8,123.5,133.0,9.6,53.7,4.35,22.99,43.52,114719.5,0.245870,0.230213,0.318841,0.318841,123.5 -shot_7i_28,shot_7i_28.json,92.09,16.41,-3.60,4216.7,-0.44,4216.6,-32.4,118.4,127.1,8.7,48.7,4.13,23.00,41.49,112696.8,0.228852,0.232077,0.309859,0.319321,118.4 -shot_7i_29,shot_7i_29.json,107.59,13.82,-6.05,3633.3,4.72,3621.0,298.7,148.5,151.7,3.1,42.7,4.16,26.73,28.34,131669.7,0.168773,0.209903,0.195575,0.196851,148.5 -shot_7i_30,shot_7i_30.json,90.17,17.56,-3.83,4508.5,-0.21,4508.5,-16.5,114.7,122.7,7.9,48.4,4.10,22.66,41.77,110355.9,0.249879,0.234684,0.316829,0.316829,114.7 -shot_7i_31,shot_7i_31.json,76.36,17.52,-0.54,5122.2,1.84,5119.5,164.7,79.8,79.8,-0.0,24.2,2.93,21.60,27.18,93445.7,0.335263,0.267306,0.225889,0.268001,79.8 -shot_7i_32,shot_7i_32.json,93.10,16.96,-1.03,3762.5,4.20,3752.4,275.6,118.8,127.0,8.2,45.5,3.98,23.84,38.65,113935.9,0.201982,0.223811,0.251784,0.280365,118.8 -shot_7i_33,shot_7i_33.json,92.36,16.96,-0.58,3851.7,2.81,3847.1,188.9,117.5,126.1,8.6,46.5,4.01,23.49,39.73,113026.5,0.208434,0.226685,0.268276,0.298515,117.5 -shot_7i_34,shot_7i_34.json,104.19,14.67,-4.63,4081.2,1.90,4079.0,135.0,146.1,152.6,6.5,51.2,4.48,24.97,37.41,127515.3,0.195758,0.216738,0.236115,0.257062,146.1 -shot_9i_1,shot_9i_1.json,88.98,15.10,-0.50,3563.2,11.26,3494.6,695.8,104.8,107.8,3.0,32.0,3.41,24.02,31.16,108898.1,0.200130,0.228718,0.247047,0.262540,104.8 -shot_9i_2,shot_9i_2.json,71.29,23.93,5.51,4085.5,8.31,4042.7,590.2,73.9,78.2,4.3,33.7,3.18,20.09,39.41,87241.3,0.286429,0.292458,0.250705,0.268700,73.9 -shot_9i_3,shot_9i_3.json,90.11,21.67,2.80,5243.0,11.20,5143.3,1018.1,115.4,122.1,6.8,52.3,4.22,22.52,42.19,110277.5,0.290796,0.234780,0.242056,0.268000,115.4 +shot_6i_46,shot_6i_46.json,116.33,13.65,0.34,3007.9,10.67,2955.8,557.1,166.3,170.8,4.5,48.6,4.43,27.68,28.77,142368.0,0.129223,0.213385,0.178828,0.180417,166.3 +shot_6i_47,shot_6i_47.json,99.48,14.78,-2.86,4810.7,4.69,4794.6,393.7,134.2,141.8,7.5,52.9,4.48,23.26,42.06,121740.5,0.241695,0.233046,0.305545,0.305616,134.2 +shot_6i_48,shot_6i_48.json,101.73,15.23,-3.03,4631.0,4.26,4618.2,344.4,139.4,148.1,8.7,58.9,4.67,23.53,44.58,124502.8,0.227503,0.232422,0.295227,0.305616,139.4 +shot_6i_49,shot_6i_49.json,71.25,7.70,16.05,2624.7,30.00,2273.0,1312.3,38.3,78.6,40.3,4.3,1.23,26.40,9.49,87197.7,0.184102,0.260305,0.218652,0.218652,38.3 +shot_6i_50,shot_6i_50.json,82.80,14.85,-1.42,3783.4,2.81,3778.8,185.4,91.5,93.9,2.4,28.5,3.18,22.66,31.49,101335.6,0.228355,0.249757,0.299309,0.307622,91.5 +shot_7i_25,shot_7i_25.json,83.34,13.18,2.98,3409.5,17.79,3246.5,1041.7,85.5,85.8,0.3,20.6,2.77,24.18,24.01,101997.9,0.204455,0.241569,0.252849,0.260695,85.5 +shot_7i_26,shot_7i_26.json,73.37,10.85,15.40,3560.9,30.00,3083.8,1780.4,57.4,56.3,-1.1,10.4,1.96,23.51,17.22,89787.0,0.242568,0.282787,0.308696,0.308703,57.4 +shot_7i_27,shot_7i_27.json,93.74,17.06,-1.45,4611.6,2.63,4606.7,211.8,120.9,128.2,7.4,51.0,4.23,22.77,42.45,114719.5,0.245870,0.237119,0.305241,0.305241,120.9 +shot_7i_28,shot_7i_28.json,92.09,16.41,-3.60,4216.7,-0.44,4216.6,-32.4,115.9,123.7,7.8,46.2,4.03,22.81,40.54,112696.8,0.228852,0.239039,0.296925,0.305616,115.9 +shot_7i_29,shot_7i_29.json,107.59,13.82,-6.05,3633.3,4.72,3621.0,298.7,148.5,151.7,3.1,42.7,4.16,26.73,28.34,131669.7,0.168773,0.209903,0.195575,0.196825,148.5 +shot_7i_30,shot_7i_30.json,90.17,17.56,-3.83,4508.5,-0.21,4508.5,-16.5,112.4,119.5,7.1,46.2,4.00,22.46,40.91,110355.9,0.249879,0.241724,0.303518,0.303518,112.4 +shot_7i_31,shot_7i_31.json,76.36,17.52,-0.54,5122.2,1.84,5119.5,164.7,80.7,80.7,0.0,24.4,2.96,21.73,27.22,93445.7,0.335263,0.261959,0.228148,0.270680,80.7 +shot_7i_32,shot_7i_32.json,93.10,16.96,-1.03,3762.5,4.20,3752.4,275.6,120.5,128.7,8.1,45.7,4.00,24.18,38.13,113935.9,0.201982,0.217096,0.252014,0.273650,120.5 +shot_7i_33,shot_7i_33.json,92.36,16.96,-0.58,3851.7,2.81,3847.1,188.9,119.2,127.6,8.5,46.7,4.03,23.85,39.19,113026.5,0.208434,0.219885,0.267307,0.291353,119.2 +shot_7i_34,shot_7i_34.json,104.19,14.67,-4.63,4081.2,1.90,4079.0,135.0,142.8,150.6,7.7,49.4,4.38,24.71,37.16,127515.3,0.195758,0.223240,0.230490,0.253041,142.8 +shot_9i_1,shot_9i_1.json,88.98,15.10,-0.50,3563.2,11.26,3494.6,695.8,106.5,109.3,2.9,32.2,3.44,24.32,30.62,108898.1,0.200130,0.221857,0.247620,0.258441,106.5 +shot_9i_2,shot_9i_2.json,71.29,23.93,5.51,4085.5,8.31,4042.7,590.2,80.2,85.5,5.3,36.9,3.36,21.41,39.16,87241.3,0.286429,0.239815,0.279827,0.306940,80.2 +shot_9i_3,shot_9i_3.json,90.11,21.67,2.80,5243.0,11.20,5143.3,1018.1,115.4,122.2,6.8,52.2,4.22,22.54,42.22,110277.5,0.290796,0.234780,0.239909,0.268000,115.4 shot_9i_4,shot_9i_4.json,95.73,4.75,-6.78,2312.1,6.03,2299.3,242.8,63.4,117.7,54.3,4.8,1.53,33.99,6.66,117157.2,0.120704,0.201440,0.190698,0.190698,63.4 -shot_9i_5,shot_9i_5.json,84.02,19.37,3.82,5352.1,11.48,5245.0,1065.2,99.7,101.3,1.6,36.3,3.58,22.11,33.50,102827.9,0.318347,0.246612,0.224019,0.268000,99.7 +shot_9i_5,shot_9i_5.json,84.02,19.37,3.82,5352.1,11.48,5245.0,1065.2,103.0,104.9,1.8,37.4,3.68,22.60,33.54,102827.9,0.318347,0.231816,0.230740,0.276040,103.0 shot_9i_6,shot_9i_6.json,94.70,0.00,3.68,2200.5,28.95,1925.4,1065.3,4.2,70.0,65.8,0.1,0.09,41.73,0.55,115895.5,0.116130,0.201379,0.188169,0.188169,4.2 -shot_9i_7,shot_9i_7.json,83.03,22.51,5.26,7008.5,9.70,6908.3,1181.2,101.7,103.7,2.0,47.2,4.08,20.86,40.21,101607.9,0.421882,0.274806,0.254654,0.311339,101.7 -shot_9i_8,shot_9i_8.json,92.21,21.95,-6.31,5042.3,0.73,5041.8,64.2,120.6,131.1,10.5,60.8,4.49,22.75,46.49,112846.1,0.273294,0.231927,0.279723,0.279723,120.6 -shot_9i_9,shot_9i_9.json,90.06,22.14,-3.09,5351.1,1.21,5349.9,113.3,116.3,123.4,7.0,53.8,4.29,22.44,42.98,110212.5,0.296965,0.234860,0.231941,0.268000,116.3 -shot_driver_51,shot_driver_51.json,116.17,21.74,2.17,6409.0,3.23,6398.8,360.7,173.3,192.7,19.4,108.7,6.13,25.39,56.35,142164.9,0.275733,0.230679,0.274312,0.274312,173.3 -shot_driver_52,shot_driver_52.json,102.11,31.33,3.09,8442.2,6.26,8391.8,921.1,132.7,148.0,15.3,117.3,6.10,24.04,60.71,124959.2,0.413216,0.248358,0.250095,0.300565,132.7 -shot_driver_53,shot_driver_53.json,97.23,30.63,2.23,8925.8,5.99,8877.1,931.1,122.1,132.8,10.7,101.3,5.65,22.92,57.44,118995.0,0.458786,0.267733,0.272631,0.310100,122.1 -shot_driver_54,shot_driver_54.json,121.50,12.88,-5.26,3410.9,-9.97,3359.4,-590.5,182.8,188.0,5.2,54.0,4.78,28.08,29.76,148697.8,0.140300,0.211087,0.185406,0.187019,182.8 +shot_9i_7,shot_9i_7.json,83.03,22.51,5.26,7008.5,9.70,6908.3,1181.2,103.4,105.5,2.0,47.9,4.12,21.13,39.90,101607.9,0.421882,0.266562,0.257201,0.314452,103.4 +shot_9i_8,shot_9i_8.json,92.21,21.95,-6.31,5042.3,0.73,5041.8,64.2,120.5,129.4,8.9,60.3,4.48,22.75,46.23,112846.1,0.273294,0.231927,0.273562,0.273562,120.5 +shot_9i_9,shot_9i_9.json,90.06,22.14,-3.09,5351.1,1.21,5349.9,113.3,116.4,123.4,7.0,53.8,4.29,22.44,43.01,110212.5,0.296965,0.234860,0.230887,0.268000,116.4 +shot_driver_51,shot_driver_51.json,116.17,21.74,2.17,6409.0,3.23,6398.8,360.7,166.2,181.3,15.1,100.2,5.88,24.33,55.87,142164.9,0.275733,0.249134,0.257979,0.257979,166.2 +shot_driver_52,shot_driver_52.json,102.11,31.33,3.09,8442.2,6.26,8391.8,921.1,128.2,142.4,14.2,112.7,5.94,23.38,60.84,124959.2,0.413216,0.263259,0.242592,0.290834,128.2 +shot_driver_53,shot_driver_53.json,97.23,30.63,2.23,8925.8,5.99,8877.1,931.1,117.7,127.4,9.7,97.4,5.50,22.31,57.75,118995.0,0.458786,0.283797,0.264452,0.300780,117.7 +shot_driver_54,shot_driver_54.json,121.50,12.88,-5.26,3410.9,-9.97,3359.4,-590.5,178.7,183.8,5.1,53.0,4.72,27.55,30.03,148697.8,0.140300,0.219531,0.185406,0.187519,178.7 shot_driver_55,shot_driver_55.json,117.48,7.48,-8.33,2150.0,-27.19,1912.4,-982.4,127.6,183.5,56.0,17.6,2.85,34.16,13.31,143773.2,0.091462,0.199494,0.168768,0.168971,127.6 -shot_driver_56,shot_driver_56.json,118.70,17.12,-1.80,4553.8,2.81,4548.4,222.9,180.3,200.5,20.2,92.6,5.76,26.01,50.92,145271.0,0.191729,0.222313,0.226607,0.283622,180.3 -shot_driver_57,shot_driver_57.json,120.93,14.10,-5.16,1544.1,-7.96,1529.2,-213.7,171.8,176.6,4.8,47.2,4.23,30.58,26.21,147990.8,0.063815,0.198470,0.135395,0.136499,171.8 -shot_driver_58,shot_driver_58.json,119.27,23.59,2.48,7093.4,3.26,7081.9,403.5,180.2,197.9,17.7,120.3,6.48,25.75,57.85,145965.8,0.297231,0.233021,0.231575,0.268767,180.2 -shot_driver_59,shot_driver_59.json,80.96,44.91,8.87,6735.0,12.36,6578.8,1442.0,82.1,97.6,15.5,103.6,5.28,22.70,66.22,99079.0,0.415764,0.273004,0.251426,0.310718,82.1 +shot_driver_56,shot_driver_56.json,118.70,17.12,-1.80,4553.8,2.81,4548.4,222.9,175.7,192.5,16.9,88.8,5.63,25.49,50.95,145271.0,0.191729,0.231205,0.221916,0.279229,175.7 +shot_driver_57,shot_driver_57.json,120.93,14.10,-5.16,1544.1,-7.96,1529.2,-213.7,174.3,179.3,5.0,48.2,4.28,30.72,26.27,147990.8,0.063815,0.194500,0.138103,0.139058,174.3 +shot_driver_58,shot_driver_58.json,119.27,23.59,2.48,7093.4,3.26,7081.9,403.5,172.5,188.5,15.9,112.7,6.24,24.68,58.04,145965.8,0.297231,0.251663,0.221338,0.259997,172.5 +shot_driver_59,shot_driver_59.json,80.96,44.91,8.87,6735.0,12.36,6578.8,1442.0,82.1,97.6,15.5,103.6,5.28,22.70,66.23,99079.0,0.415764,0.273004,0.251426,0.310718,82.1 shot_driver_60,shot_driver_60.json,107.39,11.67,-8.62,3268.6,-14.80,3160.1,-835.0,137.9,138.4,0.5,31.5,3.64,28.36,22.12,131422.8,0.152117,0.205821,0.189954,0.190379,137.9 -shot_pw_61,shot_pw_61.json,31.89,25.35,-1.26,3867.9,-0.00,3867.9,-0.0,16.0,26.7,10.7,6.0,1.23,12.59,27.55,39031.5,0.606110,0.537588,0.122952,0.122952,16.0 -shot_pw_62,shot_pw_62.json,39.63,23.69,0.60,3843.5,2.08,3840.9,139.6,23.5,37.4,13.9,8.7,1.51,14.53,27.83,48495.7,0.484743,0.594442,0.304642,0.304642,23.5 -shot_pw_63,shot_pw_63.json,37.15,24.01,1.83,3913.8,-0.00,3913.8,-0.0,20.8,33.5,12.7,7.6,1.40,13.98,27.40,45463.9,0.526531,0.584736,0.254152,0.254152,20.8 -shot_pw_64,shot_pw_64.json,69.63,28.57,0.16,5327.2,5.10,5306.2,473.4,75.4,91.5,16.2,42.6,3.63,19.33,45.21,85210.2,0.382385,0.296424,0.235700,0.309036,75.4 -shot_pw_65,shot_pw_65.json,81.25,28.38,2.89,6959.4,9.38,6866.3,1134.7,97.9,103.6,5.7,61.6,4.46,20.73,48.98,99433.7,0.428086,0.277653,0.257944,0.311074,97.9 -shot_pw_66,shot_pw_66.json,75.71,27.32,-1.17,6605.0,3.99,6589.0,460.1,86.7,101.6,14.8,49.6,3.99,19.88,45.21,92652.6,0.436020,0.281600,0.262117,0.311309,86.7 -shot_pw_67,shot_pw_67.json,81.66,28.12,6.34,6509.6,12.74,6349.4,1435.1,99.6,106.3,6.7,60.9,4.45,20.85,48.97,99936.4,0.398402,0.266198,0.242678,0.311339,99.6 -shot_pw_68,shot_pw_68.json,88.55,23.37,-0.05,6637.4,6.04,6600.5,698.8,115.6,120.2,4.7,57.0,4.48,21.83,43.09,108370.9,0.374608,0.245718,0.232885,0.293206,115.6 -shot_pw_69,shot_pw_69.json,74.06,23.61,0.18,5880.4,8.45,5816.5,864.4,82.8,100.4,17.5,37.3,3.53,19.95,38.31,90634.2,0.396828,0.277758,0.241935,0.304847,82.8 +shot_pw_61,shot_pw_61.json,31.89,25.35,-1.26,3867.9,-0.00,3867.9,-0.0,16.6,27.8,11.2,6.2,1.24,13.02,26.99,39031.5,0.606110,0.376311,0.147542,0.147542,16.6 +shot_pw_62,shot_pw_62.json,39.63,23.69,0.60,3843.5,2.08,3840.9,139.6,25.4,40.7,15.4,9.2,1.58,15.26,27.23,48495.7,0.484743,0.416109,0.365571,0.365571,25.4 +shot_pw_63,shot_pw_63.json,37.15,24.01,1.83,3913.8,-0.00,3913.8,-0.0,22.1,36.0,13.9,8.0,1.45,14.61,26.80,45463.9,0.526531,0.409315,0.304982,0.304982,22.1 +shot_pw_64,shot_pw_64.json,69.63,28.57,0.16,5327.2,5.10,5306.2,473.4,83.5,88.7,5.2,47.0,3.89,20.82,44.80,85210.2,0.382385,0.234175,0.268698,0.338377,83.5 +shot_pw_65,shot_pw_65.json,81.25,28.38,2.89,6959.4,9.38,6866.3,1134.7,99.5,105.6,6.0,62.7,4.52,20.96,48.94,99433.7,0.428086,0.269323,0.263103,0.317428,99.5 +shot_pw_66,shot_pw_66.json,75.71,27.32,-1.17,6605.0,3.99,6589.0,460.1,88.1,91.7,3.6,50.5,4.04,20.09,45.12,92652.6,0.436020,0.273152,0.267359,0.317564,88.1 +shot_pw_67,shot_pw_67.json,81.66,28.12,6.34,6509.6,12.74,6349.4,1435.1,101.3,108.3,7.1,61.9,4.51,21.11,48.97,99936.4,0.398402,0.258212,0.247532,0.317566,101.3 +shot_pw_68,shot_pw_68.json,88.55,23.37,-0.05,6637.4,6.04,6600.5,698.8,112.8,117.4,4.6,56.2,4.43,21.33,43.83,108370.9,0.374608,0.258004,0.232885,0.297803,112.8 +shot_pw_69,shot_pw_69.json,74.06,23.61,0.18,5880.4,8.45,5816.5,864.4,84.0,85.7,1.7,37.7,3.56,20.18,38.00,90634.2,0.396828,0.269425,0.244354,0.305900,84.0 diff --git a/assets/data/shot_session_3/shot_diff_analysis.csv b/assets/data/shot_session_3/shot_diff_analysis.csv index e722b16..0655c1a 100644 --- a/assets/data/shot_session_3/shot_diff_analysis.csv +++ b/assets/data/shot_session_3/shot_diff_analysis.csv @@ -1,70 +1,70 @@ shot_name,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,launch_regime_key,carry_window,physics_carry_yd,flightscope_carry_yd,diff_carry_yd,physics_carry_raw_yd,diff_carry_raw_yd,physics_total_yd,flightscope_total_yd,diff_total_yd,rollout_physics_yd,rollout_flightscope_yd,diff_rollout_yd,physics_apex_ft,flightscope_apex_ft,diff_apex_ft,carry_exception_regime,carry_exception_offset_yd,carry_exception_source,carry_exception_applied,status -shot_3w_18,47.9,45.8,34.0,7491,30.0,C-S0-V4-P3,,36.3,,,36.3,,41.1,,,4.8,,,34.4,,,,,,false, +shot_3w_18,47.9,45.8,34.0,7491,30.0,C-S0-V4-P3,,40.4,,,40.4,,46.1,,,5.7,,,37.7,,,,,,false, shot_3w_19,121.3,5.6,-4.8,1662,-11.9,D-S4-V0-P0,115-150,120.0,120.6,-0.6,120.0,-0.6,181.8,165.8,16.0,61.8,45.2,16.6,12.3,12.2,0.1,,,,false,severe shot_3w_20,116.0,4.4,2.3,2026,10.0,D-S3-V0-P0,,102.5,,,102.5,,162.3,,,59.8,,,8.2,,,,,,false, shot_3w_21,119.4,5.3,-3.4,1760,-10.5,D-S3-V0-P0,<115,115.2,114.6,0.6,115.2,0.6,176.4,160.5,15.9,61.2,45.9,15.3,11.2,10.9,0.3,,,,false,severe shot_3w_22,108.9,5.6,-7.2,2501,-1.8,I-S3-V0-P1,<115,105.8,103.2,2.6,105.8,2.6,160.9,141.3,19.6,55.1,38.1,17.0,11.0,10.5,0.5,,,,false,severe shot_3w_23,115.8,8.9,-0.8,2804,2.2,D-S3-V0-P1,115-150,147.8,147.7,0.1,147.8,0.1,147.6,170.9,-23.3,-0.2,23.2,-23.4,26.7,28.0,-1.3,,,,false,severe -shot_3w_24,123.4,6.3,-5.4,2752,-13.3,D-S4-V0-P1,115-150,152.8,145.9,6.9,152.8,6.9,205.1,176.7,28.4,52.3,30.8,21.5,21.6,19.8,1.8,,,,false,severe -shot_5i_10,88.0,14.2,1.2,4065,8.4,I-S2-V1-P2,<115,105.6,103.1,2.5,105.6,2.5,109.1,116.7,-7.6,3.5,13.6,-10.1,34.2,28.4,5.8,,,,false,moderate -shot_5i_11,90.6,14.4,-0.2,3360,7.8,I-S2-V1-P1,<115,105.1,108.8,-3.7,105.1,-3.7,106.5,124.1,-17.6,1.4,15.3,-13.9,28.5,29.8,-1.3,,,,false,severe -shot_5i_12,74.2,10.2,-1.7,3321,15.8,I-S1-V1-P1,<115,59.5,58.4,1.1,59.5,1.1,58.4,81.9,-23.5,-1.1,23.5,-24.6,10.5,9.4,1.1,,,,false,severe -shot_5i_13,75.0,8.0,2.5,3921,3.4,I-S1-V0-P1,<115,56.2,53.9,2.3,56.2,2.3,89.0,78.9,10.1,32.8,25.0,7.8,7.4,6.8,0.6,,,,false,severe -shot_5i_14,87.7,4.5,-7.7,3390,1.8,I-S2-V0-P1,,54.4,,,54.4,,97.9,,,43.5,,,4.0,,,,,,false, +shot_3w_24,123.4,6.3,-5.4,2752,-13.3,D-S4-V0-P1,115-150,148.2,145.9,2.3,148.2,2.3,200.5,176.7,23.8,52.3,30.8,21.5,20.5,19.8,0.7,,,,false,severe +shot_5i_10,88.0,14.2,1.2,4065,8.4,I-S2-V1-P2,<115,103.0,103.1,-0.1,103.0,-0.1,106.1,116.7,-10.6,3.1,13.6,-10.5,32.4,28.4,4.0,,,,false,severe +shot_5i_11,90.6,14.4,-0.2,3360,7.8,I-S2-V1-P1,<115,106.9,108.8,-1.9,106.9,-1.9,108.2,124.1,-15.9,1.3,15.3,-14.0,28.9,29.8,-0.9,,,,false,severe +shot_5i_12,74.2,10.2,-1.7,3321,15.8,I-S1b-V1-P1,<115,58.7,58.4,0.3,58.7,0.3,57.5,81.9,-24.4,-1.2,23.5,-24.7,10.2,9.4,0.8,,,,false,severe +shot_5i_13,75.0,8.0,2.5,3921,3.4,I-S1b-V0-P1,<115,55.1,53.9,1.2,55.1,1.2,87.6,78.9,8.7,32.5,25.0,7.5,7.2,6.8,0.4,,,,false,moderate +shot_5i_14,87.7,4.5,-7.7,3390,1.8,I-S2-V0-P1,,53.8,,,53.8,,97.4,,,43.6,,,3.9,,,,,,false, shot_5i_15,86.9,9.3,-4.0,2509,-4.9,I-S2-V0-P1,<115,74.0,78.6,-4.6,74.0,-4.6,121.1,106.6,14.5,47.1,28.0,19.1,11.0,12.1,-1.1,,,,false,severe -shot_5i_16,98.0,9.1,-2.1,3776,1.7,I-S2-V0-P1,<115,110.0,109.1,0.9,110.0,0.9,109.0,130.0,-21.0,-1.0,20.9,-21.9,19.5,19.7,-0.2,,,,false,severe -shot_5i_17,56.5,10.0,24.1,5178,29.1,C-S0-V0-P2,<115,28.4,30.6,-2.2,28.4,-2.2,45.2,46.9,-1.7,16.8,16.3,0.5,4.2,4.5,-0.3,,,,false,pass -shot_6i_35,80.5,15.3,-1.3,4667,-0.0,I-S1-V1-P2,<115,84.5,90.0,-5.5,84.5,-5.5,84.5,101.5,-17.0,0.0,11.5,-11.5,23.0,26.4,-3.4,,,,false,severe -shot_6i_36,78.9,10.4,16.1,4166,25.1,I-S1-V1-P2,<115,69.5,67.8,1.7,69.5,1.7,68.0,89.1,-21.1,-1.5,21.3,-22.8,12.4,11.8,0.6,,,,false,severe -shot_6i_37,82.6,10.2,11.0,3041,25.4,I-S1-V1-P1,<115,67.8,71.5,-3.7,67.8,-3.7,109.1,97.2,11.9,41.3,25.7,15.6,10.9,11.8,-0.9,,,,false,severe -shot_6i_38,79.1,13.3,3.0,3187,11.6,I-S1-V1-P1,<115,75.6,79.2,-3.6,75.6,-3.6,75.8,97.5,-21.7,0.2,18.3,-18.1,18.1,18.0,0.1,,,,false,severe -shot_6i_39,61.0,6.1,10.3,3285,22.0,I-S1-V0-P1,<115,23.5,24.0,-0.5,23.5,-0.5,53.7,47.3,6.4,30.2,23.3,6.9,2.1,2.1,0.0,,,,false,moderate -shot_6i_40,62.1,6.8,27.0,2768,30.0,I-S1-V0-P1,<115,24.9,26.2,-1.3,24.9,-1.3,58.8,51.1,7.7,33.9,24.9,9.0,2.6,2.5,0.1,,,,false,moderate -shot_6i_41,82.5,9.9,-2.3,2620,13.6,I-S1-V0-P1,<115,66.6,71.3,-4.7,66.6,-4.7,110.8,97.9,12.9,44.2,26.6,17.6,10.3,11.3,-1.0,,,,false,severe -shot_6i_42,77.2,13.1,-3.4,4057,4.1,I-S1-V1-P2,<115,75.2,76.6,-1.4,75.2,-1.4,75.1,92.9,-17.8,-0.1,16.3,-16.4,18.2,17.5,0.7,,,,false,severe -shot_6i_43,94.1,13.9,-4.7,4616,1.7,I-S2-V1-P2,115-150,122.9,117.3,5.6,122.9,5.6,128.4,128.6,-0.2,5.5,11.3,-5.8,42.8,35.0,7.8,,,,false,moderate +shot_5i_16,98.0,9.1,-2.1,3776,1.7,I-S2-V0-P1,<115,109.1,109.1,0.0,109.1,0.0,108.0,130.0,-22.0,-1.1,20.9,-22.0,19.2,19.7,-0.5,,,,false,severe +shot_5i_17,56.5,10.0,24.1,5178,29.1,C-S0-V0-P2,<115,32.2,30.6,1.6,32.2,1.6,51.2,46.9,4.3,19.0,16.3,2.7,4.7,4.5,0.2,,,,false,pass +shot_6i_35,80.5,15.3,-1.3,4667,-0.0,I-S1b-V1-P2,<115,85.2,90.0,-4.8,85.2,-4.8,85.3,101.5,-16.2,0.1,11.5,-11.4,23.2,26.4,-3.2,,,,false,severe +shot_6i_36,78.9,10.4,16.1,4166,25.1,I-S1b-V1-P2,<115,69.6,67.8,1.8,69.6,1.8,101.8,89.1,12.7,32.2,21.3,10.9,12.3,11.8,0.5,,,,false,severe +shot_6i_37,82.6,10.2,11.0,3041,25.4,I-S1b-V1-P1,<115,67.6,71.5,-3.9,67.6,-3.9,108.9,97.2,11.7,41.3,25.7,15.6,10.9,11.8,-0.9,,,,false,severe +shot_6i_38,79.1,13.3,3.0,3187,11.6,I-S1b-V1-P1,<115,75.3,79.2,-3.9,75.3,-3.9,75.5,97.5,-22.0,0.2,18.3,-18.1,17.9,18.0,-0.1,,,,false,severe +shot_6i_39,61.0,6.1,10.3,3285,22.0,I-S1a-V0-P1,<115,23.8,24.0,-0.2,23.8,-0.2,54.4,47.3,7.1,30.6,23.3,7.3,2.1,2.1,0.0,,,,false,moderate +shot_6i_40,62.1,6.8,27.0,2768,30.0,I-S1a-V0-P1,<115,25.3,26.2,-0.9,25.3,-0.9,59.6,51.1,8.5,34.3,24.9,9.4,2.6,2.5,0.1,,,,false,moderate +shot_6i_41,82.5,9.9,-2.3,2620,13.6,I-S1b-V0-P1,<115,66.6,71.3,-4.7,66.6,-4.7,110.8,97.9,12.9,44.2,26.6,17.6,10.3,11.3,-1.0,,,,false,severe +shot_6i_42,77.2,13.1,-3.4,4057,4.1,I-S1b-V1-P2,<115,75.6,76.6,-1.0,75.6,-1.0,75.5,92.9,-17.4,-0.1,16.3,-16.4,18.1,17.5,0.6,,,,false,severe +shot_6i_43,94.1,13.9,-4.7,4616,1.7,I-S2-V1-P2,115-150,119.9,117.3,2.6,119.9,2.6,124.5,128.6,-4.1,4.6,11.3,-6.7,40.2,35.0,5.2,,,,false,pass shot_6i_44,115.0,9.5,-6.7,2314,15.1,D-S3-V0-P0,115-150,140.5,142.3,-1.8,140.5,-1.8,140.2,168.2,-28.0,-0.3,25.9,-26.2,25.2,26.6,-1.4,,,,false,severe shot_6i_45,109.3,6.4,-9.0,2510,-10.9,I-S3-V0-P1,<115,112.6,109.6,3.0,112.6,3.0,165.8,145.4,20.4,53.2,35.8,17.4,13.4,12.9,0.5,,,,false,severe -shot_6i_46,116.3,13.7,0.3,3008,10.7,D-S3-V1-P1,150-180,170.4,167.3,3.1,170.4,3.1,175.1,179.3,-4.2,4.7,12.0,-7.3,49.9,51.6,-1.7,,,,false,moderate -shot_6i_47,99.5,14.8,-2.9,4811,4.7,I-S2-V1-P2,115-150,137.3,131.2,6.1,137.3,6.1,146.0,137.7,8.3,8.7,6.5,2.2,56.4,45.0,11.4,,,,false,moderate -shot_6i_48,101.7,15.2,-3.0,4631,4.3,I-S2-V1-P2,115-150,142.4,137.1,5.3,142.4,5.3,152.3,143.5,8.8,9.9,6.4,3.5,62.7,48.9,13.8,,,,false,moderate -shot_6i_49,71.2,7.7,16.1,2625,30.0,I-S1-V0-P1,<115,37.4,39.9,-2.5,37.4,-2.5,77.2,70.3,6.9,39.8,30.4,9.4,4.2,4.5,-0.3,,,,false,moderate -shot_6i_50,82.8,14.8,-1.4,3783,2.8,I-S1-V1-P1,<115,92.3,93.2,-0.9,92.3,-0.9,94.9,107.4,-12.5,2.6,14.2,-11.6,29.4,25.6,3.8,,,,false,severe -shot_7i_25,83.3,13.2,3.0,3410,17.8,I-S1-V1-P1,<115,86.0,86.9,-0.9,86.0,-0.9,86.4,104.8,-18.4,0.4,17.9,-17.5,21.0,20.1,0.9,,,,false,severe -shot_7i_26,73.4,10.8,15.4,3561,30.0,I-S1-V1-P1,<115,58.1,56.6,1.5,58.1,1.5,57.2,79.3,-22.1,-0.9,22.7,-23.6,10.7,9.6,1.1,,,,false,severe -shot_7i_27,93.7,17.1,-1.4,4612,2.6,I-S2-V1-P2,115-150,123.5,122.3,1.2,123.5,1.2,133.0,128.3,4.7,9.5,6.0,3.5,53.7,46.0,7.7,,,,false,pass -shot_7i_28,92.1,16.4,-3.6,4217,-0.4,I-S2-V1-P2,115-150,118.4,117.9,0.5,118.4,0.5,127.1,125.6,1.5,8.7,7.7,1.0,48.7,40.6,8.1,,,,false,pass +shot_6i_46,116.3,13.7,0.3,3008,10.7,D-S3-V1-P1,150-180,166.3,167.3,-1.0,166.3,-1.0,170.8,179.3,-8.5,4.5,12.0,-7.5,48.6,51.6,-3.0,,,,false,moderate +shot_6i_47,99.5,14.8,-2.9,4811,4.7,I-S2-V1-P2,115-150,134.2,131.2,3.0,134.2,3.0,141.8,137.7,4.1,7.6,6.5,1.1,52.9,45.0,7.9,,,,false,pass +shot_6i_48,101.7,15.2,-3.0,4631,4.3,I-S2-V1-P2,115-150,139.4,137.1,2.3,139.4,2.3,148.1,143.5,4.6,8.7,6.4,2.3,58.9,48.9,10.0,,,,false,pass +shot_6i_49,71.2,7.7,16.1,2625,30.0,I-S1a-V0-P1,<115,38.3,39.9,-1.6,38.3,-1.6,78.6,70.3,8.3,40.3,30.4,9.9,4.3,4.5,-0.2,,,,false,moderate +shot_6i_50,82.8,14.8,-1.4,3783,2.8,I-S1b-V1-P1,<115,91.5,93.2,-1.7,91.5,-1.7,93.9,107.4,-13.5,2.4,14.2,-11.8,28.5,25.6,2.9,,,,false,severe +shot_7i_25,83.3,13.2,3.0,3410,17.8,I-S1b-V1-P1,<115,85.5,86.9,-1.4,85.5,-1.4,85.8,104.8,-19.0,0.3,17.9,-17.6,20.6,20.1,0.5,,,,false,severe +shot_7i_26,73.4,10.8,15.4,3561,30.0,I-S1b-V1-P1,<115,57.4,56.6,0.8,57.4,0.8,56.3,79.3,-23.0,-1.1,22.7,-23.8,10.4,9.6,0.8,,,,false,severe +shot_7i_27,93.7,17.1,-1.4,4612,2.6,I-S2-V1-P2,115-150,120.9,122.3,-1.4,120.9,-1.4,128.2,128.3,-0.1,7.3,6.0,1.3,51.0,46.0,5.0,,,,false,pass +shot_7i_28,92.1,16.4,-3.6,4217,-0.4,I-S2-V1-P2,115-150,115.9,117.9,-2.0,115.9,-2.0,123.7,125.6,-1.9,7.8,7.7,0.1,46.2,40.6,5.6,,,,false,pass shot_7i_29,107.6,13.8,-6.0,3633,4.7,I-S3-V1-P1,115-150,148.5,148.4,0.1,148.5,0.1,151.7,158.3,-6.6,3.2,9.9,-6.7,42.7,46.3,-3.6,,,,false,moderate -shot_7i_30,90.2,17.6,-3.8,4508,-0.2,I-S2-V1-P2,115-150,114.7,115.4,-0.7,114.7,-0.7,122.7,121.7,1.0,8.0,6.3,1.7,48.4,43.1,5.3,,,,false,pass -shot_7i_31,76.4,17.5,-0.5,5122,1.8,I-S1-V1-P2,<115,79.8,85.0,-5.2,79.8,-5.2,79.8,94.5,-14.7,0.0,9.5,-9.5,24.2,28.4,-4.2,,,,false,severe -shot_7i_32,93.1,17.0,-1.0,3762,4.2,I-S2-V1-P1,115-150,118.8,121.2,-2.4,118.8,-2.4,127.0,129.8,-2.8,8.2,8.6,-0.4,45.5,42.5,3.0,,,,false,pass -shot_7i_33,92.4,17.0,-0.6,3852,2.8,I-S2-V1-P1,115-150,117.5,119.7,-2.2,117.5,-2.2,126.1,128.0,-1.9,8.6,8.3,0.3,46.5,42.0,4.5,,,,false,pass -shot_7i_34,104.2,14.7,-4.6,4081,1.9,I-S2-V1-P2,115-150,146.1,142.5,3.6,146.1,3.6,152.6,150.6,2.0,6.5,8.1,-1.6,51.2,48.2,3.0,,,,false,moderate -shot_9i_1,89.0,15.1,-0.5,3563,11.3,I-S2-V1-P1,<115,104.8,106.7,-1.9,104.8,-1.9,107.8,120.8,-13.0,3.0,14.1,-11.1,32.0,30.8,1.2,,,,false,severe -shot_9i_2,71.3,23.9,5.5,4086,8.3,I-S1-V2-P2,<115,73.9,82.1,-8.2,73.9,-8.2,78.2,87.4,-9.2,4.3,5.3,-1.0,33.7,36.8,-3.1,,,,false,severe -shot_9i_3,90.1,21.7,2.8,5243,11.2,I-S2-V2-P2,115-150,115.4,117.3,-1.9,115.4,-1.9,122.1,120.7,1.4,6.7,3.4,3.3,52.3,57.7,-5.4,,,,false,pass +shot_7i_30,90.2,17.6,-3.8,4508,-0.2,I-S2-V1-P2,115-150,112.4,115.4,-3.0,112.4,-3.0,119.5,121.7,-2.2,7.1,6.3,0.8,46.2,43.1,3.1,,,,false,pass +shot_7i_31,76.4,17.5,-0.5,5122,1.8,I-S1b-V1-P2,<115,80.7,85.0,-4.3,80.7,-4.3,80.7,94.5,-13.8,0.0,9.5,-9.5,24.4,28.4,-4.0,,,,false,severe +shot_7i_32,93.1,17.0,-1.0,3762,4.2,I-S2-V1-P1,115-150,120.5,121.2,-0.7,120.5,-0.7,128.7,129.8,-1.1,8.2,8.6,-0.4,45.7,42.5,3.2,,,,false,pass +shot_7i_33,92.4,17.0,-0.6,3852,2.8,I-S2-V1-P1,115-150,119.2,119.7,-0.5,119.2,-0.5,127.6,128.0,-0.4,8.4,8.3,0.1,46.7,42.0,4.7,,,,false,pass +shot_7i_34,104.2,14.7,-4.6,4081,1.9,I-S2-V1-P2,115-150,142.8,142.5,0.3,142.8,0.3,150.6,150.6,0.0,7.8,8.1,-0.3,49.4,48.2,1.2,,,,false,pass +shot_9i_1,89.0,15.1,-0.5,3563,11.3,I-S2-V1-P1,<115,106.5,106.7,-0.2,106.5,-0.2,109.3,120.8,-11.5,2.8,14.1,-11.3,32.2,30.8,1.4,,,,false,severe +shot_9i_2,71.3,23.9,5.5,4086,8.3,I-S1a-V2-P2,<115,80.2,82.1,-1.9,80.2,-1.9,85.5,87.4,-1.9,5.3,5.3,-0.0,36.9,36.8,0.1,,,,false,pass +shot_9i_3,90.1,21.7,2.8,5243,11.2,I-S2-V2-P2,115-150,115.4,117.3,-1.9,115.4,-1.9,122.2,120.7,1.5,6.8,3.4,3.4,52.2,57.7,-5.5,,,,false,pass shot_9i_4,95.7,4.8,-6.8,2312,6.0,I-S2-V0-P0,,63.4,,,63.4,,117.7,,,54.3,,,4.8,,,,,,false, -shot_9i_5,84.0,19.4,3.8,5352,11.5,I-S1-V2-P2,<115,99.7,102.7,-3.0,99.7,-3.0,101.3,107.2,-5.9,1.6,4.5,-2.9,36.3,41.8,-5.5,,,,false,moderate +shot_9i_5,84.0,19.4,3.8,5352,11.5,I-S1b-V2-P2,<115,103.0,102.7,0.3,103.0,0.3,104.9,107.2,-2.3,1.9,4.5,-2.6,37.4,41.8,-4.4,,,,false,pass shot_9i_6,94.7,0.0,3.7,2200,28.9,I-S2-V0-P0,,4.2,,,4.2,,70.0,,,65.8,,,0.1,,,,,,false, -shot_9i_7,83.0,22.5,5.3,7008,9.7,I-S1-V2-P3,<115,101.7,101.1,0.6,101.7,0.6,103.7,102.6,1.1,2.0,1.5,0.5,47.2,51.5,-4.3,,,,false,pass -shot_9i_8,92.2,21.9,-6.3,5042,0.7,I-S2-V2-P2,115-150,120.6,122.9,-2.3,120.6,-2.3,131.1,126.4,4.7,10.5,3.5,7.0,60.8,62.6,-1.8,,,,false,pass -shot_9i_9,90.1,22.1,-3.1,5351,1.2,I-S2-V2-P2,115-150,116.3,118.1,-1.8,116.3,-1.8,123.4,121.1,2.3,7.1,3.0,4.1,53.8,60.1,-6.3,,,,false,pass -shot_driver_51,116.2,21.7,2.2,6409,3.2,I-S3-V2-P3,150-180,173.3,162.9,10.4,173.3,10.4,192.7,164.3,28.4,19.4,1.4,18.0,108.7,108.7,0.0,,,,false,severe -shot_driver_52,102.1,31.3,3.1,8442,6.3,W-S2-V3-P4,115-150,132.7,124.5,8.2,132.7,8.2,148.0,124.1,23.9,15.3,-0.4,15.7,117.3,119.3,-2.0,,,,false,severe -shot_driver_53,97.2,30.6,2.2,8926,6.0,W-S2-V3-P4,115-150,122.1,117.6,4.5,122.1,4.5,132.8,117.1,15.7,10.7,-0.5,11.2,101.3,105.8,-4.5,,,,false,severe -shot_driver_54,121.5,12.9,-5.3,3411,-10.0,D-S4-V1-P1,150-180,182.8,178.2,4.6,182.8,4.6,188.0,188.7,-0.7,5.2,10.5,-5.3,54.0,56.5,-2.5,,,,false,moderate +shot_9i_7,83.0,22.5,5.3,7008,9.7,I-S1b-V2-P3,<115,103.4,101.1,2.3,103.4,2.3,105.5,102.6,2.9,2.1,1.5,0.6,47.9,51.5,-3.6,,,,false,pass +shot_9i_8,92.2,21.9,-6.3,5042,0.7,I-S2-V2-P2,115-150,120.5,122.9,-2.4,120.5,-2.4,129.4,126.4,3.0,8.9,3.5,5.4,60.3,62.6,-2.3,,,,false,pass +shot_9i_9,90.1,22.1,-3.1,5351,1.2,I-S2-V2-P2,115-150,116.4,118.1,-1.7,116.4,-1.7,123.4,121.1,2.3,7.0,3.0,4.0,53.8,60.1,-6.3,,,,false,pass +shot_driver_51,116.2,21.7,2.2,6409,3.2,I-S3-V2-P3,150-180,166.2,162.9,3.3,166.2,3.3,181.3,164.3,17.0,15.1,1.4,13.7,100.2,108.7,-8.5,,,,false,severe +shot_driver_52,102.1,31.3,3.1,8442,6.3,W-S2-V3-P4,115-150,128.2,124.5,3.7,128.2,3.7,142.4,124.1,18.3,14.2,-0.4,14.6,112.7,119.3,-6.6,,,,false,severe +shot_driver_53,97.2,30.6,2.2,8926,6.0,W-S2-V3-P4,115-150,117.7,117.6,0.1,117.7,0.1,127.4,117.1,10.3,9.7,-0.5,10.2,97.4,105.8,-8.4,,,,false,severe +shot_driver_54,121.5,12.9,-5.3,3411,-10.0,D-S4-V1-P1,150-180,178.7,178.2,0.5,178.7,0.5,183.8,188.7,-4.9,5.1,10.5,-5.4,53.0,56.5,-3.5,,,,false,pass shot_driver_55,117.5,7.5,-8.3,2150,-27.2,D-S3-V0-P0,115-150,127.6,125.6,2.0,127.6,2.0,183.5,161.8,21.7,55.9,36.2,19.7,17.6,17.2,0.4,,,,false,severe -shot_driver_56,118.7,17.1,-1.8,4554,2.8,D-S3-V1-P2,150-180,180.3,176.6,3.7,180.3,3.7,200.5,180.9,19.6,20.2,4.3,15.9,92.6,83.2,9.4,,,,false,severe -shot_driver_57,120.9,14.1,-5.2,1544,-8.0,D-S4-V1-P0,150-180,171.8,177.6,-5.8,171.8,-5.8,176.6,197.0,-20.4,4.8,19.4,-14.6,47.2,50.9,-3.7,,,,false,severe -shot_driver_58,119.3,23.6,2.5,7093,3.3,I-S3-V2-P3,150-180,180.2,163.2,17.0,180.2,17.0,197.9,163.9,34.0,17.7,0.7,17.0,120.3,125.7,-5.4,,,,false,severe -shot_driver_59,81.0,44.9,8.9,6735,12.4,W-S1-V4-P3,<115,82.1,83.7,-1.6,82.1,-1.6,97.6,83.2,14.4,15.5,-0.5,16.0,103.6,107.8,-4.2,,,,false,severe +shot_driver_56,118.7,17.1,-1.8,4554,2.8,D-S3-V1-P2,150-180,175.7,176.6,-0.9,175.7,-0.9,192.5,180.9,11.6,16.8,4.3,12.5,88.8,83.2,5.6,,,,false,severe +shot_driver_57,120.9,14.1,-5.2,1544,-8.0,D-S4-V1-P0,150-180,174.3,177.6,-3.3,174.3,-3.3,179.3,197.0,-17.7,5.0,19.4,-14.4,48.2,50.9,-2.7,,,,false,severe +shot_driver_58,119.3,23.6,2.5,7093,3.3,I-S3-V2-P3,150-180,172.5,163.2,9.3,172.5,9.3,188.5,163.9,24.6,16.0,0.7,15.3,112.7,125.7,-13.0,,,,false,severe +shot_driver_59,81.0,44.9,8.9,6735,12.4,W-S1b-V4-P3,<115,82.1,83.7,-1.6,82.1,-1.6,97.6,83.2,14.4,15.5,-0.5,16.0,103.6,107.8,-4.2,,,,false,severe shot_driver_60,107.4,11.7,-8.6,3269,-14.8,I-S3-V1-P1,115-150,137.9,138.5,-0.6,137.9,-0.6,138.4,153.8,-15.4,0.5,15.3,-14.8,31.5,34.0,-2.5,,,,false,severe -shot_pw_61,31.9,25.4,-1.3,3868,-0.0,C-S0-V3-P1,,16.0,,,16.0,,26.7,,,10.7,,,6.0,,,,,,false, -shot_pw_62,39.6,23.7,0.6,3844,2.1,C-S0-V2-P1,,23.5,,,23.5,,37.4,,,13.9,,,8.7,,,,,,false, -shot_pw_63,37.1,24.0,1.8,3914,-0.0,C-S0-V2-P1,,20.8,,,20.8,,33.5,,,12.7,,,7.6,,,,,,false, -shot_pw_64,69.6,28.6,0.2,5327,5.1,I-S1-V3-P2,<115,75.4,80.1,-4.7,75.4,-4.7,91.5,82.4,9.1,16.1,2.3,13.8,42.6,46.4,-3.8,,,,false,moderate -shot_pw_65,81.2,28.4,2.9,6959,9.4,I-S1-V3-P3,<115,97.9,98.5,-0.6,97.9,-0.6,103.6,99.4,4.2,5.7,0.9,4.8,61.6,65.6,-4.0,,,,false,pass -shot_pw_66,75.7,27.3,-1.2,6605,4.0,I-S1-V3-P3,<115,86.7,89.7,-3.0,86.7,-3.0,101.6,90.8,10.8,14.9,1.1,13.8,49.6,53.5,-3.9,,,,false,severe -shot_pw_67,81.7,28.1,6.3,6510,12.7,I-S1-V3-P3,<115,99.6,100.0,-0.4,99.6,-0.4,106.3,101.1,5.2,6.7,1.1,5.6,60.9,65.0,-4.1,,,,false,moderate -shot_pw_68,88.5,23.4,-0.1,6637,6.0,I-S2-V2-P3,<115,115.6,112.7,2.9,115.6,2.9,120.2,114.1,6.1,4.6,1.4,3.2,57.0,63.4,-6.4,,,,false,moderate -shot_pw_69,74.1,23.6,0.2,5880,8.4,I-S1-V2-P3,<115,82.8,86.0,-3.2,82.8,-3.2,100.4,88.8,11.6,17.6,2.8,14.8,37.3,41.2,-3.9,,,,false,severe +shot_pw_61,31.9,25.4,-1.3,3868,-0.0,C-S0-V3-P1,,16.6,,,16.6,,27.8,,,11.2,,,6.2,,,,,,false, +shot_pw_62,39.6,23.7,0.6,3844,2.1,C-S0-V2-P1,,25.4,,,25.4,,40.7,,,15.3,,,9.2,,,,,,false, +shot_pw_63,37.1,24.0,1.8,3914,-0.0,C-S0-V2-P1,,22.1,,,22.1,,36.0,,,13.9,,,8.0,,,,,,false, +shot_pw_64,69.6,28.6,0.2,5327,5.1,I-S1a-V3-P2,<115,83.5,80.1,3.4,83.5,3.4,88.7,82.4,6.3,5.2,2.3,2.9,47.0,46.4,0.6,,,,false,moderate +shot_pw_65,81.2,28.4,2.9,6959,9.4,I-S1b-V3-P3,<115,99.5,98.5,1.0,99.5,1.0,105.6,99.4,6.2,6.1,0.9,5.2,62.7,65.6,-2.9,,,,false,moderate +shot_pw_66,75.7,27.3,-1.2,6605,4.0,I-S1b-V3-P3,<115,88.1,89.7,-1.6,88.1,-1.6,91.7,90.8,0.9,3.6,1.1,2.5,50.5,53.5,-3.0,,,,false,pass +shot_pw_67,81.7,28.1,6.3,6510,12.7,I-S1b-V3-P3,<115,101.3,100.0,1.3,101.3,1.3,108.3,101.1,7.2,7.0,1.1,5.9,61.9,65.0,-3.1,,,,false,moderate +shot_pw_68,88.5,23.4,-0.1,6637,6.0,I-S2-V2-P3,<115,112.8,112.7,0.1,112.8,0.1,117.4,114.1,3.3,4.6,1.4,3.2,56.2,63.4,-7.2,,,,false,pass +shot_pw_69,74.1,23.6,0.2,5880,8.4,I-S1b-V2-P3,<115,84.0,86.0,-2.0,84.0,-2.0,85.7,88.8,-3.1,1.7,2.8,-1.1,37.7,41.2,-3.5,,,,false,pass diff --git a/assets/data/shot_session_4/history/iteration_005.json b/assets/data/shot_session_4/history/iteration_005.json new file mode 100644 index 0000000..e00e393 --- /dev/null +++ b/assets/data/shot_session_4/history/iteration_005.json @@ -0,0 +1,395 @@ +{ + "iteration": 5, + "timestamp": "2026-03-16T10:49:24.437829", + "profile_overrides": {}, + "summary": { + "pass": 11, + "moderate": 8, + "severe": 11, + "no_reference": 22 + }, + "per_shot": { + "shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 4.4, + "diff_apex_ft": -4.3, + "status": "pass", + "error_pattern": null + }, + "shot_3w_33": { + "diff_carry_yd": 6.4, + "diff_total_yd": 9.6, + "diff_apex_ft": -9.1, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "shot_5i_25": { + "diff_carry_yd": -2.9, + "diff_total_yd": -7.2, + "diff_apex_ft": -5.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_26": { + "diff_carry_yd": 3.1, + "diff_total_yd": 5.0, + "diff_apex_ft": 2.9, + "status": "moderate", + "error_pattern": "CARRY_TOO_LONG" + }, + "shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_5i_28": { + "diff_carry_yd": -0.2, + "diff_total_yd": -6.9, + "diff_apex_ft": 5.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_29": { + "diff_carry_yd": 6.3, + "diff_total_yd": 13.8, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_5i_30": { + "diff_carry_yd": 2.4, + "diff_total_yd": 1.6, + "diff_apex_ft": -7.8, + "status": "pass", + "error_pattern": null + }, + "shot_6i_19": { + "diff_carry_yd": -0.5, + "diff_total_yd": -11.5, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_20": { + "diff_carry_yd": -0.1, + "diff_total_yd": 11.4, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "shot_6i_22": { + "diff_carry_yd": 4.5, + "diff_total_yd": 10.8, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_12": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_14": { + "diff_carry_yd": -2.1, + "diff_total_yd": -0.4, + "diff_apex_ft": -7.0, + "status": "pass", + "error_pattern": null + }, + "shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_16": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_17": { + "diff_carry_yd": -1.1, + "diff_total_yd": -15.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_36": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_37": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_39": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_40": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_41": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_42": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_43": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_44": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_45": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_46": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_50": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_51": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_52": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_1": { + "diff_carry_yd": -1.0, + "diff_total_yd": -6.7, + "diff_apex_ft": 3.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.1, + "status": "pass", + "error_pattern": null + }, + "shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "shot_pw_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax" + ] +} diff --git a/assets/data/shot_session_4/history/iteration_006.json b/assets/data/shot_session_4/history/iteration_006.json new file mode 100644 index 0000000..e0f403c --- /dev/null +++ b/assets/data/shot_session_4/history/iteration_006.json @@ -0,0 +1,403 @@ +{ + "iteration": 6, + "timestamp": "2026-03-16T11:17:12.958070", + "profile_overrides": {}, + "summary": { + "pass": 11, + "moderate": 9, + "severe": 10, + "no_reference": 22 + }, + "per_shot": { + "shot_3w_31": { + "diff_carry_yd": -0.1, + "diff_total_yd": -3.6, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "shot_3w_32": { + "diff_carry_yd": -1.7, + "diff_total_yd": 5.7, + "diff_apex_ft": -5.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_3w_33": { + "diff_carry_yd": 5.6, + "diff_total_yd": 9.4, + "diff_apex_ft": -9.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_3w_34": { + "diff_carry_yd": -0.7, + "diff_total_yd": -2.0, + "diff_apex_ft": -3.9, + "status": "pass", + "error_pattern": null + }, + "shot_3w_35": { + "diff_carry_yd": -0.2, + "diff_total_yd": -2.7, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "shot_5i_25": { + "diff_carry_yd": -4.8, + "diff_total_yd": -9.2, + "diff_apex_ft": -6.2, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_5i_26": { + "diff_carry_yd": -1.3, + "diff_total_yd": 0.0, + "diff_apex_ft": 0.3, + "status": "pass", + "error_pattern": null + }, + "shot_5i_27": { + "diff_carry_yd": -1.0, + "diff_total_yd": 12.0, + "diff_apex_ft": -0.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_5i_28": { + "diff_carry_yd": -2.6, + "diff_total_yd": -10.0, + "diff_apex_ft": 3.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_5i_29": { + "diff_carry_yd": 5.0, + "diff_total_yd": 12.9, + "diff_apex_ft": 0.8, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_5i_30": { + "diff_carry_yd": 1.7, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.9, + "status": "pass", + "error_pattern": null + }, + "shot_6i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": -14.0, + "diff_apex_ft": -0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_20": { + "diff_carry_yd": -0.9, + "diff_total_yd": 10.7, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_21": { + "diff_carry_yd": 0.9, + "diff_total_yd": -1.5, + "diff_apex_ft": -6.8, + "status": "pass", + "error_pattern": null + }, + "shot_6i_22": { + "diff_carry_yd": 3.4, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.7, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_6i_23": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_6i_24": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_12": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_14": { + "diff_carry_yd": -2.6, + "diff_total_yd": -0.9, + "diff_apex_ft": -7.1, + "status": "pass", + "error_pattern": null + }, + "shot_9i_15": { + "diff_carry_yd": -1.5, + "diff_total_yd": 12.6, + "diff_apex_ft": -3.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_16": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_9i_17": { + "diff_carry_yd": -1.4, + "diff_total_yd": -16.0, + "diff_apex_ft": -0.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_9i_18": { + "diff_carry_yd": -1.6, + "diff_total_yd": 12.8, + "diff_apex_ft": -3.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_36": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_37": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_38": { + "diff_carry_yd": -1.1, + "diff_total_yd": 9.0, + "diff_apex_ft": -1.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_39": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_40": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_41": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_42": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_43": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_44": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_45": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_46": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_50": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_51": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_52": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_1": { + "diff_carry_yd": -1.3, + "diff_total_yd": -6.9, + "diff_apex_ft": 2.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_pw_10": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.9, + "diff_apex_ft": -3.4, + "status": "pass", + "error_pattern": null + }, + "shot_pw_11": { + "diff_carry_yd": -1.1, + "diff_total_yd": 1.5, + "diff_apex_ft": -3.0, + "status": "pass", + "error_pattern": null + }, + "shot_pw_2": { + "diff_carry_yd": 0.4, + "diff_total_yd": 12.2, + "diff_apex_ft": 0.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_3": { + "diff_carry_yd": -1.5, + "diff_total_yd": 11.3, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_4": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_47": { + "diff_carry_yd": -0.6, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_48": { + "diff_carry_yd": -0.7, + "diff_total_yd": 8.4, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_49": { + "diff_carry_yd": -2.2, + "diff_total_yd": 10.6, + "diff_apex_ft": -0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_5": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_6": { + "diff_carry_yd": -1.3, + "diff_total_yd": -0.1, + "diff_apex_ft": -0.2, + "status": "pass", + "error_pattern": null + }, + "shot_pw_7": { + "diff_carry_yd": -0.5, + "diff_total_yd": 0.7, + "diff_apex_ft": -2.9, + "status": "pass", + "error_pattern": null + }, + "shot_pw_8": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_pw_9": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + } + }, + "regressions": [ + { + "shot": "shot_3w_32", + "was": "pass", + "now": "moderate", + "prev_total_diff": 4.4, + "curr_total_diff": 5.7 + } + ], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "Bounce.RolloutHighSpinRetention", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.LowSpinThreshold", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax" + ] +} diff --git a/assets/data/shot_session_4/physics.csv b/assets/data/shot_session_4/physics.csv index 13a31f0..51e11a9 100644 --- a/assets/data/shot_session_4/physics.csv +++ b/assets/data/shot_session_4/physics.csv @@ -1,53 +1,53 @@ shot_name,filename,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,backspin_rpm,sidespin_rpm,carry_yd,total_yd,rollout_yd,apex_ft,hang_time_s,landing_speed_mps,landing_angle_deg,initial_re,initial_spin_ratio,initial_cd,initial_cl,peak_cl,carry_only_yd -shot_3w_31,shot_3w_31.json,106.87,15.70,-2.35,3662.0,8.88,3618.1,565.0,150.2,155.2,5.0,50.1,4.38,26.18,32.87,130789.1,0.171252,0.210355,0.196436,0.200255,150.2 -shot_3w_32,shot_3w_32.json,105.45,18.52,-1.38,5714.3,2.28,5709.8,227.6,151.5,161.0,9.5,73.3,5.15,24.05,47.77,129048.7,0.270835,0.225641,0.285043,0.285043,151.5 -shot_3w_33,shot_3w_33.json,99.72,20.51,0.54,6997.1,1.55,6994.5,189.5,141.2,146.6,5.4,64.6,4.91,23.18,42.08,122038.2,0.350680,0.228092,0.227464,0.275632,141.2 -shot_3w_34,shot_3w_34.json,114.64,15.34,2.39,3501.5,12.77,3414.9,773.8,170.2,177.6,7.4,57.8,4.77,27.04,33.29,140301.3,0.152646,0.209194,0.190146,0.191892,170.2 -shot_3w_35,shot_3w_35.json,117.92,14.40,3.60,3735.1,13.26,3635.5,856.4,176.4,183.0,6.6,58.0,4.84,27.21,32.56,144310.5,0.158303,0.212688,0.192141,0.194001,176.4 -shot_5i_25,shot_5i_25.json,89.08,16.71,1.13,5261.8,6.18,5231.2,566.6,107.9,108.9,1.0,34.6,3.60,23.08,30.58,109019.3,0.295205,0.236399,0.234521,0.273054,107.9 -shot_5i_26,shot_5i_26.json,106.31,15.46,-3.63,4114.0,3.40,4106.7,244.1,151.8,160.9,9.1,57.4,4.68,25.10,39.73,130101.2,0.193407,0.216315,0.230481,0.255329,151.8 -shot_5i_27,shot_5i_27.json,84.90,6.99,5.73,2262.9,30.00,1959.8,1131.5,53.3,102.9,49.6,5.6,1.45,30.54,8.85,103903.1,0.133209,0.218300,0.193948,0.193948,53.3 -shot_5i_28,shot_5i_28.json,86.01,15.91,-1.64,4178.9,1.01,4178.3,73.4,102.9,107.7,4.8,37.2,3.63,22.47,36.73,105257.7,0.242831,0.242165,0.319320,0.319320,102.9 -shot_5i_29,shot_5i_29.json,76.23,6.14,0.67,3695.3,-0.00,3695.3,-0.0,52.5,87.1,34.6,5.3,1.64,25.70,9.42,93294.5,0.242265,0.270941,0.319309,0.319310,52.5 -shot_5i_30,shot_5i_30.json,96.81,18.19,0.71,6358.2,17.49,6064.2,1911.0,129.5,131.8,2.2,48.4,4.28,23.48,34.86,118483.3,0.328220,0.227634,0.225130,0.268812,129.5 -shot_6i_19,shot_6i_19.json,85.61,14.70,2.87,4622.8,10.94,4538.9,877.1,98.4,99.3,1.0,28.8,3.32,22.89,29.41,104776.4,0.269858,0.243007,0.287102,0.287102,98.4 -shot_6i_20,shot_6i_20.json,78.84,9.70,-0.74,4288.8,-0.00,4288.8,-0.0,69.3,101.0,31.6,11.5,2.23,24.22,15.61,96487.2,0.271870,0.261574,0.282824,0.293463,69.3 -shot_6i_21,shot_6i_21.json,91.87,17.75,0.67,5966.8,11.46,5847.9,1185.3,117.3,118.6,1.3,40.8,3.93,23.10,32.56,112434.3,0.324590,0.232345,0.224728,0.268222,117.3 -shot_6i_22,shot_6i_22.json,76.88,7.65,14.36,3780.1,30.00,3273.7,1890.1,55.3,89.6,34.3,6.9,1.74,25.52,11.28,94085.4,0.245740,0.268499,0.318880,0.319321,55.3 -shot_6i_23,shot_6i_23.json,86.70,15.37,2.75,4195.9,11.91,4105.6,865.6,103.5,107.2,3.7,35.9,3.60,22.64,35.43,106106.9,0.241865,0.240738,0.319281,0.319321,103.5 -shot_6i_24,shot_6i_24.json,90.75,14.84,2.98,5270.3,14.94,5092.1,1358.6,107.9,108.2,0.3,30.6,3.45,23.78,27.04,111064.3,0.290235,0.233842,0.243109,0.272754,107.9 -shot_9i_12,shot_9i_12.json,66.18,1.43,13.95,3095.8,30.00,2681.0,1547.9,8.9,50.0,41.0,0.2,0.28,28.15,1.73,80989.7,0.233795,0.320296,0.315343,0.315343,8.9 -shot_9i_13,shot_9i_13.json,73.08,12.51,11.29,4978.8,21.31,4638.4,1809.5,59.5,57.1,-2.3,11.6,2.05,23.22,16.83,89438.4,0.340482,0.279513,0.226435,0.268000,59.5 -shot_9i_14,shot_9i_14.json,87.13,22.10,0.34,5730.4,4.69,5711.2,468.2,111.1,115.1,4.0,49.4,4.15,22.06,40.45,106627.5,0.328706,0.239900,0.225184,0.268675,111.1 -shot_9i_15,shot_9i_15.json,75.35,23.70,-1.27,6790.0,2.92,6781.2,346.1,84.8,100.1,15.2,40.2,3.67,19.73,39.57,92212.3,0.450373,0.285876,0.269316,0.311338,84.8 +shot_3w_31,shot_3w_31.json,106.87,15.70,-2.35,3662.0,8.88,3618.1,565.0,150.2,155.2,5.0,50.1,4.38,26.19,32.87,130789.1,0.171252,0.210355,0.196427,0.200014,150.2 +shot_3w_32,shot_3w_32.json,105.45,18.52,-1.38,5714.3,2.28,5709.8,227.6,144.3,154.5,10.2,66.8,4.89,23.22,46.25,129048.7,0.270835,0.243692,0.267181,0.267181,144.3 +shot_3w_33,shot_3w_33.json,99.72,20.51,0.54,6997.1,1.55,6994.5,189.5,137.6,142.8,5.3,63.5,4.85,22.64,42.83,122038.2,0.350680,0.239496,0.227464,0.278865,137.6 +shot_3w_34,shot_3w_34.json,114.64,15.34,2.39,3501.5,12.77,3414.9,773.8,165.9,173.4,7.5,56.4,4.68,26.62,33.88,140301.3,0.152646,0.217562,0.188244,0.190495,165.9 +shot_3w_35,shot_3w_35.json,117.92,14.40,3.60,3735.1,13.26,3635.5,856.4,171.7,177.5,5.8,56.4,4.74,26.78,33.08,144310.5,0.158303,0.221196,0.190219,0.192587,171.7 +shot_5i_25,shot_5i_25.json,89.08,16.71,1.13,5261.8,6.18,5231.2,566.6,106.0,106.9,1.0,33.9,3.55,22.84,30.60,109019.3,0.295205,0.243491,0.230854,0.271368,106.0 +shot_5i_26,shot_5i_26.json,106.31,15.46,-3.63,4114.0,3.40,4106.7,244.1,147.4,155.9,8.5,54.8,4.55,24.74,39.49,130101.2,0.193407,0.224968,0.223134,0.250449,147.4 +shot_5i_27,shot_5i_27.json,84.90,6.99,5.73,2262.9,30.00,1959.8,1131.5,54.3,104.1,49.8,5.7,1.48,30.64,8.91,103903.1,0.133209,0.211751,0.197827,0.197827,54.3 +shot_5i_28,shot_5i_28.json,86.01,15.91,-1.64,4178.9,1.01,4178.3,73.4,100.5,104.6,4.1,35.4,3.53,22.32,35.78,105257.7,0.242831,0.249430,0.305616,0.305616,100.5 +shot_5i_29,shot_5i_29.json,76.23,6.14,0.67,3695.3,-0.00,3695.3,-0.0,51.2,86.2,35.1,5.1,1.59,25.92,9.17,93294.5,0.242265,0.270941,0.308682,0.308683,51.2 +shot_5i_30,shot_5i_30.json,96.81,18.19,0.71,6358.2,17.49,6064.2,1911.0,126.4,128.3,1.9,47.6,4.22,22.96,35.41,118483.3,0.328220,0.239016,0.225130,0.268060,126.4 +shot_6i_19,shot_6i_19.json,85.61,14.70,2.87,4622.8,10.94,4538.9,877.1,96.0,96.8,0.8,27.7,3.23,22.77,28.83,104776.4,0.269858,0.250298,0.277351,0.277351,96.0 +shot_6i_20,shot_6i_20.json,78.84,9.70,-0.74,4288.8,-0.00,4288.8,-0.0,68.5,100.3,31.7,11.2,2.20,24.35,15.36,96487.2,0.271870,0.261574,0.276332,0.285846,68.5 +shot_6i_21,shot_6i_21.json,91.87,17.75,0.67,5966.8,11.46,5847.9,1185.3,117.3,118.6,1.3,40.8,3.93,23.10,32.60,112434.3,0.324590,0.232345,0.224728,0.268200,117.3 +shot_6i_22,shot_6i_22.json,76.88,7.65,14.36,3780.1,30.00,3273.7,1890.1,54.2,88.3,34.1,6.7,1.70,25.70,11.06,94085.4,0.245740,0.268499,0.308358,0.308703,54.2 +shot_6i_23,shot_6i_23.json,86.70,15.37,2.75,4195.9,11.91,4105.6,865.6,101.1,104.2,3.2,34.1,3.50,22.50,34.50,106106.9,0.241865,0.247961,0.305563,0.305616,101.1 +shot_6i_24,shot_6i_24.json,90.75,14.84,2.98,5270.3,14.94,5092.1,1358.6,105.6,105.8,0.2,29.9,3.38,23.60,26.91,111064.3,0.290235,0.240858,0.238441,0.265777,105.6 +shot_9i_12,shot_9i_12.json,66.18,1.43,13.95,3095.8,30.00,2681.0,1547.9,8.9,50.1,41.2,0.2,0.28,28.23,1.71,80989.7,0.233795,0.301078,0.317154,0.317154,8.9 +shot_9i_13,shot_9i_13.json,73.08,12.51,11.29,4978.8,21.31,4638.4,1809.5,60.0,57.8,-2.3,11.7,2.07,23.32,16.82,89438.4,0.340482,0.273923,0.228699,0.270680,60.0 +shot_9i_14,shot_9i_14.json,87.13,22.10,0.34,5730.4,4.69,5711.2,468.2,108.6,113.0,4.4,48.7,4.11,21.59,40.94,106627.5,0.328706,0.251895,0.225184,0.269681,108.6 +shot_9i_15,shot_9i_15.json,75.35,23.70,-1.27,6790.0,2.92,6781.2,346.1,86.2,101.9,15.7,40.7,3.71,19.97,39.38,92212.3,0.450373,0.277300,0.272009,0.314452,86.2 shot_9i_16,shot_9i_16.json,65.73,0.00,6.99,1782.9,30.00,1544.0,891.5,2.4,53.8,51.4,0.1,0.08,29.05,1.07,80445.6,0.135555,0.288957,0.183428,0.183428,2.4 -shot_9i_17,shot_9i_17.json,79.41,14.92,16.37,4369.2,30.00,3783.8,2184.6,78.9,79.0,0.1,20.8,2.72,22.92,24.61,97178.2,0.274993,0.259717,0.275963,0.280731,78.9 -shot_9i_18,shot_9i_18.json,74.62,23.60,2.52,6418.0,6.12,6381.4,684.4,83.8,97.5,13.7,38.8,3.62,19.74,39.06,91326.6,0.429824,0.282622,0.258864,0.311339,83.8 -shot_lw_36,shot_lw_36.json,29.15,41.69,3.71,4205.1,0.00,4205.1,0.0,16.5,23.2,6.6,11.7,1.71,11.47,45.13,35677.9,0.720888,0.605825,0.054651,0.054651,16.5 -shot_lw_37,shot_lw_37.json,42.76,36.37,5.46,5160.3,8.24,5107.0,739.5,30.6,39.4,8.7,20.0,2.25,14.75,44.01,52327.2,0.603165,0.641771,0.287640,0.287640,30.6 -shot_lw_38,shot_lw_38.json,47.61,37.82,6.06,5608.6,5.60,5581.8,546.9,36.7,45.5,8.8,26.5,2.60,15.73,47.32,58260.0,0.588807,0.560541,0.287946,0.287946,36.7 -shot_lw_39,shot_lw_39.json,15.19,29.00,1.86,3481.1,-0.00,3481.1,-0.0,4.2,7.5,3.3,1.8,0.67,6.56,29.70,18585.1,1.145635,0.543345,0.000000,0.000000,4.2 -shot_lw_40,shot_lw_40.json,17.80,31.33,2.56,3617.2,-0.00,3617.2,-0.0,6.0,10.0,4.0,2.8,0.83,7.56,32.33,21785.7,1.015514,0.575650,0.000000,0.000000,6.0 -shot_lw_41,shot_lw_41.json,23.82,25.81,0.34,3616.9,-0.00,3616.9,-0.0,9.4,16.7,7.3,3.5,0.93,9.95,27.05,29156.6,0.758739,0.474923,0.000000,0.000000,9.4 -shot_lw_42,shot_lw_42.json,40.42,40.34,6.79,4336.8,12.64,4231.7,949.1,28.6,38.0,9.4,21.1,2.30,14.50,47.19,49471.8,0.536170,0.611001,0.289071,0.289071,28.6 -shot_lw_43,shot_lw_43.json,37.53,21.80,7.56,3734.1,-0.00,3734.1,-0.0,20.2,33.8,13.6,6.6,1.32,14.17,25.18,45932.8,0.497229,0.587199,0.272538,0.272538,20.2 -shot_lw_44,shot_lw_44.json,39.70,30.64,2.55,5258.6,0.00,5258.6,0.0,25.8,34.2,8.4,13.1,1.83,14.07,36.55,48582.7,0.662029,0.704274,0.280105,0.280105,25.8 -shot_lw_45,shot_lw_45.json,31.72,32.10,1.83,4379.3,-2.83,4374.0,-216.6,17.7,26.0,8.3,8.9,1.49,12.20,35.55,38819.4,0.690002,0.639667,0.116035,0.116035,17.7 -shot_lw_46,shot_lw_46.json,20.85,19.71,0.85,2793.0,0.00,2793.0,0.0,6.0,13.6,7.6,1.6,0.64,8.92,20.69,25514.2,0.669540,0.477924,0.000000,0.000000,6.0 -shot_lw_50,shot_lw_50.json,18.51,47.07,6.77,4534.6,18.14,4309.3,1411.6,7.2,9.7,2.5,5.9,1.22,7.85,48.60,22650.9,1.224469,0.575854,0.000000,0.000000,7.2 -shot_lw_51,shot_lw_51.json,32.18,29.45,9.63,5076.9,14.13,4923.3,1239.2,17.6,24.8,7.2,7.9,1.41,12.42,32.64,39380.4,0.788517,0.607679,0.123829,0.123829,17.6 -shot_lw_52,shot_lw_52.json,31.04,52.00,-0.06,3964.7,15.12,3827.5,1033.9,17.8,23.4,5.6,18.2,2.13,12.21,55.77,37992.3,0.638273,0.617959,0.100489,0.100489,17.8 -shot_pw_1,shot_pw_1.json,69.84,20.07,-0.58,3577.0,7.98,3542.3,496.5,67.1,69.4,2.3,25.9,2.76,20.37,33.80,85474.1,0.255959,0.299725,0.310942,0.310942,67.1 -shot_pw_10,shot_pw_10.json,76.33,26.80,0.65,5988.6,4.90,5966.7,511.9,89.1,93.6,4.5,48.6,3.98,20.14,45.06,93415.5,0.392099,0.270413,0.239770,0.310365,89.1 -shot_pw_11,shot_pw_11.json,76.26,27.35,-0.63,6296.3,5.22,6270.2,573.0,88.5,92.9,4.3,50.4,4.04,20.04,45.87,93324.9,0.412650,0.274916,0.249801,0.311339,88.5 -shot_pw_2,shot_pw_2.json,53.25,24.98,0.23,4085.0,3.00,4079.4,213.9,43.7,60.3,16.6,18.6,2.33,17.05,33.82,65162.3,0.383432,0.414040,0.274598,0.294508,43.7 -shot_pw_3,shot_pw_3.json,62.81,31.15,6.57,6128.8,6.31,6091.7,673.2,60.4,72.5,12.1,37.9,3.29,18.12,45.42,76871.8,0.487637,0.363744,0.274657,0.306075,60.4 -shot_pw_4,shot_pw_4.json,40.09,4.84,16.41,2730.5,20.39,2559.4,951.4,6.3,31.1,24.8,0.4,0.33,16.92,5.43,49067.0,0.340369,0.551817,0.094652,0.094833,6.3 -shot_pw_47,shot_pw_47.json,46.66,24.60,2.26,3699.1,-0.00,3699.1,-0.0,33.5,49.2,15.7,13.4,1.93,15.97,31.20,57108.3,0.396174,0.485209,0.279749,0.292350,33.5 -shot_pw_48,shot_pw_48.json,46.55,25.52,3.83,4318.4,0.58,4318.2,43.5,33.6,47.2,13.6,14.3,1.98,15.78,32.50,56972.9,0.463607,0.512666,0.310725,0.311339,33.6 -shot_pw_49,shot_pw_49.json,60.30,22.56,3.45,4043.8,4.96,4028.7,350.0,53.1,72.4,19.3,20.9,2.49,18.41,33.43,73793.9,0.335170,0.355247,0.246997,0.269939,53.1 -shot_pw_5,shot_pw_5.json,28.68,9.00,7.19,2764.1,-0.00,2764.1,-0.0,5.6,18.5,12.9,0.7,0.42,12.25,9.61,35102.0,0.481631,0.505463,0.050281,0.050281,5.6 -shot_pw_6,shot_pw_6.json,68.69,26.10,1.07,4148.8,8.23,4106.0,593.9,70.2,90.1,20.0,35.0,3.20,19.54,41.68,84067.5,0.301843,0.305830,0.226331,0.268000,70.2 -shot_pw_7,shot_pw_7.json,76.85,25.20,3.72,6565.2,8.16,6498.7,931.8,89.1,104.8,15.7,45.8,3.91,20.00,42.56,94049.7,0.426955,0.277759,0.257345,0.311339,89.1 -shot_pw_8,shot_pw_8.json,33.32,17.36,4.22,3183.4,-0.00,3183.4,-0.0,13.5,27.2,13.7,3.3,0.93,13.32,19.10,40777.8,0.477478,0.546180,0.173590,0.173590,13.5 -shot_pw_9,shot_pw_9.json,76.60,28.64,4.92,7133.1,5.71,7097.7,709.7,87.4,100.9,13.6,54.0,4.12,19.97,47.08,93747.4,0.465384,0.288027,0.274333,0.305649,87.4 +shot_9i_17,shot_9i_17.json,79.41,14.92,16.37,4369.2,30.00,3783.8,2184.6,79.5,79.6,0.1,20.8,2.73,23.10,24.47,97178.2,0.274993,0.254523,0.272906,0.280548,79.5 +shot_9i_18,shot_9i_18.json,74.62,23.60,2.52,6418.0,6.12,6381.4,684.4,85.0,101.6,16.5,39.3,3.65,19.97,38.77,91326.6,0.429824,0.274144,0.261453,0.314452,85.0 +shot_lw_36,shot_lw_36.json,29.15,41.69,3.71,4205.1,0.00,4205.1,0.0,17.1,24.4,7.3,11.9,1.73,11.87,44.16,35677.9,0.720888,0.424077,0.065581,0.065581,17.1 +shot_lw_37,shot_lw_37.json,42.76,36.37,5.46,5160.3,8.24,5107.0,739.5,33.3,43.5,10.3,21.5,2.35,15.70,42.54,52327.2,0.603165,0.449240,0.345168,0.345168,33.3 +shot_lw_38,shot_lw_38.json,47.61,37.82,6.06,5608.6,5.60,5581.8,546.9,41.3,52.4,11.1,29.4,2.78,17.09,45.18,58260.0,0.588807,0.364352,0.359933,0.359933,41.3 +shot_lw_39,shot_lw_39.json,15.19,29.00,1.86,3481.1,-0.00,3481.1,-0.0,4.3,7.6,3.4,1.8,0.67,6.62,29.40,18585.1,1.145635,0.380342,0.000000,0.000000,4.3 +shot_lw_40,shot_lw_40.json,17.80,31.33,2.56,3617.2,-0.00,3617.2,-0.0,6.1,10.2,4.1,2.8,0.83,7.66,31.85,21785.7,1.015514,0.402955,0.000000,0.000000,6.1 +shot_lw_41,shot_lw_41.json,23.82,25.81,0.34,3616.9,-0.00,3616.9,-0.0,9.5,17.1,7.6,3.5,0.93,10.13,26.51,29156.6,0.758739,0.332446,0.000000,0.000000,9.5 +shot_lw_42,shot_lw_42.json,40.42,40.34,6.79,4336.8,12.64,4231.7,949.1,30.7,39.9,9.2,22.3,2.38,15.32,45.71,49471.8,0.536170,0.427701,0.346886,0.346886,30.7 +shot_lw_43,shot_lw_43.json,37.53,21.80,7.56,3734.1,-0.00,3734.1,-0.0,21.3,36.4,15.1,6.9,1.36,14.77,24.30,45932.8,0.497229,0.411039,0.327046,0.327046,21.3 +shot_lw_44,shot_lw_44.json,39.70,30.64,2.55,5258.6,0.00,5258.6,0.0,27.7,37.3,9.6,13.9,1.89,14.87,35.30,48582.7,0.662029,0.492992,0.336126,0.336126,27.7 +shot_lw_45,shot_lw_45.json,31.72,32.10,1.83,4379.3,-2.83,4374.0,-216.6,18.4,27.5,9.1,9.1,1.51,12.69,34.57,38819.4,0.690002,0.447767,0.139242,0.139242,18.4 +shot_lw_46,shot_lw_46.json,20.85,19.71,0.85,2793.0,0.00,2793.0,0.0,6.0,13.9,7.8,1.7,0.64,9.04,20.41,25514.2,0.669540,0.334547,0.000000,0.000000,6.0 +shot_lw_50,shot_lw_50.json,18.51,47.07,6.77,4534.6,18.14,4309.3,1411.6,7.3,9.9,2.6,6.0,1.22,7.93,47.90,22650.9,1.224469,0.403097,0.000000,0.000000,7.3 +shot_lw_51,shot_lw_51.json,32.18,29.45,9.63,5076.9,14.13,4923.3,1239.2,18.2,26.3,8.1,8.1,1.43,12.91,31.74,39380.4,0.788517,0.425375,0.148595,0.148595,18.2 +shot_lw_52,shot_lw_52.json,31.04,52.00,-0.06,3964.7,15.12,3827.5,1033.9,18.5,24.8,6.2,18.7,2.16,12.61,54.69,37992.3,0.638273,0.432572,0.120587,0.120587,18.5 +shot_pw_1,shot_pw_1.json,69.84,20.07,-0.58,3577.0,7.98,3542.3,496.5,73.5,76.8,3.3,28.8,2.94,21.80,34.06,85474.1,0.255959,0.239780,0.343582,0.343582,73.5 +shot_pw_10,shot_pw_10.json,76.33,26.80,0.65,5988.6,4.90,5966.7,511.9,90.4,95.1,4.7,49.4,4.03,20.35,44.92,93415.5,0.392099,0.262301,0.244565,0.315508,90.4 +shot_pw_11,shot_pw_11.json,76.26,27.35,-0.63,6296.3,5.22,6270.2,573.0,90.0,94.0,4.0,51.2,4.09,20.25,45.82,93324.9,0.412650,0.266668,0.254797,0.317566,90.0 +shot_pw_2,shot_pw_2.json,53.25,24.98,0.23,4085.0,3.00,4079.4,213.9,48.9,68.2,19.3,20.6,2.50,18.35,33.53,65162.3,0.383432,0.289828,0.329518,0.342645,48.9 +shot_pw_3,shot_pw_3.json,62.81,31.15,6.57,6128.8,6.31,6091.7,673.2,65.8,79.9,14.1,40.7,3.48,19.10,44.14,76871.8,0.487637,0.301908,0.302122,0.337086,65.8 +shot_pw_4,shot_pw_4.json,40.09,4.84,16.41,2730.5,20.39,2559.4,951.4,6.4,31.7,25.3,0.4,0.33,17.20,5.27,49067.0,0.340369,0.386272,0.113582,0.113582,6.4 +shot_pw_47,shot_pw_47.json,46.66,24.60,2.26,3699.1,-0.00,3699.1,-0.0,36.8,54.7,17.9,14.6,2.06,16.98,30.73,57108.3,0.396174,0.339646,0.335698,0.346855,36.8 +shot_pw_48,shot_pw_48.json,46.55,25.52,3.83,4318.4,0.58,4318.2,43.5,37.2,52.9,15.7,15.6,2.12,16.78,31.25,56972.9,0.463607,0.358866,0.372870,0.373606,37.2 +shot_pw_49,shot_pw_49.json,60.30,22.56,3.45,4043.8,4.96,4028.7,350.0,57.1,78.6,21.5,22.5,2.62,19.39,33.17,73793.9,0.335170,0.291302,0.279107,0.303080,57.1 +shot_pw_5,shot_pw_5.json,28.68,9.00,7.19,2764.1,-0.00,2764.1,-0.0,5.7,18.9,13.2,0.7,0.42,12.41,9.42,35102.0,0.481631,0.353824,0.060337,0.060337,5.7 +shot_pw_6,shot_pw_6.json,68.69,26.10,1.07,4148.8,8.23,4106.0,593.9,77.1,83.0,6.0,38.4,3.40,21.04,41.10,84067.5,0.301843,0.241605,0.257527,0.305520,77.1 +shot_pw_7,shot_pw_7.json,76.85,25.20,3.72,6565.2,8.16,6498.7,931.8,90.6,93.3,2.7,46.6,3.96,20.22,42.43,94049.7,0.426955,0.269427,0.262492,0.317566,90.6 +shot_pw_8,shot_pw_8.json,33.32,17.36,4.22,3183.4,-0.00,3183.4,-0.0,14.0,28.8,14.9,3.4,0.94,13.73,18.65,40777.8,0.477478,0.382326,0.208308,0.208308,14.0 +shot_pw_9,shot_pw_9.json,76.60,28.64,4.92,7133.1,5.71,7097.7,709.7,88.9,92.6,3.7,54.9,4.18,20.21,46.98,93747.4,0.465384,0.279386,0.279820,0.312403,88.9 diff --git a/assets/data/shot_session_4/shot_diff_analysis.csv b/assets/data/shot_session_4/shot_diff_analysis.csv index 9021b09..6bed9ca 100644 --- a/assets/data/shot_session_4/shot_diff_analysis.csv +++ b/assets/data/shot_session_4/shot_diff_analysis.csv @@ -1,53 +1,53 @@ shot_name,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,launch_regime_key,carry_window,physics_carry_yd,flightscope_carry_yd,diff_carry_yd,physics_carry_raw_yd,diff_carry_raw_yd,physics_total_yd,flightscope_total_yd,diff_total_yd,rollout_physics_yd,rollout_flightscope_yd,diff_rollout_yd,physics_apex_ft,flightscope_apex_ft,diff_apex_ft,carry_exception_regime,carry_exception_offset_yd,carry_exception_source,carry_exception_applied,status shot_3w_31,106.9,15.7,-2.4,3662,8.9,I-S3-V1-P1,150-180,150.2,150.3,-0.1,150.2,-0.1,155.2,158.8,-3.6,5.0,8.5,-3.5,50.1,53.7,-3.6,,,,false,pass -shot_3w_32,105.5,18.5,-1.4,5714,2.3,I-S3-V2-P3,115-150,151.5,146.0,5.5,151.5,5.5,161.0,148.8,12.2,9.5,2.8,6.7,73.3,71.9,1.4,,,,false,severe -shot_3w_33,99.7,20.5,0.5,6997,1.6,I-S2-V2-P3,115-150,141.2,132.0,9.2,141.2,9.2,146.6,133.4,13.2,5.4,1.4,4.0,64.6,72.8,-8.2,,,,false,severe -shot_3w_34,114.6,15.3,2.4,3502,12.8,D-S3-V1-P1,150-180,170.2,166.6,3.6,170.2,3.6,177.6,175.4,2.2,7.4,8.8,-1.4,57.8,60.3,-2.5,,,,false,moderate -shot_3w_35,117.9,14.4,3.6,3735,13.3,D-S3-V1-P1,150-180,176.4,171.9,4.5,176.4,4.5,183.0,180.2,2.8,6.6,8.3,-1.7,58.0,61.1,-3.1,,,,false,moderate -shot_5i_25,89.1,16.7,1.1,5262,6.2,I-S2-V1-P2,<115,107.9,110.8,-2.9,107.9,-2.9,108.9,116.1,-7.2,1.0,5.3,-4.3,34.6,40.1,-5.5,,,,false,moderate -shot_5i_26,106.3,15.5,-3.6,4114,3.4,I-S3-V1-P2,115-150,151.8,148.7,3.1,151.8,3.1,160.9,155.9,5.0,9.1,7.2,1.9,57.4,54.5,2.9,,,,false,moderate -shot_5i_27,84.9,7.0,5.7,2263,30.0,I-S1-V0-P0,<115,53.3,55.3,-2.0,53.3,-2.0,102.9,92.1,10.8,49.6,36.8,12.8,5.6,5.8,-0.2,,,,false,severe -shot_5i_28,86.0,15.9,-1.6,4179,1.0,I-S2-V1-P2,<115,102.9,103.1,-0.2,102.9,-0.2,107.7,114.6,-6.9,4.8,11.5,-6.7,37.2,32.2,5.0,,,,false,moderate -shot_5i_29,76.2,6.1,0.7,3695,-0.0,I-S1-V0-P1,<115,52.5,46.2,6.3,52.5,6.3,87.1,73.3,13.8,34.6,27.1,7.5,5.3,4.3,1.0,,,,false,severe -shot_5i_30,96.8,18.2,0.7,6358,17.5,I-S2-V2-P3,115-150,129.5,124.7,4.8,129.5,4.8,131.8,127.7,4.1,2.3,3.0,-0.7,48.4,55.5,-7.1,,,,false,moderate -shot_6i_19,85.6,14.7,2.9,4623,10.9,I-S2-V1-P2,<115,98.4,98.9,-0.5,98.4,-0.5,99.3,110.8,-11.5,0.9,11.9,-11.0,28.8,28.6,0.2,,,,false,severe -shot_6i_20,78.8,9.7,-0.7,4289,-0.0,I-S1-V0-P2,<115,69.3,69.4,-0.1,69.3,-0.1,101.0,89.6,11.4,31.7,20.2,11.5,11.5,11.5,0.0,,,,false,severe +shot_3w_32,105.5,18.5,-1.4,5714,2.3,I-S3-V2-P3,115-150,144.3,146.0,-1.7,144.3,-1.7,154.5,148.8,5.7,10.2,2.8,7.4,66.8,71.9,-5.1,,,,false,moderate +shot_3w_33,99.7,20.5,0.5,6997,1.6,I-S2-V2-P3,115-150,137.6,132.0,5.6,137.6,5.6,142.8,133.4,9.4,5.2,1.4,3.8,63.5,72.8,-9.3,,,,false,moderate +shot_3w_34,114.6,15.3,2.4,3502,12.8,D-S3-V1-P1,150-180,165.9,166.6,-0.7,165.9,-0.7,173.4,175.4,-2.0,7.5,8.8,-1.3,56.4,60.3,-3.9,,,,false,pass +shot_3w_35,117.9,14.4,3.6,3735,13.3,D-S3-V1-P1,150-180,171.7,171.9,-0.2,171.7,-0.2,177.5,180.2,-2.7,5.8,8.3,-2.5,56.4,61.1,-4.7,,,,false,pass +shot_5i_25,89.1,16.7,1.1,5262,6.2,I-S2-V1-P2,<115,106.0,110.8,-4.8,106.0,-4.8,106.9,116.1,-9.2,0.9,5.3,-4.4,33.9,40.1,-6.2,,,,false,moderate +shot_5i_26,106.3,15.5,-3.6,4114,3.4,I-S3-V1-P2,115-150,147.4,148.7,-1.3,147.4,-1.3,155.9,155.9,0.0,8.5,7.2,1.3,54.8,54.5,0.3,,,,false,pass +shot_5i_27,84.9,7.0,5.7,2263,30.0,I-S1b-V0-P0,<115,54.3,55.3,-1.0,54.3,-1.0,104.1,92.1,12.0,49.8,36.8,13.0,5.7,5.8,-0.1,,,,false,severe +shot_5i_28,86.0,15.9,-1.6,4179,1.0,I-S2-V1-P2,<115,100.5,103.1,-2.6,100.5,-2.6,104.6,114.6,-10.0,4.1,11.5,-7.4,35.4,32.2,3.2,,,,false,moderate +shot_5i_29,76.2,6.1,0.7,3695,-0.0,I-S1b-V0-P1,<115,51.2,46.2,5.0,51.2,5.0,86.2,73.3,12.9,35.0,27.1,7.9,5.1,4.3,0.8,,,,false,severe +shot_5i_30,96.8,18.2,0.7,6358,17.5,I-S2-V2-P3,115-150,126.4,124.7,1.7,126.4,1.7,128.3,127.7,0.6,1.9,3.0,-1.1,47.6,55.5,-7.9,,,,false,pass +shot_6i_19,85.6,14.7,2.9,4623,10.9,I-S2-V1-P2,<115,96.0,98.9,-2.9,96.0,-2.9,96.8,110.8,-14.0,0.8,11.9,-11.1,27.7,28.6,-0.9,,,,false,severe +shot_6i_20,78.8,9.7,-0.7,4289,-0.0,I-S1b-V0-P2,<115,68.5,69.4,-0.9,68.5,-0.9,100.3,89.6,10.7,31.8,20.2,11.6,11.2,11.5,-0.3,,,,false,severe shot_6i_21,91.9,17.8,0.7,5967,11.5,I-S2-V1-P3,115-150,117.3,116.4,0.9,117.3,0.9,118.6,120.1,-1.5,1.3,3.7,-2.4,40.8,47.6,-6.8,,,,false,pass -shot_6i_22,76.9,7.7,14.4,3780,30.0,I-S1-V0-P1,<115,55.3,50.8,4.5,55.3,4.5,89.6,78.8,10.8,34.3,28.0,6.3,6.9,6.0,0.9,,,,false,severe -shot_6i_23,86.7,15.4,2.8,4196,11.9,I-S2-V1-P2,,103.5,,,103.5,,107.2,,,3.7,,,35.9,,,,,,false, -shot_6i_24,90.8,14.8,3.0,5270,14.9,I-S2-V1-P2,,107.9,,,107.9,,108.2,,,0.3,,,30.6,,,,,,false, -shot_9i_12,66.2,1.4,13.9,3096,30.0,I-S1-V0-P1,,8.9,,,8.9,,50.0,,,41.1,,,0.2,,,,,,false, -shot_9i_13,73.1,12.5,11.3,4979,21.3,I-S1-V1-P2,,59.5,,,59.5,,57.1,,,-2.4,,,11.6,,,,,,false, -shot_9i_14,87.1,22.1,0.3,5730,4.7,I-S2-V2-P3,<115,111.1,111.2,-0.1,111.1,-0.1,115.1,113.9,1.2,4.0,2.7,1.3,49.4,55.8,-6.4,,,,false,pass -shot_9i_15,75.3,23.7,-1.3,6790,2.9,I-S1-V2-P3,<115,84.8,87.7,-2.9,84.8,-2.9,100.1,89.3,10.8,15.3,1.6,13.7,40.2,43.9,-3.7,,,,false,severe -shot_9i_16,65.7,0.0,7.0,1783,30.0,I-S1-V0-P0,,2.4,,,2.4,,53.8,,,51.4,,,0.1,,,,,,false, -shot_9i_17,79.4,14.9,16.4,4369,30.0,I-S1-V1-P2,<115,78.9,80.9,-2.0,78.9,-2.0,79.0,95.6,-16.6,0.1,14.7,-14.6,20.8,21.4,-0.6,,,,false,severe -shot_9i_18,74.6,23.6,2.5,6418,6.1,I-S1-V2-P3,<115,83.8,86.6,-2.8,83.8,-2.8,97.5,88.8,8.7,13.7,2.2,11.5,38.8,42.3,-3.5,,,,false,moderate -shot_lw_36,29.1,41.7,3.7,4205,0.0,C-S0-V4-P2,,16.5,,,16.5,,23.2,,,6.7,,,11.7,,,,,,false, -shot_lw_37,42.8,36.4,5.5,5160,8.2,C-S0-V4-P2,,30.6,,,30.6,,39.4,,,8.8,,,20.0,,,,,,false, -shot_lw_38,47.6,37.8,6.1,5609,5.6,C-S0-V4-P3,<115,36.7,42.4,-5.7,36.7,-5.7,45.5,43.4,2.1,8.8,1.0,7.8,26.5,30.5,-4.0,,,,false,moderate -shot_lw_39,15.2,29.0,1.9,3481,-0.0,C-S0-V3-P1,,4.2,,,4.2,,7.5,,,3.3,,,1.8,,,,,,false, -shot_lw_40,17.8,31.3,2.6,3617,-0.0,C-S0-V3-P1,,6.0,,,6.0,,10.0,,,4.0,,,2.8,,,,,,false, -shot_lw_41,23.8,25.8,0.3,3617,-0.0,C-S0-V3-P1,,9.4,,,9.4,,16.7,,,7.3,,,3.5,,,,,,false, -shot_lw_42,40.4,40.3,6.8,4337,12.6,C-S0-V4-P2,,28.6,,,28.6,,38.0,,,9.4,,,21.1,,,,,,false, -shot_lw_43,37.5,21.8,7.6,3734,-0.0,C-S0-V2-P1,,20.2,,,20.2,,33.8,,,13.6,,,6.6,,,,,,false, -shot_lw_44,39.7,30.6,2.5,5259,0.0,C-S0-V3-P2,,25.8,,,25.8,,34.2,,,8.4,,,13.1,,,,,,false, -shot_lw_45,31.7,32.1,1.8,4379,-2.8,C-S0-V3-P2,,17.7,,,17.7,,26.0,,,8.3,,,8.9,,,,,,false, -shot_lw_46,20.9,19.7,0.8,2793,0.0,C-S0-V2-P1,,6.0,,,6.0,,13.6,,,7.6,,,1.6,,,,,,false, -shot_lw_50,18.5,47.1,6.8,4535,18.1,C-S0-V4-P2,,7.2,,,7.2,,9.7,,,2.5,,,5.9,,,,,,false, -shot_lw_51,32.2,29.4,9.6,5077,14.1,C-S0-V3-P2,,17.6,,,17.6,,24.8,,,7.2,,,7.9,,,,,,false, -shot_lw_52,31.0,52.0,-0.1,3965,15.1,C-S0-V4-P1,,17.8,,,17.8,,23.4,,,5.6,,,18.2,,,,,,false, -shot_pw_1,69.8,20.1,-0.6,3577,8.0,I-S1-V2-P1,<115,67.1,74.8,-7.7,67.1,-7.7,69.4,83.7,-14.3,2.3,8.9,-6.6,25.9,26.2,-0.3,,,,false,severe -shot_pw_10,76.3,26.8,0.7,5989,4.9,I-S1-V3-P3,<115,89.1,91.5,-2.4,89.1,-2.4,93.6,93.2,0.4,4.5,1.7,2.8,48.6,52.8,-4.2,,,,false,pass -shot_pw_11,76.3,27.4,-0.6,6296,5.2,I-S1-V3-P3,<115,88.5,91.1,-2.6,88.5,-2.6,92.9,92.5,0.4,4.4,1.4,3.0,50.4,54.2,-3.8,,,,false,pass -shot_pw_2,53.2,25.0,0.2,4085,3.0,C-S0-V2-P2,<115,43.7,48.5,-4.8,43.7,-4.8,60.3,56.0,4.3,16.6,7.5,9.1,18.6,20.2,-1.6,,,,false,moderate -shot_pw_3,62.8,31.1,6.6,6129,6.3,W-S1-V3-P3,<115,60.4,67.3,-6.9,60.4,-6.9,72.5,68.6,3.9,12.1,1.3,10.8,37.9,41.8,-3.9,,,,false,moderate -shot_pw_4,40.1,4.8,16.4,2730,20.4,C-S0-V0-P1,,6.3,,,6.3,,31.1,,,24.8,,,0.4,,,,,,false, -shot_pw_47,46.7,24.6,2.3,3699,-0.0,C-S0-V2-P1,<115,33.5,37.4,-3.9,33.5,-3.9,49.2,45.2,4.0,15.7,7.8,7.9,13.4,14.6,-1.2,,,,false,moderate -shot_pw_48,46.5,25.5,3.8,4318,0.6,C-S0-V3-P2,<115,33.6,37.9,-4.3,33.6,-4.3,47.2,44.5,2.7,13.6,6.6,7.0,14.3,15.6,-1.3,,,,false,moderate -shot_pw_49,60.3,22.6,3.5,4044,5.0,I-S1-V2-P2,<115,53.1,59.3,-6.2,53.1,-6.2,72.4,68.0,4.4,19.3,8.7,10.6,20.9,22.8,-1.9,,,,false,moderate -shot_pw_5,28.7,9.0,7.2,2764,-0.0,C-S0-V0-P1,,5.6,,,5.6,,18.5,,,12.9,,,0.7,,,,,,false, -shot_pw_6,68.7,26.1,1.1,4149,8.2,I-S1-V3-P2,<115,70.2,78.4,-8.2,70.2,-8.2,90.1,83.1,7.0,19.9,4.7,15.2,35.0,38.6,-3.6,,,,false,severe -shot_pw_7,76.8,25.2,3.7,6565,8.2,I-S1-V3-P3,<115,89.1,91.1,-2.0,89.1,-2.0,104.8,92.6,12.2,15.7,1.5,14.2,45.8,49.5,-3.7,,,,false,severe -shot_pw_8,33.3,17.4,4.2,3183,-0.0,C-S0-V1-P1,,13.5,,,13.5,,27.2,,,13.7,,,3.3,,,,,,false, -shot_pw_9,76.6,28.6,4.9,7133,5.7,I-S1-V3-P3,,87.4,,,87.4,,100.9,,,13.5,,,54.0,,,,,,false, +shot_6i_22,76.9,7.7,14.4,3780,30.0,I-S1b-V0-P1,<115,54.2,50.8,3.4,54.2,3.4,88.3,78.8,9.5,34.1,28.0,6.1,6.7,6.0,0.7,,,,false,moderate +shot_6i_23,86.7,15.4,2.8,4196,11.9,I-S2-V1-P2,,101.1,,,101.1,,104.2,,,3.1,,,34.1,,,,,,false, +shot_6i_24,90.8,14.8,3.0,5270,14.9,I-S2-V1-P2,,105.6,,,105.6,,105.8,,,0.2,,,29.9,,,,,,false, +shot_9i_12,66.2,1.4,13.9,3096,30.0,I-S1a-V0-P1,,8.9,,,8.9,,50.1,,,41.2,,,0.2,,,,,,false, +shot_9i_13,73.1,12.5,11.3,4979,21.3,I-S1b-V1-P2,,60.0,,,60.0,,57.8,,,-2.2,,,11.7,,,,,,false, +shot_9i_14,87.1,22.1,0.3,5730,4.7,I-S2-V2-P3,<115,108.6,111.2,-2.6,108.6,-2.6,113.0,113.9,-0.9,4.4,2.7,1.7,48.7,55.8,-7.1,,,,false,pass +shot_9i_15,75.3,23.7,-1.3,6790,2.9,I-S1b-V2-P3,<115,86.2,87.7,-1.5,86.2,-1.5,101.9,89.3,12.6,15.7,1.6,14.1,40.7,43.9,-3.2,,,,false,severe +shot_9i_16,65.7,0.0,7.0,1783,30.0,I-S1a-V0-P0,,2.4,,,2.4,,53.8,,,51.4,,,0.1,,,,,,false, +shot_9i_17,79.4,14.9,16.4,4369,30.0,I-S1b-V1-P2,<115,79.5,80.9,-1.4,79.5,-1.4,79.6,95.6,-16.0,0.1,14.7,-14.6,20.8,21.4,-0.6,,,,false,severe +shot_9i_18,74.6,23.6,2.5,6418,6.1,I-S1b-V2-P3,<115,85.0,86.6,-1.6,85.0,-1.6,101.6,88.8,12.8,16.6,2.2,14.4,39.3,42.3,-3.0,,,,false,severe +shot_lw_36,29.1,41.7,3.7,4205,0.0,C-S0-V4-P2,,17.1,,,17.1,,24.4,,,7.3,,,11.9,,,,,,false, +shot_lw_37,42.8,36.4,5.5,5160,8.2,C-S0-V4-P2,,33.3,,,33.3,,43.5,,,10.2,,,21.5,,,,,,false, +shot_lw_38,47.6,37.8,6.1,5609,5.6,C-S0-V4-P3,<115,41.3,42.4,-1.1,41.3,-1.1,52.4,43.4,9.0,11.1,1.0,10.1,29.4,30.5,-1.1,,,,false,moderate +shot_lw_39,15.2,29.0,1.9,3481,-0.0,C-S0-V3-P1,,4.3,,,4.3,,7.6,,,3.3,,,1.8,,,,,,false, +shot_lw_40,17.8,31.3,2.6,3617,-0.0,C-S0-V3-P1,,6.1,,,6.1,,10.2,,,4.1,,,2.8,,,,,,false, +shot_lw_41,23.8,25.8,0.3,3617,-0.0,C-S0-V3-P1,,9.5,,,9.5,,17.1,,,7.6,,,3.5,,,,,,false, +shot_lw_42,40.4,40.3,6.8,4337,12.6,C-S0-V4-P2,,30.7,,,30.7,,39.9,,,9.2,,,22.3,,,,,,false, +shot_lw_43,37.5,21.8,7.6,3734,-0.0,C-S0-V2-P1,,21.3,,,21.3,,36.4,,,15.1,,,6.9,,,,,,false, +shot_lw_44,39.7,30.6,2.5,5259,0.0,C-S0-V3-P2,,27.7,,,27.7,,37.3,,,9.6,,,13.9,,,,,,false, +shot_lw_45,31.7,32.1,1.8,4379,-2.8,C-S0-V3-P2,,18.4,,,18.4,,27.5,,,9.1,,,9.1,,,,,,false, +shot_lw_46,20.9,19.7,0.8,2793,0.0,C-S0-V2-P1,,6.0,,,6.0,,13.9,,,7.9,,,1.7,,,,,,false, +shot_lw_50,18.5,47.1,6.8,4535,18.1,C-S0-V4-P2,,7.3,,,7.3,,9.9,,,2.6,,,6.0,,,,,,false, +shot_lw_51,32.2,29.4,9.6,5077,14.1,C-S0-V3-P2,,18.2,,,18.2,,26.3,,,8.1,,,8.1,,,,,,false, +shot_lw_52,31.0,52.0,-0.1,3965,15.1,C-S0-V4-P1,,18.5,,,18.5,,24.8,,,6.3,,,18.7,,,,,,false, +shot_pw_1,69.8,20.1,-0.6,3577,8.0,I-S1a-V2-P1,<115,73.5,74.8,-1.3,73.5,-1.3,76.8,83.7,-6.9,3.3,8.9,-5.6,28.8,26.2,2.6,,,,false,moderate +shot_pw_10,76.3,26.8,0.7,5989,4.9,I-S1b-V3-P3,<115,90.4,91.5,-1.1,90.4,-1.1,95.1,93.2,1.9,4.7,1.7,3.0,49.4,52.8,-3.4,,,,false,pass +shot_pw_11,76.3,27.4,-0.6,6296,5.2,I-S1b-V3-P3,<115,90.0,91.1,-1.1,90.0,-1.1,94.0,92.5,1.5,4.0,1.4,2.6,51.2,54.2,-3.0,,,,false,pass +shot_pw_2,53.2,25.0,0.2,4085,3.0,C-S0-V2-P2,<115,48.9,48.5,0.4,48.9,0.4,68.2,56.0,12.2,19.3,7.5,11.8,20.6,20.2,0.4,,,,false,severe +shot_pw_3,62.8,31.1,6.6,6129,6.3,W-S1a-V3-P3,<115,65.8,67.3,-1.5,65.8,-1.5,79.9,68.6,11.3,14.1,1.3,12.8,40.7,41.8,-1.1,,,,false,severe +shot_pw_4,40.1,4.8,16.4,2730,20.4,C-S0-V0-P1,,6.4,,,6.4,,31.7,,,25.3,,,0.4,,,,,,false, +shot_pw_47,46.7,24.6,2.3,3699,-0.0,C-S0-V2-P1,<115,36.8,37.4,-0.6,36.8,-0.6,54.7,45.2,9.5,17.9,7.8,10.1,14.6,14.6,0.0,,,,false,moderate +shot_pw_48,46.5,25.5,3.8,4318,0.6,C-S0-V3-P2,<115,37.2,37.9,-0.7,37.2,-0.7,52.9,44.5,8.4,15.7,6.6,9.1,15.6,15.6,0.0,,,,false,moderate +shot_pw_49,60.3,22.6,3.5,4044,5.0,I-S1a-V2-P2,<115,57.1,59.3,-2.2,57.1,-2.2,78.6,68.0,10.6,21.5,8.7,12.8,22.5,22.8,-0.3,,,,false,severe +shot_pw_5,28.7,9.0,7.2,2764,-0.0,C-S0-V0-P1,,5.7,,,5.7,,18.9,,,13.2,,,0.7,,,,,,false, +shot_pw_6,68.7,26.1,1.1,4149,8.2,I-S1a-V3-P2,<115,77.1,78.4,-1.3,77.1,-1.3,83.0,83.1,-0.1,5.9,4.7,1.2,38.4,38.6,-0.2,,,,false,pass +shot_pw_7,76.8,25.2,3.7,6565,8.2,I-S1b-V3-P3,<115,90.6,91.1,-0.5,90.6,-0.5,93.3,92.6,0.7,2.7,1.5,1.2,46.6,49.5,-2.9,,,,false,pass +shot_pw_8,33.3,17.4,4.2,3183,-0.0,C-S0-V1-P1,,14.0,,,14.0,,28.8,,,14.8,,,3.4,,,,,,false, +shot_pw_9,76.6,28.6,4.9,7133,5.7,I-S1b-V3-P3,,88.9,,,88.9,,92.6,,,3.7,,,54.9,,,,,,false, diff --git a/assets/data/shot_session_5/flightscope.csv b/assets/data/shot_session_5/flightscope.csv new file mode 100644 index 0000000..ef86bba --- /dev/null +++ b/assets/data/shot_session_5/flightscope.csv @@ -0,0 +1,53 @@ +shot_name,filename,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,backspin_rpm,sidespin_rpm,carry_yd,total_yd,rollout_yd,apex_ft +shot_3w_35,shot_3w_35.json,107.01,10.72,9.52,3700.4,15.50,3565.9,988.7,134.5,151.6,17.1,31.0 +shot_3w_36,shot_3w_36.json,128.27,9.51,-2.92,2613.7,-6.77,2595.5,-308.1,180.9,199.7,18.8,39.9 +shot_3w_37,shot_3w_37.json,100.89,23.65,6.42,7893.3,7.23,7830.5,993.3,131.0,131.7,0.7,87.5 +shot_3w_38,shot_3w_38.json,130.05,7.89,-0.57,1997.4,1.80,1996.4,62.6,171.0,200.0,29.0,28.9 +shot_3w_39,shot_3w_39.json,129.89,11.95,-1.78,2965.3,-0.82,2965.0,-42.3,197.1,208.9,11.8,59.4 +shot_3w_40,shot_3w_40.json,116.24,14.11,0.83,3909.1,0.36,3909.0,24.4,169.4,177.1,7.7,60.2 +shot_3w_41,shot_3w_41.json,126.56,7.88,-0.02,2418.3,5.93,2405.4,249.7,165.8,191.8,26.0,28.8 +shot_6i_30,shot_6i_30.json,96.45,10.09,-3.53,1644.0,5.10,1637.5,146.1,98.4,129.3,30.9,16.5 +shot_6i_31,shot_6i_31.json,97.89,9.42,-3.68,3752.0,4.52,3740.4,295.5,109.9,130.4,20.5,20.5 +shot_6i_32,shot_6i_32.json,90.17,9.74,-1.26,4135.2,7.98,4095.1,573.9,93.7,113.4,19.7,17.2 +shot_6i_33,shot_6i_33.json,105.71,11.72,-1.36,3776.1,10.99,3706.9,720.0,136.7,151.9,15.2,35.0 +shot_6i_34,shot_6i_34.json,111.13,9.31,-8.56,2637.1,-2.91,2633.7,-134.0,136.7,161.3,24.6,25.6 +shot_7i_26,shot_7i_26.json,107.15,14.31,-2.94,4648.0,7.59,4607.2,614.2,147.4,153.9,6.5,51.9 +shot_7i_27,shot_7i_27.json,103.35,14.05,-1.80,5084.7,13.65,4941.0,1200.1,136.6,142.8,6.2,46.5 +shot_7i_28,shot_7i_28.json,98.45,15.21,-3.44,3446.7,6.38,3425.3,383.1,129.8,140.3,10.5,40.9 +shot_7i_29,shot_7i_29.json,110.04,12.92,-0.51,3297.2,8.98,3256.8,514.5,150.7,163.0,12.3,42.9 +shot_8i_22,shot_8i_22.json,100.79,15.59,-5.47,3498.0,3.50,3491.5,213.3,136.5,146.4,9.9,45.5 +shot_8i_23,shot_8i_23.json,109.67,18.21,-0.03,3711.3,5.17,3696.2,334.5,160.9,167.2,6.3,70.2 +shot_8i_24,shot_8i_24.json,106.67,18.22,0.20,5796.8,8.85,5727.9,891.6,147.5,150.4,2.9,72.1 +shot_8i_25,shot_8i_25.json,96.96,18.53,-2.03,4809.3,4.30,4795.8,360.2,130.8,135.6,4.8,56.2 +shot_9i_19,shot_9i_19.json,101.23,20.48,-2.39,4282.2,5.84,4259.9,435.9,142.6,147.2,4.6,69.2 +shot_9i_20,shot_9i_20.json,98.52,20.39,1.42,4377.3,10.38,4305.7,788.4,136.0,140.8,4.8,64.1 +shot_9i_21,shot_9i_21.json,90.13,20.73,0.61,6342.4,5.08,6317.5,561.6,115.3,117.5,2.2,56.5 +shot_driver_42,shot_driver_42.json,136.11,8.71,-3.00,2154.9,-0.59,2154.8,-22.3,193.9,216.9,23.0,39.1 +shot_driver_43,shot_driver_43.json,133.20,5.82,-6.58,2130.0,-19.69,2005.5,-717.5,154.2,192.0,37.8,18.4 +shot_driver_44,shot_driver_44.json,123.96,12.67,1.29,3764.6,2.20,3761.8,144.7,184.7,193.3,8.6,61.9 +shot_driver_45,shot_driver_45.json,128.90,5.14,-5.25,1634.8,2.91,1632.7,83.0,135.9,181.7,45.8,13.3 +shot_driver_46,shot_driver_46.json,134.80,10.70,-2.42,3349.5,-6.46,3328.2,-376.8,204.1,215.2,11.1,59.2 +shot_driver_47,shot_driver_47.json,137.20,7.11,-4.32,2596.0,-12.12,2538.1,-545.3,186.5,211.8,25.3,32.0 +shot_driver_48,shot_driver_48.json,123.09,15.27,-4.21,4479.8,-6.82,4448.1,-532.0,184.2,189.2,5.0,79.3 +shot_driver_49,shot_driver_49.json,123.52,18.72,3.77,5686.4,8.96,5617.1,885.3,180.1,182.6,2.5,104.1 +shot_driver_50,shot_driver_50.json,135.46,4.17,-2.23,2365.1,-6.44,2350.2,-265.3,0.0,0.0,0.0,0.0 +shot_driver_51,shot_driver_51.json,133.55,4.89,-4.48,2290.4,-10.07,2255.1,-400.7,0.0,0.0,0.0,0.0 +shot_driver_52,shot_driver_52.json,79.04,47.63,1.95,6195.9,5.95,6162.5,642.7,0.0,0.0,0.0,0.0 +shot_lw_12,shot_lw_12.json,27.92,32.89,2.39,4103.5,0.00,4103.5,0.0,0.0,0.0,0.0,0.0 +shot_lw_13,shot_lw_13.json,27.46,40.45,3.52,6737.5,0.00,6737.5,0.0,0.0,0.0,0.0,0.0 +shot_lw_14,shot_lw_14.json,16.63,48.09,13.85,4133.7,20.06,3882.9,1417.8,0.0,0.0,0.0,0.0 +shot_lw_15,shot_lw_15.json,47.74,29.72,2.34,5998.7,0.00,5998.7,0.0,41.4,45.1,3.7,21.3 +shot_lw_16,shot_lw_16.json,52.57,37.20,5.56,5241.1,7.60,5195.1,692.9,50.6,51.8,1.2,36.6 +shot_lw_17,shot_lw_17.json,55.36,37.35,7.30,5902.8,9.87,5815.5,1011.5,54.5,55.4,0.9,41.0 +shot_lw_18,shot_lw_18.json,52.33,36.23,0.10,5373.7,13.17,5232.3,1224.3,50.0,51.3,1.3,34.7 +shot_pw_1,shot_pw_1.json,48.44,29.04,5.59,4593.3,2.52,4588.9,201.9,42.6,47.8,5.2,21.0 +shot_pw_10,shot_pw_10.json,83.58,25.18,1.37,5520.0,9.92,5437.5,950.8,105.5,107.9,2.4,59.2 +shot_pw_11,shot_pw_11.json,76.63,21.19,2.89,5232.4,-5.55,5207.9,-505.6,89.9,94.2,4.3,37.9 +shot_pw_2,shot_pw_2.json,57.80,26.75,2.79,4564.0,2.10,4560.9,167.5,57.9,61.9,4.0,27.4 +shot_pw_3,shot_pw_3.json,69.78,29.37,8.09,6334.5,8.08,6271.6,890.6,79.4,80.6,1.2,48.8 +shot_pw_4,shot_pw_4.json,68.60,29.11,3.83,6801.1,6.75,6753.9,799.5,76.8,77.8,1.0,46.6 +shot_pw_5,shot_pw_5.json,77.39,28.89,4.54,6293.5,7.31,6242.3,801.2,93.0,94.2,1.2,60.1 +shot_pw_6,shot_pw_6.json,76.27,28.17,3.68,5434.0,9.06,5366.3,855.3,92.3,94.4,2.1,55.8 +shot_pw_7,shot_pw_7.json,79.68,28.14,4.44,5839.6,9.11,5765.9,924.9,97.9,99.5,1.6,61.5 +shot_pw_8,shot_pw_8.json,76.43,28.21,1.55,5023.9,4.70,5007.0,411.9,93.4,95.9,2.5,55.9 +shot_pw_9,shot_pw_9.json,86.42,24.09,0.20,5479.7,3.71,5468.2,354.1,111.1,113.7,2.6,60.9 diff --git a/assets/data/shot_session_5/flightscope_reference.json b/assets/data/shot_session_5/flightscope_reference.json new file mode 100644 index 0000000..7a58b3c --- /dev/null +++ b/assets/data/shot_session_5/flightscope_reference.json @@ -0,0 +1,646 @@ +{ + "shot_3w_35": { + "filename": "shot_3w_35.json", + "speed_mph": 107.01280212402344, + "vla_deg": 10.7193603515625, + "hla_deg": 9.517881393432617, + "total_spin_rpm": 3700.378173828125, + "spin_axis_deg": 15.496614456176758, + "carry_yd": 134.5, + "roll_yd": 17.1, + "total_yd": 151.6, + "lateral_yd": 32.4, + "time_s": 3.8, + "apex_ft": 31.0 + }, + "shot_3w_36": { + "filename": "shot_3w_36.json", + "speed_mph": 128.27401733398438, + "vla_deg": 9.508279800415039, + "hla_deg": -2.9207170009613037, + "total_spin_rpm": 2613.708251953125, + "spin_axis_deg": -6.76861572265625, + "carry_yd": 180.9, + "roll_yd": 18.8, + "total_yd": 199.7, + "lateral_yd": 15.5, + "time_s": 4.5, + "apex_ft": 39.9 + }, + "shot_3w_37": { + "filename": "shot_3w_37.json", + "speed_mph": 100.89305114746094, + "vla_deg": 23.649686813354492, + "hla_deg": 6.416749954223633, + "total_spin_rpm": 7893.2568359375, + "spin_axis_deg": 7.229099273681641, + "carry_yd": 131.0, + "roll_yd": 0.7, + "total_yd": 131.7, + "lateral_yd": 22.3, + "time_s": 5.6, + "apex_ft": 87.5 + }, + "shot_3w_38": { + "filename": "shot_3w_38.json", + "speed_mph": 130.04608154296875, + "vla_deg": 7.889826774597168, + "hla_deg": -0.5679202675819397, + "total_spin_rpm": 1997.4271240234375, + "spin_axis_deg": 1.7957614660263062, + "carry_yd": 171.0, + "roll_yd": 29.0, + "total_yd": 200.0, + "lateral_yd": 3.1, + "time_s": 3.9, + "apex_ft": 28.9 + }, + "shot_3w_39": { + "filename": "shot_3w_39.json", + "speed_mph": 129.89370727539062, + "vla_deg": 11.952644348144531, + "hla_deg": -1.7782084941864014, + "total_spin_rpm": 2965.27197265625, + "spin_axis_deg": -0.8175290822982788, + "carry_yd": 197.1, + "roll_yd": 11.9, + "total_yd": 208.9, + "lateral_yd": 7.2, + "time_s": 5.3, + "apex_ft": 59.4 + }, + "shot_3w_40": { + "filename": "shot_3w_40.json", + "speed_mph": 116.23634338378906, + "vla_deg": 14.10959529876709, + "hla_deg": 0.827177882194519, + "total_spin_rpm": 3909.103759765625, + "spin_axis_deg": 0.3570772707462311, + "carry_yd": 169.4, + "roll_yd": 7.7, + "total_yd": 177.1, + "lateral_yd": 2.8, + "time_s": 5.2, + "apex_ft": 60.2 + }, + "shot_3w_41": { + "filename": "shot_3w_41.json", + "speed_mph": 126.55847930908203, + "vla_deg": 7.879362106323242, + "hla_deg": -0.024929018691182137, + "total_spin_rpm": 2418.28369140625, + "spin_axis_deg": 5.92646598815918, + "carry_yd": 165.8, + "roll_yd": 26.1, + "total_yd": 191.8, + "lateral_yd": 4.5, + "time_s": 3.9, + "apex_ft": 28.8 + }, + "shot_6i_30": { + "filename": "shot_6i_30.json", + "speed_mph": 96.45072937011719, + "vla_deg": 10.086884498596191, + "hla_deg": -3.528228998184204, + "total_spin_rpm": 1644.0111083984375, + "spin_axis_deg": 5.0972418785095215, + "carry_yd": 98.4, + "roll_yd": 30.9, + "total_yd": 129.3, + "lateral_yd": 7.3, + "time_s": 2.6, + "apex_ft": 16.5 + }, + "shot_6i_31": { + "filename": "shot_6i_31.json", + "speed_mph": 97.89483642578125, + "vla_deg": 9.420722961425781, + "hla_deg": -3.6833884716033936, + "total_spin_rpm": 3752.0068359375, + "spin_axis_deg": 4.517154216766357, + "carry_yd": 109.9, + "roll_yd": 20.5, + "total_yd": 130.4, + "lateral_yd": 9.2, + "time_s": 3.2, + "apex_ft": 20.5 + }, + "shot_6i_32": { + "filename": "shot_6i_32.json", + "speed_mph": 90.16819763183594, + "vla_deg": 9.738279342651367, + "hla_deg": -1.2602893114089966, + "total_spin_rpm": 4135.1640625, + "spin_axis_deg": 7.9773149490356445, + "carry_yd": 93.7, + "roll_yd": 19.7, + "total_yd": 113.4, + "lateral_yd": 5.1, + "time_s": 2.9, + "apex_ft": 17.2 + }, + "shot_6i_33": { + "filename": "shot_6i_33.json", + "speed_mph": 105.7063217163086, + "vla_deg": 11.72496509552002, + "hla_deg": -1.3593331575393677, + "total_spin_rpm": 3776.12646484375, + "spin_axis_deg": 10.991913795471191, + "carry_yd": 136.7, + "roll_yd": 15.3, + "total_yd": 151.9, + "lateral_yd": 11.2, + "time_s": 4.0, + "apex_ft": 35.0 + }, + "shot_6i_34": { + "filename": "shot_6i_34.json", + "speed_mph": 111.13463592529297, + "vla_deg": 9.311925888061523, + "hla_deg": -8.563950538635254, + "total_spin_rpm": 2637.095947265625, + "spin_axis_deg": -2.913599967956543, + "carry_yd": 136.7, + "roll_yd": 24.6, + "total_yd": 161.3, + "lateral_yd": 22.1, + "time_s": 3.6, + "apex_ft": 25.6 + }, + "shot_7i_26": { + "filename": "shot_7i_26.json", + "speed_mph": 107.15274047851562, + "vla_deg": 14.314764022827148, + "hla_deg": -2.9389946460723877, + "total_spin_rpm": 4647.97607421875, + "spin_axis_deg": 7.593866348266602, + "carry_yd": 147.4, + "roll_yd": 6.5, + "total_yd": 153.9, + "lateral_yd": 14.7, + "time_s": 4.8, + "apex_ft": 51.9 + }, + "shot_7i_27": { + "filename": "shot_7i_27.json", + "speed_mph": 103.35203552246094, + "vla_deg": 14.054620742797852, + "hla_deg": -1.7994935512542725, + "total_spin_rpm": 5084.68408203125, + "spin_axis_deg": 13.651330947875977, + "carry_yd": 136.6, + "roll_yd": 6.2, + "total_yd": 142.8, + "lateral_yd": 16.0, + "time_s": 4.5, + "apex_ft": 46.5 + }, + "shot_7i_28": { + "filename": "shot_7i_28.json", + "speed_mph": 98.45138549804688, + "vla_deg": 15.207098007202148, + "hla_deg": -3.4416439533233643, + "total_spin_rpm": 3446.681640625, + "spin_axis_deg": 6.381978988647461, + "carry_yd": 129.8, + "roll_yd": 10.4, + "total_yd": 140.3, + "lateral_yd": 11.9, + "time_s": 4.1, + "apex_ft": 40.9 + }, + "shot_7i_29": { + "filename": "shot_7i_29.json", + "speed_mph": 110.04068756103516, + "vla_deg": 12.915592193603516, + "hla_deg": -0.506693422794342, + "total_spin_rpm": 3297.2353515625, + "spin_axis_deg": 8.976988792419434, + "carry_yd": 150.7, + "roll_yd": 12.3, + "total_yd": 163.0, + "lateral_yd": 8.6, + "time_s": 4.4, + "apex_ft": 42.9 + }, + "shot_8i_22": { + "filename": "shot_8i_22.json", + "speed_mph": 100.78736877441406, + "vla_deg": 15.588615417480469, + "hla_deg": -5.473744869232178, + "total_spin_rpm": 3498.018798828125, + "spin_axis_deg": 3.4955737590789795, + "carry_yd": 136.5, + "roll_yd": 9.9, + "total_yd": 146.4, + "lateral_yd": 15.6, + "time_s": 4.4, + "apex_ft": 45.5 + }, + "shot_8i_23": { + "filename": "shot_8i_23.json", + "speed_mph": 109.66536712646484, + "vla_deg": 18.20952606201172, + "hla_deg": -0.034251756966114044, + "total_spin_rpm": 3711.27783203125, + "spin_axis_deg": 5.170443058013916, + "carry_yd": 160.9, + "roll_yd": 6.3, + "total_yd": 167.2, + "lateral_yd": 5.4, + "time_s": 5.3, + "apex_ft": 70.2 + }, + "shot_8i_24": { + "filename": "shot_8i_24.json", + "speed_mph": 106.67207336425781, + "vla_deg": 18.218992233276367, + "hla_deg": 0.1982773393392563, + "total_spin_rpm": 5796.84619140625, + "spin_axis_deg": 8.847570419311523, + "carry_yd": 147.5, + "roll_yd": 2.9, + "total_yd": 150.4, + "lateral_yd": 10.3, + "time_s": 5.4, + "apex_ft": 72.1 + }, + "shot_8i_25": { + "filename": "shot_8i_25.json", + "speed_mph": 96.9642333984375, + "vla_deg": 18.528358459472656, + "hla_deg": -2.0300650596618652, + "total_spin_rpm": 4809.26611328125, + "spin_axis_deg": 4.295639991760254, + "carry_yd": 130.8, + "roll_yd": 4.8, + "total_yd": 135.6, + "lateral_yd": 8.1, + "time_s": 4.7, + "apex_ft": 56.2 + }, + "shot_9i_19": { + "filename": "shot_9i_19.json", + "speed_mph": 101.23149871826172, + "vla_deg": 20.480335235595703, + "hla_deg": -2.394479513168335, + "total_spin_rpm": 4282.1787109375, + "spin_axis_deg": 5.841998100280762, + "carry_yd": 142.6, + "roll_yd": 4.6, + "total_yd": 147.2, + "lateral_yd": 11.3, + "time_s": 5.2, + "apex_ft": 69.2 + }, + "shot_9i_20": { + "filename": "shot_9i_20.json", + "speed_mph": 98.51696014404297, + "vla_deg": 20.39344024658203, + "hla_deg": 1.4170290231704712, + "total_spin_rpm": 4377.255859375, + "spin_axis_deg": 10.376056671142578, + "carry_yd": 136.0, + "roll_yd": 4.9, + "total_yd": 140.8, + "lateral_yd": 12.1, + "time_s": 5.0, + "apex_ft": 64.1 + }, + "shot_9i_21": { + "filename": "shot_9i_21.json", + "speed_mph": 90.1319808959961, + "vla_deg": 20.733213424682617, + "hla_deg": 0.606775164604187, + "total_spin_rpm": 6342.359375, + "spin_axis_deg": 5.079671382904053, + "carry_yd": 115.3, + "roll_yd": 2.3, + "total_yd": 117.5, + "lateral_yd": 5.0, + "time_s": 4.6, + "apex_ft": 56.5 + }, + "shot_driver_42": { + "filename": "shot_driver_42.json", + "speed_mph": 136.1131134033203, + "vla_deg": 8.713723182678223, + "hla_deg": -3.0001964569091797, + "total_spin_rpm": 2154.881591796875, + "spin_axis_deg": -0.5938407182693481, + "carry_yd": 193.9, + "roll_yd": 23.0, + "total_yd": 216.9, + "lateral_yd": 10.7, + "time_s": 4.5, + "apex_ft": 39.1 + }, + "shot_driver_43": { + "filename": "shot_driver_43.json", + "speed_mph": 133.2007293701172, + "vla_deg": 5.8182854652404785, + "hla_deg": -6.575400352478027, + "total_spin_rpm": 2129.95458984375, + "spin_axis_deg": -19.685665130615234, + "carry_yd": 154.2, + "roll_yd": 38.0, + "total_yd": 192.0, + "lateral_yd": 28.9, + "time_s": 3.3, + "apex_ft": 18.4 + }, + "shot_driver_44": { + "filename": "shot_driver_44.json", + "speed_mph": 123.9580307006836, + "vla_deg": 12.668797492980957, + "hla_deg": 1.288704752922058, + "total_spin_rpm": 3764.614013671875, + "spin_axis_deg": 2.2028913497924805, + "carry_yd": 184.7, + "roll_yd": 8.6, + "total_yd": 193.3, + "lateral_yd": 6.9, + "time_s": 5.4, + "apex_ft": 61.9 + }, + "shot_driver_45": { + "filename": "shot_driver_45.json", + "speed_mph": 128.9036102294922, + "vla_deg": 5.142544746398926, + "hla_deg": -5.24889612197876, + "total_spin_rpm": 1634.8076171875, + "spin_axis_deg": 2.908538579940796, + "carry_yd": 135.9, + "roll_yd": 45.8, + "total_yd": 181.7, + "lateral_yd": 13.5, + "time_s": 2.8, + "apex_ft": 13.3 + }, + "shot_driver_46": { + "filename": "shot_driver_46.json", + "speed_mph": 134.8002471923828, + "vla_deg": 10.702155113220215, + "hla_deg": -2.4238810539245605, + "total_spin_rpm": 3349.47119140625, + "spin_axis_deg": -6.45877742767334, + "carry_yd": 204.1, + "roll_yd": 11.1, + "total_yd": 215.2, + "lateral_yd": 17.3, + "time_s": 5.4, + "apex_ft": 59.2 + }, + "shot_driver_47": { + "filename": "shot_driver_47.json", + "speed_mph": 137.204345703125, + "vla_deg": 7.114136695861816, + "hla_deg": -4.323713779449463, + "total_spin_rpm": 2595.981201171875, + "spin_axis_deg": -12.124574661254883, + "carry_yd": 186.5, + "roll_yd": 25.3, + "total_yd": 211.8, + "lateral_yd": 25.2, + "time_s": 4.3, + "apex_ft": 32.0 + }, + "shot_driver_48": { + "filename": "shot_driver_48.json", + "speed_mph": 123.08853149414062, + "vla_deg": 15.272175788879395, + "hla_deg": -4.212043285369873, + "total_spin_rpm": 4479.79345703125, + "spin_axis_deg": -6.820850849151611, + "carry_yd": 184.2, + "roll_yd": 5.0, + "total_yd": 189.2, + "lateral_yd": 23.0, + "time_s": 5.9, + "apex_ft": 79.3 + }, + "shot_driver_49": { + "filename": "shot_driver_49.json", + "speed_mph": 123.52067565917969, + "vla_deg": 18.7249813079834, + "hla_deg": 3.7678961753845215, + "total_spin_rpm": 5686.44384765625, + "spin_axis_deg": 8.956511497497559, + "carry_yd": 180.1, + "roll_yd": 2.5, + "total_yd": 182.6, + "lateral_yd": 26.1, + "time_s": 6.4, + "apex_ft": 104.1 + }, + "shot_lw_15": { + "filename": "shot_lw_15.json", + "speed_mph": 47.73783493041992, + "vla_deg": 29.718547821044922, + "hla_deg": 2.341675043106079, + "total_spin_rpm": 5998.71484375, + "spin_axis_deg": 0, + "carry_yd": 41.4, + "roll_yd": 3.7, + "total_yd": 45.1, + "lateral_yd": 1.7, + "time_s": 2.6, + "apex_ft": 21.3 + }, + "shot_lw_16": { + "filename": "shot_lw_16.json", + "speed_mph": 52.568111419677734, + "vla_deg": 37.204917907714844, + "hla_deg": 5.559354782104492, + "total_spin_rpm": 5241.1455078125, + "spin_axis_deg": 7.596530914306641, + "carry_yd": 50.6, + "roll_yd": 1.3, + "total_yd": 51.8, + "lateral_yd": 6.2, + "time_s": 3.3, + "apex_ft": 36.6 + }, + "shot_lw_17": { + "filename": "shot_lw_17.json", + "speed_mph": 55.360511779785156, + "vla_deg": 37.3472900390625, + "hla_deg": 7.302391529083252, + "total_spin_rpm": 5902.78173828125, + "spin_axis_deg": 9.867267608642578, + "carry_yd": 54.5, + "roll_yd": 0.9, + "total_yd": 55.4, + "lateral_yd": 8.9, + "time_s": 3.5, + "apex_ft": 41.0 + }, + "shot_lw_18": { + "filename": "shot_lw_18.json", + "speed_mph": 52.32589340209961, + "vla_deg": 36.23020553588867, + "hla_deg": 0.09715430438518524, + "total_spin_rpm": 5373.66015625, + "spin_axis_deg": 13.169772148132324, + "carry_yd": 50.0, + "roll_yd": 1.3, + "total_yd": 51.3, + "lateral_yd": 2.2, + "time_s": 3.2, + "apex_ft": 34.7 + }, + "shot_pw_1": { + "filename": "shot_pw_1.json", + "speed_mph": 48.44317626953125, + "vla_deg": 29.041929244995117, + "hla_deg": 5.592526912689209, + "total_spin_rpm": 4593.3369140625, + "spin_axis_deg": 2.5195400714874268, + "carry_yd": 42.6, + "roll_yd": 5.2, + "total_yd": 47.8, + "lateral_yd": 4.4, + "time_s": 2.5, + "apex_ft": 21.0 + }, + "shot_pw_10": { + "filename": "shot_pw_10.json", + "speed_mph": 83.5762710571289, + "vla_deg": 25.178775787353516, + "hla_deg": 1.3666319847106934, + "total_spin_rpm": 5520.03125, + "spin_axis_deg": 9.918631553649902, + "carry_yd": 105.5, + "roll_yd": 2.4, + "total_yd": 107.9, + "lateral_yd": 8.7, + "time_s": 4.6, + "apex_ft": 59.2 + }, + "shot_pw_11": { + "filename": "shot_pw_11.json", + "speed_mph": 76.62812042236328, + "vla_deg": 21.191808700561523, + "hla_deg": 2.890895366668701, + "total_spin_rpm": 5232.42138671875, + "spin_axis_deg": -5.54527473449707, + "carry_yd": 89.9, + "roll_yd": 4.3, + "total_yd": 94.2, + "lateral_yd": 6.9, + "time_s": 3.7, + "apex_ft": 37.9 + }, + "shot_pw_2": { + "filename": "shot_pw_2.json", + "speed_mph": 57.79575729370117, + "vla_deg": 26.747661590576172, + "hla_deg": 2.791076898574829, + "total_spin_rpm": 4563.97802734375, + "spin_axis_deg": 2.1034533977508545, + "carry_yd": 57.9, + "roll_yd": 4.1, + "total_yd": 61.9, + "lateral_yd": 3.2, + "time_s": 3.0, + "apex_ft": 27.4 + }, + "shot_pw_3": { + "filename": "shot_pw_3.json", + "speed_mph": 69.7819595336914, + "vla_deg": 29.373191833496094, + "hla_deg": 8.089510917663574, + "total_spin_rpm": 6334.4716796875, + "spin_axis_deg": 8.082168579101562, + "carry_yd": 79.4, + "roll_yd": 1.2, + "total_yd": 80.6, + "lateral_yd": 14.3, + "time_s": 4.0, + "apex_ft": 48.8 + }, + "shot_pw_4": { + "filename": "shot_pw_4.json", + "speed_mph": 68.60160827636719, + "vla_deg": 29.10832405090332, + "hla_deg": 3.826197385787964, + "total_spin_rpm": 6801.06201171875, + "spin_axis_deg": 6.750765323638916, + "carry_yd": 76.8, + "roll_yd": 1.0, + "total_yd": 77.8, + "lateral_yd": 7.7, + "time_s": 3.9, + "apex_ft": 46.6 + }, + "shot_pw_5": { + "filename": "shot_pw_5.json", + "speed_mph": 77.39173126220703, + "vla_deg": 28.885831832885742, + "hla_deg": 4.544674873352051, + "total_spin_rpm": 6293.470703125, + "spin_axis_deg": 7.3141350746154785, + "carry_yd": 93.0, + "roll_yd": 1.2, + "total_yd": 94.2, + "lateral_yd": 11.2, + "time_s": 4.5, + "apex_ft": 60.1 + }, + "shot_pw_6": { + "filename": "shot_pw_6.json", + "speed_mph": 76.26744842529297, + "vla_deg": 28.165250778198242, + "hla_deg": 3.6799745559692383, + "total_spin_rpm": 5434.0087890625, + "spin_axis_deg": 9.056371688842773, + "carry_yd": 92.3, + "roll_yd": 2.1, + "total_yd": 94.4, + "lateral_yd": 10.4, + "time_s": 4.3, + "apex_ft": 55.8 + }, + "shot_pw_7": { + "filename": "shot_pw_7.json", + "speed_mph": 79.6754150390625, + "vla_deg": 28.13820457458496, + "hla_deg": 4.442571640014648, + "total_spin_rpm": 5839.630859375, + "spin_axis_deg": 9.11341667175293, + "carry_yd": 97.9, + "roll_yd": 1.6, + "total_yd": 99.5, + "lateral_yd": 12.6, + "time_s": 4.6, + "apex_ft": 61.5 + }, + "shot_pw_8": { + "filename": "shot_pw_8.json", + "speed_mph": 76.43351745605469, + "vla_deg": 28.207651138305664, + "hla_deg": 1.545158863067627, + "total_spin_rpm": 5023.94775390625, + "spin_axis_deg": 4.7022385597229, + "carry_yd": 93.4, + "roll_yd": 2.5, + "total_yd": 95.9, + "lateral_yd": 4.7, + "time_s": 4.3, + "apex_ft": 55.9 + }, + "shot_pw_9": { + "filename": "shot_pw_9.json", + "speed_mph": 86.42369079589844, + "vla_deg": 24.088945388793945, + "hla_deg": 0.20433346927165985, + "total_spin_rpm": 5479.673828125, + "spin_axis_deg": 3.7053728103637695, + "carry_yd": 111.1, + "roll_yd": 2.6, + "total_yd": 113.7, + "lateral_yd": 2.9, + "time_s": 4.7, + "apex_ft": 60.9 + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/history/iteration_001.json b/assets/data/shot_session_5/history/iteration_001.json new file mode 100644 index 0000000..97db70c --- /dev/null +++ b/assets/data/shot_session_5/history/iteration_001.json @@ -0,0 +1,395 @@ +{ + "iteration": 1, + "timestamp": "2026-03-16T10:43:11.953424", + "profile_overrides": {}, + "summary": { + "pass": 11, + "moderate": 12, + "severe": 23, + "no_reference": 6 + }, + "per_shot": { + "shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_3w_37": { + "diff_carry_yd": 10.8, + "diff_total_yd": 18.8, + "diff_apex_ft": -5.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_30": { + "diff_carry_yd": -4.3, + "diff_total_yd": 18.6, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_6i_31": { + "diff_carry_yd": 0.3, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_32": { + "diff_carry_yd": 10.5, + "diff_total_yd": -9.1, + "diff_apex_ft": 4.9, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "shot_6i_33": { + "diff_carry_yd": -0.2, + "diff_total_yd": -14.9, + "diff_apex_ft": -2.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_26": { + "diff_carry_yd": 7.1, + "diff_total_yd": 13.0, + "diff_apex_ft": 14.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_7i_27": { + "diff_carry_yd": 9.0, + "diff_total_yd": 12.8, + "diff_apex_ft": 12.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_7i_28": { + "diff_carry_yd": -0.3, + "diff_total_yd": -7.7, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "shot_8i_23": { + "diff_carry_yd": -0.3, + "diff_total_yd": 3.3, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "shot_8i_24": { + "diff_carry_yd": -0.9, + "diff_total_yd": 6.1, + "diff_apex_ft": -4.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_8i_25": { + "diff_carry_yd": 0.8, + "diff_total_yd": 5.8, + "diff_apex_ft": 8.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": 8.6, + "diff_apex_ft": 10.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_20": { + "diff_carry_yd": -2.3, + "diff_total_yd": 7.4, + "diff_apex_ft": 11.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_21": { + "diff_carry_yd": 0.4, + "diff_total_yd": 1.1, + "diff_apex_ft": -7.5, + "status": "pass", + "error_pattern": null + }, + "shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_driver_48": { + "diff_carry_yd": 1.9, + "diff_total_yd": 10.3, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_49": { + "diff_carry_yd": 2.3, + "diff_total_yd": 21.9, + "diff_apex_ft": 29.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_50": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_driver_51": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_driver_52": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_12": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_14": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.1, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Rollout.LowSpinThreshold", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Bounce.RolloutHighSpinRetention" + ] +} diff --git a/assets/data/shot_session_5/history/iteration_002.json b/assets/data/shot_session_5/history/iteration_002.json new file mode 100644 index 0000000..41a54d1 --- /dev/null +++ b/assets/data/shot_session_5/history/iteration_002.json @@ -0,0 +1,395 @@ +{ + "iteration": 2, + "timestamp": "2026-03-16T10:49:28.039624", + "profile_overrides": {}, + "summary": { + "pass": 11, + "moderate": 12, + "severe": 23, + "no_reference": 6 + }, + "per_shot": { + "shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_3w_37": { + "diff_carry_yd": 10.8, + "diff_total_yd": 18.8, + "diff_apex_ft": -5.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_30": { + "diff_carry_yd": -4.3, + "diff_total_yd": 18.6, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_6i_31": { + "diff_carry_yd": 0.3, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_32": { + "diff_carry_yd": 10.5, + "diff_total_yd": -9.1, + "diff_apex_ft": 4.9, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "shot_6i_33": { + "diff_carry_yd": -0.2, + "diff_total_yd": -14.9, + "diff_apex_ft": -2.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_26": { + "diff_carry_yd": 7.1, + "diff_total_yd": 13.0, + "diff_apex_ft": 14.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_7i_27": { + "diff_carry_yd": 9.0, + "diff_total_yd": 12.8, + "diff_apex_ft": 12.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_7i_28": { + "diff_carry_yd": -0.3, + "diff_total_yd": -7.7, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "shot_8i_23": { + "diff_carry_yd": -0.3, + "diff_total_yd": 3.3, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "shot_8i_24": { + "diff_carry_yd": -0.9, + "diff_total_yd": 6.1, + "diff_apex_ft": -4.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_8i_25": { + "diff_carry_yd": 0.8, + "diff_total_yd": 5.8, + "diff_apex_ft": 8.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": 8.6, + "diff_apex_ft": 10.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_20": { + "diff_carry_yd": -2.3, + "diff_total_yd": 7.4, + "diff_apex_ft": 11.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_21": { + "diff_carry_yd": 0.4, + "diff_total_yd": 1.1, + "diff_apex_ft": -7.5, + "status": "pass", + "error_pattern": null + }, + "shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_driver_48": { + "diff_carry_yd": 1.9, + "diff_total_yd": 10.3, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_49": { + "diff_carry_yd": 2.3, + "diff_total_yd": 21.9, + "diff_apex_ft": 29.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_50": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_driver_51": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_driver_52": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_12": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_14": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.1, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Rollout.LowSpinThreshold", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Bounce.RolloutHighSpinRetention" + ] +} diff --git a/assets/data/shot_session_5/history/iteration_003.json b/assets/data/shot_session_5/history/iteration_003.json new file mode 100644 index 0000000..8c6793c --- /dev/null +++ b/assets/data/shot_session_5/history/iteration_003.json @@ -0,0 +1,395 @@ +{ + "iteration": 3, + "timestamp": "2026-03-16T10:52:13.333783", + "profile_overrides": {}, + "summary": { + "pass": 11, + "moderate": 12, + "severe": 23, + "no_reference": 6 + }, + "per_shot": { + "shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_3w_37": { + "diff_carry_yd": 10.8, + "diff_total_yd": 18.8, + "diff_apex_ft": -5.2, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.5, + "status": "pass", + "error_pattern": null + }, + "shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_30": { + "diff_carry_yd": -4.3, + "diff_total_yd": 18.6, + "diff_apex_ft": -1.1, + "status": "severe", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_6i_31": { + "diff_carry_yd": 0.3, + "diff_total_yd": -21.0, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_32": { + "diff_carry_yd": 10.5, + "diff_total_yd": -9.1, + "diff_apex_ft": 4.9, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "shot_6i_33": { + "diff_carry_yd": -0.2, + "diff_total_yd": -14.9, + "diff_apex_ft": -2.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_26": { + "diff_carry_yd": 7.1, + "diff_total_yd": 13.0, + "diff_apex_ft": 14.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_7i_27": { + "diff_carry_yd": 9.0, + "diff_total_yd": 12.8, + "diff_apex_ft": 12.1, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_7i_28": { + "diff_carry_yd": -0.3, + "diff_total_yd": -7.7, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.3, + "status": "pass", + "error_pattern": null + }, + "shot_8i_23": { + "diff_carry_yd": -0.3, + "diff_total_yd": 3.3, + "diff_apex_ft": -3.6, + "status": "pass", + "error_pattern": null + }, + "shot_8i_24": { + "diff_carry_yd": -0.9, + "diff_total_yd": 6.1, + "diff_apex_ft": -4.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_8i_25": { + "diff_carry_yd": 0.8, + "diff_total_yd": 5.8, + "diff_apex_ft": 8.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_19": { + "diff_carry_yd": -2.9, + "diff_total_yd": 8.6, + "diff_apex_ft": 10.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_20": { + "diff_carry_yd": -2.3, + "diff_total_yd": 7.4, + "diff_apex_ft": 11.5, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_21": { + "diff_carry_yd": 0.4, + "diff_total_yd": 1.1, + "diff_apex_ft": -7.5, + "status": "pass", + "error_pattern": null + }, + "shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_driver_48": { + "diff_carry_yd": 1.9, + "diff_total_yd": 10.3, + "diff_apex_ft": 0.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_49": { + "diff_carry_yd": 2.3, + "diff_total_yd": 21.9, + "diff_apex_ft": 29.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_50": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_driver_51": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_driver_52": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_12": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_14": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.1, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Rollout.LowSpinThreshold", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Bounce.RolloutHighSpinRetention" + ] +} diff --git a/assets/data/shot_session_5/history/iteration_004.json b/assets/data/shot_session_5/history/iteration_004.json new file mode 100644 index 0000000..520213c --- /dev/null +++ b/assets/data/shot_session_5/history/iteration_004.json @@ -0,0 +1,395 @@ +{ + "iteration": 4, + "timestamp": "2026-03-16T11:17:07.761739", + "profile_overrides": {}, + "summary": { + "pass": 12, + "moderate": 14, + "severe": 20, + "no_reference": 6 + }, + "per_shot": { + "shot_3w_35": { + "diff_carry_yd": -1.2, + "diff_total_yd": -18.4, + "diff_apex_ft": -2.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_36": { + "diff_carry_yd": -3.8, + "diff_total_yd": -21.7, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_SHORT" + }, + "shot_3w_37": { + "diff_carry_yd": 5.4, + "diff_total_yd": 12.1, + "diff_apex_ft": -9.6, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_3w_38": { + "diff_carry_yd": -0.4, + "diff_total_yd": -29.5, + "diff_apex_ft": 0.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_39": { + "diff_carry_yd": -0.5, + "diff_total_yd": -6.8, + "diff_apex_ft": -2.8, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_3w_40": { + "diff_carry_yd": -1.1, + "diff_total_yd": -2.9, + "diff_apex_ft": -5.6, + "status": "pass", + "error_pattern": null + }, + "shot_3w_41": { + "diff_carry_yd": 2.6, + "diff_total_yd": -23.5, + "diff_apex_ft": 0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_30": { + "diff_carry_yd": -2.1, + "diff_total_yd": 21.3, + "diff_apex_ft": -0.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_6i_31": { + "diff_carry_yd": -0.3, + "diff_total_yd": -21.8, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_32": { + "diff_carry_yd": 4.0, + "diff_total_yd": -15.8, + "diff_apex_ft": 2.4, + "status": "severe", + "error_pattern": "CARRY_TOO_LONG" + }, + "shot_6i_33": { + "diff_carry_yd": -0.4, + "diff_total_yd": -15.1, + "diff_apex_ft": -2.7, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_6i_34": { + "diff_carry_yd": -1.3, + "diff_total_yd": -26.3, + "diff_apex_ft": -1.4, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_26": { + "diff_carry_yd": 2.7, + "diff_total_yd": 6.7, + "diff_apex_ft": 9.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_7i_27": { + "diff_carry_yd": 5.8, + "diff_total_yd": 8.1, + "diff_apex_ft": 8.3, + "status": "moderate", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_7i_28": { + "diff_carry_yd": -0.5, + "diff_total_yd": -7.8, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_7i_29": { + "diff_carry_yd": -2.4, + "diff_total_yd": -12.7, + "diff_apex_ft": -3.6, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_8i_22": { + "diff_carry_yd": 0.4, + "diff_total_yd": -5.0, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "shot_8i_23": { + "diff_carry_yd": -0.5, + "diff_total_yd": 3.0, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "shot_8i_24": { + "diff_carry_yd": -1.0, + "diff_total_yd": 4.5, + "diff_apex_ft": -5.3, + "status": "pass", + "error_pattern": null + }, + "shot_8i_25": { + "diff_carry_yd": 0.5, + "diff_total_yd": 5.1, + "diff_apex_ft": 7.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_19": { + "diff_carry_yd": -3.0, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_20": { + "diff_carry_yd": -2.5, + "diff_total_yd": 8.0, + "diff_apex_ft": 9.7, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_9i_21": { + "diff_carry_yd": -0.2, + "diff_total_yd": 0.6, + "diff_apex_ft": -7.6, + "status": "pass", + "error_pattern": null + }, + "shot_driver_42": { + "diff_carry_yd": -1.9, + "diff_total_yd": -23.9, + "diff_apex_ft": -0.8, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_driver_43": { + "diff_carry_yd": 5.1, + "diff_total_yd": 24.9, + "diff_apex_ft": 2.0, + "status": "severe", + "error_pattern": "CARRY_AND_ROLLOUT_LONG" + }, + "shot_driver_44": { + "diff_carry_yd": 1.0, + "diff_total_yd": -1.5, + "diff_apex_ft": -4.7, + "status": "pass", + "error_pattern": null + }, + "shot_driver_45": { + "diff_carry_yd": -1.4, + "diff_total_yd": 15.7, + "diff_apex_ft": 0.3, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_46": { + "diff_carry_yd": 0.9, + "diff_total_yd": -4.7, + "diff_apex_ft": -2.4, + "status": "pass", + "error_pattern": null + }, + "shot_driver_47": { + "diff_carry_yd": 2.0, + "diff_total_yd": -23.0, + "diff_apex_ft": 1.9, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_SHORT" + }, + "shot_driver_48": { + "diff_carry_yd": 1.8, + "diff_total_yd": 9.8, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_49": { + "diff_carry_yd": 3.0, + "diff_total_yd": 22.1, + "diff_apex_ft": 26.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_driver_50": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_driver_51": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_driver_52": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_12": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_13": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_14": { + "diff_carry_yd": null, + "diff_total_yd": null, + "diff_apex_ft": null, + "status": "pass", + "error_pattern": null + }, + "shot_lw_15": { + "diff_carry_yd": -2.0, + "diff_total_yd": 5.0, + "diff_apex_ft": -1.0, + "status": "pass", + "error_pattern": null + }, + "shot_lw_16": { + "diff_carry_yd": -0.9, + "diff_total_yd": 11.3, + "diff_apex_ft": -0.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_17": { + "diff_carry_yd": 0.6, + "diff_total_yd": 10.9, + "diff_apex_ft": 0.2, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_lw_18": { + "diff_carry_yd": -0.9, + "diff_total_yd": 9.0, + "diff_apex_ft": -0.6, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_1": { + "diff_carry_yd": -0.5, + "diff_total_yd": 9.5, + "diff_apex_ft": 0.0, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_10": { + "diff_carry_yd": 0.0, + "diff_total_yd": 3.6, + "diff_apex_ft": -4.8, + "status": "pass", + "error_pattern": null + }, + "shot_pw_11": { + "diff_carry_yd": -1.5, + "diff_total_yd": -4.2, + "diff_apex_ft": -3.7, + "status": "pass", + "error_pattern": null + }, + "shot_pw_2": { + "diff_carry_yd": 1.8, + "diff_total_yd": 16.9, + "diff_apex_ft": 1.0, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_3": { + "diff_carry_yd": -2.8, + "diff_total_yd": 10.4, + "diff_apex_ft": -2.5, + "status": "severe", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_4": { + "diff_carry_yd": -3.7, + "diff_total_yd": 8.4, + "diff_apex_ft": -3.4, + "status": "moderate", + "error_pattern": "CARRY_TOO_SHORT" + }, + "shot_pw_5": { + "diff_carry_yd": -0.8, + "diff_total_yd": 4.2, + "diff_apex_ft": -3.1, + "status": "pass", + "error_pattern": null + }, + "shot_pw_6": { + "diff_carry_yd": 1.8, + "diff_total_yd": 6.2, + "diff_apex_ft": -2.1, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_7": { + "diff_carry_yd": -0.3, + "diff_total_yd": 5.8, + "diff_apex_ft": -3.9, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_8": { + "diff_carry_yd": 0.1, + "diff_total_yd": 5.2, + "diff_apex_ft": -2.2, + "status": "moderate", + "error_pattern": "ROLLOUT_TOO_LONG" + }, + "shot_pw_9": { + "diff_carry_yd": -1.4, + "diff_total_yd": 3.2, + "diff_apex_ft": -6.2, + "status": "pass", + "error_pattern": null + } + }, + "regressions": [], + "conflicts": [ + "Bounce.FlightTangentialRetentionBase", + "Bounce.FlightSpinFactorMin", + "Bounce.FlightSpinFactorDivisor", + "Bounce.CorBaseA", + "Rollout.LowSpinMultiplierMax", + "Rollout.MidSpinMultiplierMax", + "Rollout.HighSpinMultiplierMax", + "Rollout.ChipVelocityScaleMin", + "Rollout.ChipVelocityScaleMax", + "Rollout.LowSpinThreshold", + "Rollout.FrictionBlendSpeed", + "KineticFrictionMultiplier", + "RollingFrictionMultiplier", + "Bounce.RolloutLowSpinRetention", + "Bounce.RolloutHighSpinRetention" + ] +} diff --git a/assets/data/shot_session_5/physics.csv b/assets/data/shot_session_5/physics.csv new file mode 100644 index 0000000..5323fb3 --- /dev/null +++ b/assets/data/shot_session_5/physics.csv @@ -0,0 +1,53 @@ +shot_name,filename,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,backspin_rpm,sidespin_rpm,carry_yd,total_yd,rollout_yd,apex_ft,hang_time_s,landing_speed_mps,landing_angle_deg,initial_re,initial_spin_ratio,initial_cd,initial_cl,peak_cl,carry_only_yd +shot_3w_35,shot_3w_35.json,107.01,10.72,9.52,3700.4,15.50,3565.9,988.7,133.3,133.2,-0.0,28.1,3.50,28.35,20.69,130963.7,0.172817,0.210794,0.197243,0.198182,133.3 +shot_3w_36,shot_3w_36.json,128.27,9.51,-2.92,2613.7,-6.77,2595.5,-308.1,177.1,178.0,0.9,37.2,4.12,30.79,21.80,156983.5,0.101834,0.214824,0.162752,0.164295,177.1 +shot_3w_37,shot_3w_37.json,100.89,23.65,6.42,7893.3,7.23,7830.5,993.3,136.4,143.8,7.5,77.9,5.25,22.30,49.48,123474.3,0.390995,0.254023,0.227316,0.295772,136.4 +shot_3w_38,shot_3w_38.json,130.05,7.89,-0.57,1997.4,1.80,1996.4,62.6,170.6,170.5,-0.1,28.9,3.74,33.10,17.70,159152.2,0.076763,0.206121,0.154282,0.155381,170.6 +shot_3w_39,shot_3w_39.json,129.89,11.95,-1.78,2965.3,-0.82,2965.0,-42.3,196.6,202.1,5.5,56.6,4.93,28.57,29.75,158965.7,0.114091,0.220233,0.173148,0.175763,196.6 +shot_3w_40,shot_3w_40.json,116.24,14.11,0.83,3909.1,0.36,3909.0,24.4,168.3,174.2,5.9,54.6,4.69,26.40,33.35,142251.6,0.168078,0.222562,0.193403,0.197482,168.3 +shot_3w_41,shot_3w_41.json,126.56,7.88,-0.02,2418.3,5.93,2405.4,249.7,168.4,168.3,-0.1,29.3,3.81,32.05,18.28,154884.0,0.095497,0.206394,0.169245,0.170138,168.4 +shot_6i_30,shot_6i_30.json,96.45,10.09,-3.53,1644.0,5.10,1637.5,146.1,96.3,150.6,54.2,15.8,2.49,30.78,14.63,118037.7,0.085187,0.187597,0.159222,0.159222,96.3 +shot_6i_31,shot_6i_31.json,97.89,9.42,-3.68,3752.0,4.52,3740.4,295.5,109.6,108.6,-0.9,19.7,3.00,27.52,17.80,119805.0,0.191549,0.216915,0.223816,0.224950,109.6 +shot_6i_32,shot_6i_32.json,90.17,9.74,-1.26,4135.2,7.98,4095.1,573.9,97.7,97.6,-0.2,19.6,3.00,24.08,22.06,110349.1,0.229200,0.248774,0.288330,0.293027,97.7 +shot_6i_33,shot_6i_33.json,105.71,11.72,-1.36,3776.1,10.99,3706.9,720.0,136.3,136.8,0.5,32.3,3.71,27.31,23.26,129364.9,0.178534,0.212046,0.202288,0.204818,136.3 +shot_6i_34,shot_6i_34.json,111.13,9.31,-8.56,2637.1,-2.91,2633.7,-134.0,135.4,135.0,-0.4,24.2,3.31,30.69,17.41,136008.1,0.118591,0.200305,0.175664,0.175839,135.4 +shot_7i_26,shot_7i_26.json,107.15,14.31,-2.94,4648.0,7.59,4607.2,614.2,150.1,160.6,10.5,61.5,4.84,23.95,44.50,131135.0,0.216789,0.232684,0.274543,0.301241,150.1 +shot_7i_27,shot_7i_27.json,103.35,14.05,-1.80,5084.7,13.65,4941.0,1200.1,142.4,150.9,8.5,54.8,4.63,23.58,41.78,126483.6,0.245879,0.232271,0.305239,0.305239,142.4 +shot_7i_28,shot_7i_28.json,98.45,15.21,-3.44,3446.7,6.38,3425.3,383.1,129.3,132.5,3.2,38.7,3.84,26.00,28.94,120486.2,0.174967,0.205688,0.202745,0.205183,129.3 +shot_7i_29,shot_7i_29.json,110.04,12.92,-0.51,3297.2,8.98,3256.8,514.5,148.3,150.3,2.0,39.3,4.02,27.27,26.07,134669.3,0.149752,0.214419,0.187194,0.188309,148.3 +shot_8i_22,shot_8i_22.json,100.79,15.59,-5.47,3498.0,3.50,3491.5,213.3,136.9,141.4,4.5,43.1,4.06,26.06,30.69,123345.0,0.173457,0.204530,0.201602,0.204176,136.9 +shot_8i_23,shot_8i_23.json,109.67,18.21,-0.03,3711.3,5.17,3696.2,334.5,160.4,170.2,9.8,66.5,4.88,26.06,40.14,134210.0,0.169134,0.210697,0.195688,0.202022,160.4 +shot_8i_24,shot_8i_24.json,106.67,18.22,0.20,5796.8,8.85,5727.9,891.6,146.5,154.9,8.4,66.8,4.91,23.33,45.64,130546.8,0.271592,0.243945,0.265792,0.265792,146.5 +shot_8i_25,shot_8i_25.json,96.96,18.53,-2.03,4809.3,4.30,4795.8,360.2,131.3,140.7,9.4,63.4,4.68,23.35,47.00,118666.2,0.247881,0.227537,0.307626,0.307626,131.3 +shot_9i_19,shot_9i_19.json,101.23,20.48,-2.39,4282.2,5.84,4259.9,435.9,139.6,155.2,15.6,78.3,5.03,24.23,51.38,123888.5,0.211410,0.221753,0.268771,0.307346,139.6 +shot_9i_20,shot_9i_20.json,98.52,20.39,1.42,4377.3,10.38,4305.7,788.4,133.5,148.8,15.4,73.8,4.89,23.80,50.69,120566.4,0.222058,0.226147,0.289940,0.308703,133.5 +shot_9i_21,shot_9i_21.json,90.13,20.73,0.61,6342.4,5.08,6317.5,561.6,115.1,118.1,2.9,48.9,4.20,21.87,38.85,110304.8,0.351680,0.248776,0.227575,0.276471,115.1 +shot_driver_42,shot_driver_42.json,136.11,8.71,-3.00,2154.9,-0.59,2154.8,-22.3,192.0,193.0,1.0,38.3,4.24,32.30,21.05,166577.1,0.079122,0.209647,0.151765,0.153625,192.0 +shot_driver_43,shot_driver_43.json,133.20,5.82,-6.58,2130.0,-19.69,2005.5,-717.5,159.3,216.9,57.6,20.4,3.32,35.12,13.55,163012.9,0.079917,0.208359,0.162419,0.163570,159.3 +shot_driver_44,shot_driver_44.json,123.96,12.67,1.29,3764.6,2.20,3761.8,144.7,185.7,191.8,6.1,57.2,4.93,27.17,31.93,151701.5,0.151782,0.224171,0.189832,0.192391,185.7 +shot_driver_45,shot_driver_45.json,128.90,5.14,-5.25,1634.8,2.91,1632.7,83.0,134.5,197.4,62.9,13.6,2.73,37.16,10.25,157754.0,0.063384,0.203888,0.145736,0.146328,134.5 +shot_driver_46,shot_driver_46.json,134.80,10.70,-2.42,3349.5,-6.46,3328.2,-376.8,205.0,210.5,5.5,56.8,5.05,28.61,29.53,164970.4,0.124183,0.225197,0.178276,0.181362,205.0 +shot_driver_47,shot_driver_47.json,137.20,7.11,-4.32,2596.0,-12.12,2538.1,-545.3,188.5,188.8,0.3,33.9,4.16,31.85,19.87,167912.6,0.094560,0.218639,0.169403,0.171693,188.5 +shot_driver_48,shot_driver_48.json,123.09,15.27,-4.21,4479.8,-6.82,4448.1,-532.0,186.0,199.0,12.9,79.3,5.53,25.91,45.17,150637.4,0.181893,0.231717,0.206646,0.242226,186.0 +shot_driver_49,shot_driver_49.json,123.52,18.72,3.77,5686.4,8.96,5617.1,885.3,183.1,204.7,21.6,130.1,6.62,26.54,60.86,151166.3,0.230079,0.236473,0.301359,0.308703,183.1 +shot_driver_50,shot_driver_50.json,135.46,4.17,-2.23,2365.1,-6.44,2350.2,-265.3,161.8,219.1,57.3,17.2,3.31,35.30,11.93,165780.8,0.087258,0.210471,0.168645,0.169873,161.8 +shot_driver_51,shot_driver_51.json,133.55,4.89,-4.48,2290.4,-10.07,2255.1,-400.7,161.0,218.2,57.3,18.8,3.34,34.92,12.79,163440.3,0.085712,0.209323,0.167385,0.168501,161.0 +shot_driver_52,shot_driver_52.json,79.04,47.63,1.95,6195.9,5.95,6162.5,642.7,76.7,97.3,20.6,105.3,5.28,22.77,68.31,96735.2,0.391755,0.266248,0.239617,0.311337,76.7 +shot_lw_12,shot_lw_12.json,27.92,32.89,2.39,4103.5,-0.00,4103.5,-0.0,14.7,22.6,7.9,7.4,1.36,11.46,34.88,34168.4,0.734553,0.414986,0.037365,0.037365,14.7 +shot_lw_13,shot_lw_13.json,27.46,40.45,3.52,6737.5,-0.00,6737.5,-0.0,15.4,18.8,3.4,10.2,1.59,11.35,42.46,33608.8,1.226141,0.381347,0.029077,0.029077,15.4 +shot_lw_14,shot_lw_14.json,16.63,48.09,13.85,4133.7,20.06,3882.9,1417.8,5.9,8.2,2.3,5.0,1.12,7.20,48.91,20349.2,1.242460,0.403097,0.000000,0.000000,5.9 +shot_lw_15,shot_lw_15.json,47.74,29.72,2.34,5998.7,-0.00,5998.7,-0.0,39.4,50.1,10.7,20.3,2.37,16.64,36.75,58422.2,0.628017,0.402083,0.343866,0.343866,39.4 +shot_lw_16,shot_lw_16.json,52.57,37.20,5.56,5241.1,7.60,5195.1,692.9,49.7,63.1,13.4,36.1,3.13,18.19,46.67,64333.6,0.498287,0.318465,0.365763,0.365763,49.7 +shot_lw_17,shot_lw_17.json,55.36,37.35,7.30,5902.8,9.87,5815.5,1011.5,55.1,66.3,11.2,41.2,3.38,18.91,47.04,67751.0,0.532884,0.282565,0.363114,0.363114,55.1 +shot_lw_18,shot_lw_18.json,52.33,36.23,0.10,5373.7,13.17,5232.3,1224.3,49.1,60.3,11.2,34.1,3.05,18.02,45.21,64037.2,0.513251,0.321211,0.357346,0.357346,49.1 +shot_pw_1,shot_pw_1.json,48.44,29.04,5.59,4593.3,2.52,4588.9,201.9,42.1,57.3,15.2,21.0,2.45,17.17,36.08,59285.4,0.473884,0.346085,0.373531,0.373531,42.1 +shot_pw_10,shot_pw_10.json,83.58,25.18,1.37,5520.0,9.92,5437.5,950.8,105.5,111.5,6.1,54.4,4.24,21.79,44.76,102281.8,0.330092,0.240118,0.229842,0.276109,105.5 +shot_pw_11,shot_pw_11.json,76.63,21.19,2.89,5232.4,-5.55,5207.9,-505.6,88.4,90.0,1.6,34.2,3.43,21.37,34.36,93778.5,0.341264,0.249901,0.233311,0.277199,88.4 +shot_pw_2,shot_pw_2.json,57.80,26.75,2.79,4564.0,2.10,4560.9,167.5,59.7,78.8,19.1,28.4,2.98,19.19,37.77,70731.2,0.394660,0.263512,0.334901,0.354667,59.7 +shot_pw_3,shot_pw_3.json,69.78,29.37,8.09,6334.5,8.08,6271.6,890.6,76.6,91.0,14.4,46.3,3.78,19.52,45.27,85400.1,0.453673,0.292441,0.281602,0.323124,76.6 +shot_pw_4,shot_pw_4.json,68.60,29.11,3.83,6801.1,6.75,6753.9,799.5,73.1,86.2,13.1,43.2,3.63,19.15,44.28,83955.6,0.495471,0.307034,0.283902,0.315874,73.1 +shot_pw_5,shot_pw_5.json,77.39,28.89,4.54,6293.5,7.31,6242.3,801.2,92.2,98.4,6.3,57.0,4.28,20.52,48.53,94713.1,0.406417,0.263666,0.251542,0.317566,92.2 +shot_pw_6,shot_pw_6.json,76.27,28.17,3.68,5434.0,9.06,5366.3,855.3,94.1,100.6,6.5,53.7,4.15,21.39,46.53,93337.1,0.356088,0.234654,0.241889,0.300777,94.1 +shot_pw_7,shot_pw_7.json,79.68,28.14,4.44,5839.6,9.11,5765.9,924.9,97.6,105.3,7.7,57.6,4.32,21.05,48.30,97507.9,0.366300,0.251770,0.235005,0.303357,97.6 +shot_pw_8,shot_pw_8.json,76.43,28.21,1.55,5023.9,4.70,5007.0,411.9,93.5,101.1,7.6,53.7,4.10,21.52,47.05,93540.4,0.328501,0.235806,0.238671,0.287429,93.5 +shot_pw_9,shot_pw_9.json,86.42,24.09,0.20,5479.7,3.71,5468.2,354.1,109.7,116.9,7.1,54.7,4.28,21.92,44.41,105766.5,0.316882,0.241301,0.223849,0.268195,109.7 diff --git a/assets/data/shot_session_5/shot_3w_35.json b/assets/data/shot_session_5/shot_3w_35.json new file mode 100644 index 0000000..562747a --- /dev/null +++ b/assets/data/shot_session_5/shot_3w_35.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 107.01280212402344, + "SpinAxis": 15.496614456176758, + "TotalSpin": 3700.378173828125, + "BackSpin": 3565.85546875, + "SideSpin": 988.67236328125, + "HLA": 9.517881393432617, + "VLA": 10.7193603515625, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_3w_36.json b/assets/data/shot_session_5/shot_3w_36.json new file mode 100644 index 0000000..b55d3a8 --- /dev/null +++ b/assets/data/shot_session_5/shot_3w_36.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 128.27401733398438, + "SpinAxis": -6.76861572265625, + "TotalSpin": 2613.708251953125, + "BackSpin": 2595.4912109375, + "SideSpin": -308.0517578125, + "HLA": -2.9207170009613037, + "VLA": 9.508279800415039, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_3w_37.json b/assets/data/shot_session_5/shot_3w_37.json new file mode 100644 index 0000000..8ffe4b2 --- /dev/null +++ b/assets/data/shot_session_5/shot_3w_37.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 100.89305114746094, + "SpinAxis": 7.229099273681641, + "TotalSpin": 7893.2568359375, + "BackSpin": 7830.5126953125, + "SideSpin": 993.2644653320312, + "HLA": 6.416749954223633, + "VLA": 23.649686813354492, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_3w_38.json b/assets/data/shot_session_5/shot_3w_38.json new file mode 100644 index 0000000..1901146 --- /dev/null +++ b/assets/data/shot_session_5/shot_3w_38.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 130.04608154296875, + "SpinAxis": 1.7957614660263062, + "TotalSpin": 1997.4271240234375, + "BackSpin": 1996.4461669921875, + "SideSpin": 62.593013763427734, + "HLA": -0.5679202675819397, + "VLA": 7.889826774597168, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_3w_39.json b/assets/data/shot_session_5/shot_3w_39.json new file mode 100644 index 0000000..3d10935 --- /dev/null +++ b/assets/data/shot_session_5/shot_3w_39.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 129.89370727539062, + "SpinAxis": -0.8175290822982788, + "TotalSpin": 2965.27197265625, + "BackSpin": 2964.97021484375, + "SideSpin": -42.30876922607422, + "HLA": -1.7782084941864014, + "VLA": 11.952644348144531, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_3w_40.json b/assets/data/shot_session_5/shot_3w_40.json new file mode 100644 index 0000000..c63b8e2 --- /dev/null +++ b/assets/data/shot_session_5/shot_3w_40.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 116.23634338378906, + "SpinAxis": 0.3570772707462311, + "TotalSpin": 3909.103759765625, + "BackSpin": 3909.02783203125, + "SideSpin": 24.362056732177734, + "HLA": 0.827177882194519, + "VLA": 14.10959529876709, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_3w_41.json b/assets/data/shot_session_5/shot_3w_41.json new file mode 100644 index 0000000..9569dab --- /dev/null +++ b/assets/data/shot_session_5/shot_3w_41.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 126.55847930908203, + "SpinAxis": 5.92646598815918, + "TotalSpin": 2418.28369140625, + "BackSpin": 2405.3583984375, + "SideSpin": 249.692626953125, + "HLA": -0.024929018691182137, + "VLA": 7.879362106323242, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_6i_30.json b/assets/data/shot_session_5/shot_6i_30.json new file mode 100644 index 0000000..70aa5b2 --- /dev/null +++ b/assets/data/shot_session_5/shot_6i_30.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 96.45072937011719, + "SpinAxis": 5.0972418785095215, + "TotalSpin": 1644.0111083984375, + "BackSpin": 1637.5096435546875, + "SideSpin": 146.06439208984375, + "HLA": -3.528228998184204, + "VLA": 10.086884498596191, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_6i_31.json b/assets/data/shot_session_5/shot_6i_31.json new file mode 100644 index 0000000..61f174e --- /dev/null +++ b/assets/data/shot_session_5/shot_6i_31.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 97.89483642578125, + "SpinAxis": 4.517154216766357, + "TotalSpin": 3752.0068359375, + "BackSpin": 3740.352294921875, + "SideSpin": 295.4989318847656, + "HLA": -3.6833884716033936, + "VLA": 9.420722961425781, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_6i_32.json b/assets/data/shot_session_5/shot_6i_32.json new file mode 100644 index 0000000..c286537 --- /dev/null +++ b/assets/data/shot_session_5/shot_6i_32.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 90.16819763183594, + "SpinAxis": 7.9773149490356445, + "TotalSpin": 4135.1640625, + "BackSpin": 4095.1484375, + "SideSpin": 573.8822631835938, + "HLA": -1.2602893114089966, + "VLA": 9.738279342651367, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_6i_33.json b/assets/data/shot_session_5/shot_6i_33.json new file mode 100644 index 0000000..171e373 --- /dev/null +++ b/assets/data/shot_session_5/shot_6i_33.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 105.7063217163086, + "SpinAxis": 10.991913795471191, + "TotalSpin": 3776.12646484375, + "BackSpin": 3706.85009765625, + "SideSpin": 719.9957275390625, + "HLA": -1.3593331575393677, + "VLA": 11.72496509552002, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_6i_34.json b/assets/data/shot_session_5/shot_6i_34.json new file mode 100644 index 0000000..1ddee09 --- /dev/null +++ b/assets/data/shot_session_5/shot_6i_34.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 111.13463592529297, + "SpinAxis": -2.913599967956543, + "TotalSpin": 2637.095947265625, + "BackSpin": 2633.68701171875, + "SideSpin": -134.0435791015625, + "HLA": -8.563950538635254, + "VLA": 9.311925888061523, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_7i_26.json b/assets/data/shot_session_5/shot_7i_26.json new file mode 100644 index 0000000..cc292b7 --- /dev/null +++ b/assets/data/shot_session_5/shot_7i_26.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 107.15274047851562, + "SpinAxis": 7.593866348266602, + "TotalSpin": 4647.97607421875, + "BackSpin": 4607.2119140625, + "SideSpin": 614.2313232421875, + "HLA": -2.9389946460723877, + "VLA": 14.314764022827148, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_7i_27.json b/assets/data/shot_session_5/shot_7i_27.json new file mode 100644 index 0000000..021ac7e --- /dev/null +++ b/assets/data/shot_session_5/shot_7i_27.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 103.35203552246094, + "SpinAxis": 13.651330947875977, + "TotalSpin": 5084.68408203125, + "BackSpin": 4941.04150390625, + "SideSpin": 1200.050537109375, + "HLA": -1.7994935512542725, + "VLA": 14.054620742797852, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_7i_28.json b/assets/data/shot_session_5/shot_7i_28.json new file mode 100644 index 0000000..75b2671 --- /dev/null +++ b/assets/data/shot_session_5/shot_7i_28.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 98.45138549804688, + "SpinAxis": 6.381978988647461, + "TotalSpin": 3446.681640625, + "BackSpin": 3425.322265625, + "SideSpin": 383.1205749511719, + "HLA": -3.4416439533233643, + "VLA": 15.207098007202148, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_7i_29.json b/assets/data/shot_session_5/shot_7i_29.json new file mode 100644 index 0000000..46a2796 --- /dev/null +++ b/assets/data/shot_session_5/shot_7i_29.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 110.04068756103516, + "SpinAxis": 8.976988792419434, + "TotalSpin": 3297.2353515625, + "BackSpin": 3256.847900390625, + "SideSpin": 514.4932861328125, + "HLA": -0.506693422794342, + "VLA": 12.915592193603516, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_8i_22.json b/assets/data/shot_session_5/shot_8i_22.json new file mode 100644 index 0000000..53cbc36 --- /dev/null +++ b/assets/data/shot_session_5/shot_8i_22.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 100.78736877441406, + "SpinAxis": 3.4955737590789795, + "TotalSpin": 3498.018798828125, + "BackSpin": 3491.5107421875, + "SideSpin": 213.27920532226562, + "HLA": -5.473744869232178, + "VLA": 15.588615417480469, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_8i_23.json b/assets/data/shot_session_5/shot_8i_23.json new file mode 100644 index 0000000..d13aa8c --- /dev/null +++ b/assets/data/shot_session_5/shot_8i_23.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 109.66536712646484, + "SpinAxis": 5.170443058013916, + "TotalSpin": 3711.27783203125, + "BackSpin": 3696.1767578125, + "SideSpin": 334.45599365234375, + "HLA": -0.034251756966114044, + "VLA": 18.20952606201172, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_8i_24.json b/assets/data/shot_session_5/shot_8i_24.json new file mode 100644 index 0000000..e3e6798 --- /dev/null +++ b/assets/data/shot_session_5/shot_8i_24.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 106.67207336425781, + "SpinAxis": 8.847570419311523, + "TotalSpin": 5796.84619140625, + "BackSpin": 5727.86962890625, + "SideSpin": 891.59130859375, + "HLA": 0.1982773393392563, + "VLA": 18.218992233276367, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_8i_25.json b/assets/data/shot_session_5/shot_8i_25.json new file mode 100644 index 0000000..476a172 --- /dev/null +++ b/assets/data/shot_session_5/shot_8i_25.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 96.9642333984375, + "SpinAxis": 4.295639991760254, + "TotalSpin": 4809.26611328125, + "BackSpin": 4795.755859375, + "SideSpin": 360.22772216796875, + "HLA": -2.0300650596618652, + "VLA": 18.528358459472656, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_9i_19.json b/assets/data/shot_session_5/shot_9i_19.json new file mode 100644 index 0000000..8b7878c --- /dev/null +++ b/assets/data/shot_session_5/shot_9i_19.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 101.23149871826172, + "SpinAxis": 5.841998100280762, + "TotalSpin": 4282.1787109375, + "BackSpin": 4259.9384765625, + "SideSpin": 435.8638000488281, + "HLA": -2.394479513168335, + "VLA": 20.480335235595703, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_9i_20.json b/assets/data/shot_session_5/shot_9i_20.json new file mode 100644 index 0000000..d510aac --- /dev/null +++ b/assets/data/shot_session_5/shot_9i_20.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 98.51696014404297, + "SpinAxis": 10.376056671142578, + "TotalSpin": 4377.255859375, + "BackSpin": 4305.673828125, + "SideSpin": 788.3792724609375, + "HLA": 1.4170290231704712, + "VLA": 20.39344024658203, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_9i_21.json b/assets/data/shot_session_5/shot_9i_21.json new file mode 100644 index 0000000..cdcd731 --- /dev/null +++ b/assets/data/shot_session_5/shot_9i_21.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 90.1319808959961, + "SpinAxis": 5.079671382904053, + "TotalSpin": 6342.359375, + "BackSpin": 6317.4501953125, + "SideSpin": 561.5581665039062, + "HLA": 0.606775164604187, + "VLA": 20.733213424682617, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_diff_analysis.csv b/assets/data/shot_session_5/shot_diff_analysis.csv new file mode 100644 index 0000000..5a57210 --- /dev/null +++ b/assets/data/shot_session_5/shot_diff_analysis.csv @@ -0,0 +1,53 @@ +shot_name,speed_mph,vla_deg,hla_deg,total_spin_rpm,spin_axis_deg,launch_regime_key,carry_window,physics_carry_yd,flightscope_carry_yd,diff_carry_yd,physics_carry_raw_yd,diff_carry_raw_yd,physics_total_yd,flightscope_total_yd,diff_total_yd,rollout_physics_yd,rollout_flightscope_yd,diff_rollout_yd,physics_apex_ft,flightscope_apex_ft,diff_apex_ft,carry_exception_regime,carry_exception_offset_yd,carry_exception_source,carry_exception_applied,status +shot_3w_35,107.0,10.7,9.5,3700,15.5,I-S3-V1-P1,115-150,133.3,134.5,-1.2,133.3,-1.2,133.2,151.6,-18.4,-0.1,17.1,-17.2,28.1,31.0,-2.9,,,,false,severe +shot_3w_36,128.3,9.5,-2.9,2614,-6.8,D-S4-V0-P1,180-200,177.1,180.9,-3.8,177.1,-3.8,178.0,199.7,-21.7,0.9,18.8,-17.9,37.2,39.9,-2.7,,,,false,severe +shot_3w_37,100.9,23.6,6.4,7893,7.2,I-S2-V2-P4,115-150,136.4,131.0,5.4,136.4,5.4,143.8,131.7,12.1,7.4,0.7,6.7,77.9,87.5,-9.6,,,,false,severe +shot_3w_38,130.1,7.9,-0.6,1997,1.8,D-S4-V0-P0,150-180,170.6,171.0,-0.4,170.6,-0.4,170.5,200.0,-29.5,-0.1,29.0,-29.1,28.9,28.9,0.0,,,,false,severe +shot_3w_39,129.9,11.9,-1.8,2965,-0.8,D-S4-V1-P1,180-200,196.6,197.1,-0.5,196.6,-0.5,202.1,208.9,-6.8,5.5,11.8,-6.3,56.6,59.4,-2.8,,,,false,moderate +shot_3w_40,116.2,14.1,0.8,3909,0.4,D-S3-V1-P1,150-180,168.3,169.4,-1.1,168.3,-1.1,174.2,177.1,-2.9,5.9,7.7,-1.8,54.6,60.2,-5.6,,,,false,pass +shot_3w_41,126.6,7.9,-0.0,2418,5.9,D-S4-V0-P0,150-180,168.4,165.8,2.6,168.4,2.6,168.3,191.8,-23.5,-0.1,26.0,-26.1,29.3,28.8,0.5,,,,false,severe +shot_6i_30,96.5,10.1,-3.5,1644,5.1,I-S2-V1-P0,<115,96.3,98.4,-2.1,96.3,-2.1,150.6,129.3,21.3,54.3,30.9,23.4,15.8,16.5,-0.7,,,,false,severe +shot_6i_31,97.9,9.4,-3.7,3752,4.5,I-S2-V0-P1,<115,109.6,109.9,-0.3,109.6,-0.3,108.6,130.4,-21.8,-1.0,20.5,-21.5,19.7,20.5,-0.8,,,,false,severe +shot_6i_32,90.2,9.7,-1.3,4135,8.0,I-S2-V0-P2,<115,97.7,93.7,4.0,97.7,4.0,97.6,113.4,-15.8,-0.1,19.7,-19.8,19.6,17.2,2.4,,,,false,severe +shot_6i_33,105.7,11.7,-1.4,3776,11.0,I-S3-V1-P1,115-150,136.3,136.7,-0.4,136.3,-0.4,136.8,151.9,-15.1,0.5,15.2,-14.7,32.3,35.0,-2.7,,,,false,severe +shot_6i_34,111.1,9.3,-8.6,2637,-2.9,D-S3-V0-P1,115-150,135.4,136.7,-1.3,135.4,-1.3,135.0,161.3,-26.3,-0.4,24.6,-25.0,24.2,25.6,-1.4,,,,false,severe +shot_7i_26,107.2,14.3,-2.9,4648,7.6,I-S3-V1-P2,115-150,150.1,147.4,2.7,150.1,2.7,160.6,153.9,6.7,10.5,6.5,4.0,61.5,51.9,9.6,,,,false,moderate +shot_7i_27,103.3,14.1,-1.8,5085,13.7,I-S2-V1-P2,115-150,142.4,136.6,5.8,142.4,5.8,150.9,142.8,8.1,8.5,6.2,2.3,54.8,46.5,8.3,,,,false,moderate +shot_7i_28,98.5,15.2,-3.4,3447,6.4,I-S2-V1-P1,115-150,129.3,129.8,-0.5,129.3,-0.5,132.5,140.3,-7.8,3.2,10.5,-7.3,38.7,40.9,-2.2,,,,false,moderate +shot_7i_29,110.0,12.9,-0.5,3297,9.0,D-S3-V1-P1,150-180,148.3,150.7,-2.4,148.3,-2.4,150.3,163.0,-12.7,2.0,12.3,-10.3,39.3,42.9,-3.6,,,,false,severe +shot_8i_22,100.8,15.6,-5.5,3498,3.5,I-S2-V1-P1,115-150,136.9,136.5,0.4,136.9,0.4,141.4,146.4,-5.0,4.5,9.9,-5.4,43.1,45.5,-2.4,,,,false,pass +shot_8i_23,109.7,18.2,-0.0,3711,5.2,I-S3-V2-P1,150-180,160.4,160.9,-0.5,160.4,-0.5,170.2,167.2,3.0,9.8,6.3,3.5,66.5,70.2,-3.7,,,,false,pass +shot_8i_24,106.7,18.2,0.2,5797,8.8,I-S3-V2-P3,115-150,146.5,147.5,-1.0,146.5,-1.0,154.9,150.4,4.5,8.4,2.9,5.5,66.8,72.1,-5.3,,,,false,pass +shot_8i_25,97.0,18.5,-2.0,4809,4.3,I-S2-V2-P2,115-150,131.3,130.8,0.5,131.3,0.5,140.7,135.6,5.1,9.4,4.8,4.6,63.4,56.2,7.2,,,,false,moderate +shot_9i_19,101.2,20.5,-2.4,4282,5.8,I-S2-V2-P2,115-150,139.6,142.6,-3.0,139.6,-3.0,155.2,147.2,8.0,15.6,4.6,11.0,78.3,69.2,9.1,,,,false,moderate +shot_9i_20,98.5,20.4,1.4,4377,10.4,I-S2-V2-P2,115-150,133.5,136.0,-2.5,133.5,-2.5,148.8,140.8,8.0,15.3,4.8,10.5,73.8,64.1,9.7,,,,false,moderate +shot_9i_21,90.1,20.7,0.6,6342,5.1,I-S2-V2-P3,115-150,115.1,115.3,-0.2,115.1,-0.2,118.1,117.5,0.6,3.0,2.2,0.8,48.9,56.5,-7.6,,,,false,pass +shot_driver_42,136.1,8.7,-3.0,2155,-0.6,D-S4-V0-P0,180-200,192.0,193.9,-1.9,192.0,-1.9,193.0,216.9,-23.9,1.0,23.0,-22.0,38.3,39.1,-0.8,,,,false,severe +shot_driver_43,133.2,5.8,-6.6,2130,-19.7,D-S4-V0-P0,150-180,159.3,154.2,5.1,159.3,5.1,216.9,192.0,24.9,57.6,37.8,19.8,20.4,18.4,2.0,,,,false,severe +shot_driver_44,124.0,12.7,1.3,3765,2.2,D-S4-V1-P1,180-200,185.7,184.7,1.0,185.7,1.0,191.8,193.3,-1.5,6.1,8.6,-2.5,57.2,61.9,-4.7,,,,false,pass +shot_driver_45,128.9,5.1,-5.2,1635,2.9,D-S4-V0-P0,115-150,134.5,135.9,-1.4,134.5,-1.4,197.4,181.7,15.7,62.9,45.8,17.1,13.6,13.3,0.3,,,,false,severe +shot_driver_46,134.8,10.7,-2.4,3350,-6.5,D-S4-V1-P1,>200,205.0,204.1,0.9,205.0,0.9,210.5,215.2,-4.7,5.5,11.1,-5.6,56.8,59.2,-2.4,,,,false,pass +shot_driver_47,137.2,7.1,-4.3,2596,-12.1,D-S4-V0-P1,180-200,188.5,186.5,2.0,188.5,2.0,188.8,211.8,-23.0,0.3,25.3,-25.0,33.9,32.0,1.9,,,,false,severe +shot_driver_48,123.1,15.3,-4.2,4480,-6.8,D-S4-V1-P2,180-200,186.0,184.2,1.8,186.0,1.8,199.0,189.2,9.8,13.0,5.0,8.0,79.3,79.3,0.0,,,,false,moderate +shot_driver_49,123.5,18.7,3.8,5686,9.0,I-S4-V2-P3,180-200,183.1,180.1,3.0,183.1,3.0,204.7,182.6,22.1,21.6,2.5,19.1,130.1,104.1,26.0,,,,false,severe +shot_driver_50,135.5,4.2,-2.2,2365,-6.4,D-S4-V0-P0,,161.8,,,161.8,,219.1,,,57.3,,,17.2,,,,,,false, +shot_driver_51,133.6,4.9,-4.5,2290,-10.1,D-S4-V0-P0,,161.0,,,161.0,,218.2,,,57.2,,,18.8,,,,,,false, +shot_driver_52,79.0,47.6,1.9,6196,6.0,W-S1b-V4-P3,,76.7,,,76.7,,97.3,,,20.6,,,105.3,,,,,,false, +shot_lw_12,27.9,32.9,2.4,4104,-0.0,C-S0-V3-P2,,14.7,,,14.7,,22.6,,,7.9,,,7.4,,,,,,false, +shot_lw_13,27.5,40.5,3.5,6738,-0.0,C-S0-V4-P3,,15.4,,,15.4,,18.8,,,3.4,,,10.2,,,,,,false, +shot_lw_14,16.6,48.1,13.8,4134,20.1,C-S0-V4-P2,,5.9,,,5.9,,8.2,,,2.3,,,5.0,,,,,,false, +shot_lw_15,47.7,29.7,2.3,5999,-0.0,C-S0-V3-P3,<115,39.4,41.4,-2.0,39.4,-2.0,50.1,45.1,5.0,10.7,3.7,7.0,20.3,21.3,-1.0,,,,false,pass +shot_lw_16,52.6,37.2,5.6,5241,7.6,C-S0-V4-P2,<115,49.7,50.6,-0.9,49.7,-0.9,63.1,51.8,11.3,13.4,1.2,12.2,36.1,36.6,-0.5,,,,false,severe +shot_lw_17,55.4,37.4,7.3,5903,9.9,C-S0-V4-P3,<115,55.1,54.5,0.6,55.1,0.6,66.3,55.4,10.9,11.2,0.9,10.3,41.2,41.0,0.2,,,,false,severe +shot_lw_18,52.3,36.2,0.1,5374,13.2,C-S0-V4-P2,<115,49.1,50.0,-0.9,49.1,-0.9,60.3,51.3,9.0,11.2,1.3,9.9,34.1,34.7,-0.6,,,,false,moderate +shot_pw_1,48.4,29.0,5.6,4593,2.5,C-S0-V3-P2,<115,42.1,42.6,-0.5,42.1,-0.5,57.3,47.8,9.5,15.2,5.2,10.0,21.0,21.0,0.0,,,,false,moderate +shot_pw_10,83.6,25.2,1.4,5520,9.9,I-S1b-V3-P3,<115,105.5,105.5,0.0,105.5,0.0,111.5,107.9,3.6,6.0,2.4,3.6,54.4,59.2,-4.8,,,,false,pass +shot_pw_11,76.6,21.2,2.9,5232,-5.5,I-S1b-V2-P2,<115,88.4,89.9,-1.5,88.4,-1.5,90.0,94.2,-4.2,1.6,4.3,-2.7,34.2,37.9,-3.7,,,,false,pass +shot_pw_2,57.8,26.8,2.8,4564,2.1,C-S0-V3-P2,<115,59.7,57.9,1.8,59.7,1.8,78.8,61.9,16.9,19.1,4.0,15.1,28.4,27.4,1.0,,,,false,severe +shot_pw_3,69.8,29.4,8.1,6334,8.1,I-S1a-V3-P3,<115,76.6,79.4,-2.8,76.6,-2.8,91.0,80.6,10.4,14.4,1.2,13.2,46.3,48.8,-2.5,,,,false,severe +shot_pw_4,68.6,29.1,3.8,6801,6.8,I-S1a-V3-P3,<115,73.1,76.8,-3.7,73.1,-3.7,86.2,77.8,8.4,13.1,1.0,12.1,43.2,46.6,-3.4,,,,false,moderate +shot_pw_5,77.4,28.9,4.5,6294,7.3,I-S1b-V3-P3,<115,92.2,93.0,-0.8,92.2,-0.8,98.4,94.2,4.2,6.2,1.2,5.0,57.0,60.1,-3.1,,,,false,pass +shot_pw_6,76.3,28.2,3.7,5434,9.1,I-S1b-V3-P2,<115,94.1,92.3,1.8,94.1,1.8,100.6,94.4,6.2,6.5,2.1,4.4,53.7,55.8,-2.1,,,,false,moderate +shot_pw_7,79.7,28.1,4.4,5840,9.1,I-S1b-V3-P3,<115,97.6,97.9,-0.3,97.6,-0.3,105.3,99.5,5.8,7.7,1.6,6.1,57.6,61.5,-3.9,,,,false,moderate +shot_pw_8,76.4,28.2,1.6,5024,4.7,I-S1b-V3-P2,<115,93.5,93.4,0.1,93.5,0.1,101.1,95.9,5.2,7.6,2.5,5.1,53.7,55.9,-2.2,,,,false,moderate +shot_pw_9,86.4,24.1,0.2,5480,3.7,I-S2-V2-P2,<115,109.7,111.1,-1.4,109.7,-1.4,116.9,113.7,3.2,7.2,2.6,4.6,54.7,60.9,-6.2,,,,false,pass diff --git a/assets/data/shot_session_5/shot_driver_42.json b/assets/data/shot_session_5/shot_driver_42.json new file mode 100644 index 0000000..cf3da19 --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_42.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 136.1131134033203, + "SpinAxis": -0.5938407182693481, + "TotalSpin": 2154.881591796875, + "BackSpin": 2154.765869140625, + "SideSpin": -22.333818435668945, + "HLA": -3.0001964569091797, + "VLA": 8.713723182678223, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_driver_43.json b/assets/data/shot_session_5/shot_driver_43.json new file mode 100644 index 0000000..4c66a5d --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_43.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 133.2007293701172, + "SpinAxis": -19.685665130615234, + "TotalSpin": 2129.95458984375, + "BackSpin": 2005.4691162109375, + "SideSpin": -717.495849609375, + "HLA": -6.575400352478027, + "VLA": 5.8182854652404785, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_driver_44.json b/assets/data/shot_session_5/shot_driver_44.json new file mode 100644 index 0000000..1c444f8 --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_44.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 123.9580307006836, + "SpinAxis": 2.2028913497924805, + "TotalSpin": 3764.614013671875, + "BackSpin": 3761.831787109375, + "SideSpin": 144.7051239013672, + "HLA": 1.288704752922058, + "VLA": 12.668797492980957, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_driver_45.json b/assets/data/shot_session_5/shot_driver_45.json new file mode 100644 index 0000000..f5f2bf6 --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_45.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 128.9036102294922, + "SpinAxis": 2.908538579940796, + "TotalSpin": 1634.8076171875, + "BackSpin": 1632.70166015625, + "SideSpin": 82.95304107666016, + "HLA": -5.24889612197876, + "VLA": 5.142544746398926, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_driver_46.json b/assets/data/shot_session_5/shot_driver_46.json new file mode 100644 index 0000000..3e75989 --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_46.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 134.8002471923828, + "SpinAxis": -6.45877742767334, + "TotalSpin": 3349.47119140625, + "BackSpin": 3328.212158203125, + "SideSpin": -376.7764587402344, + "HLA": -2.4238810539245605, + "VLA": 10.702155113220215, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_driver_47.json b/assets/data/shot_session_5/shot_driver_47.json new file mode 100644 index 0000000..75d52bc --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_47.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 137.204345703125, + "SpinAxis": -12.124574661254883, + "TotalSpin": 2595.981201171875, + "BackSpin": 2538.0732421875, + "SideSpin": -545.2545166015625, + "HLA": -4.323713779449463, + "VLA": 7.114136695861816, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_driver_48.json b/assets/data/shot_session_5/shot_driver_48.json new file mode 100644 index 0000000..ffddf82 --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_48.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 123.08853149414062, + "SpinAxis": -6.820850849151611, + "TotalSpin": 4479.79345703125, + "BackSpin": 4448.0869140625, + "SideSpin": -532.0440673828125, + "HLA": -4.212043285369873, + "VLA": 15.272175788879395, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_driver_49.json b/assets/data/shot_session_5/shot_driver_49.json new file mode 100644 index 0000000..8352e21 --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_49.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 123.52067565917969, + "SpinAxis": 8.956511497497559, + "TotalSpin": 5686.44384765625, + "BackSpin": 5617.10791015625, + "SideSpin": 885.2926025390625, + "HLA": 3.7678961753845215, + "VLA": 18.7249813079834, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_driver_50.json b/assets/data/shot_session_5/shot_driver_50.json new file mode 100644 index 0000000..d66d7fd --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_50.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 135.46240234375, + "SpinAxis": -6.440639019012451, + "TotalSpin": 2365.08447265625, + "BackSpin": 2350.157470703125, + "SideSpin": -265.3004455566406, + "HLA": -2.232011318206787, + "VLA": 4.17094612121582, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_driver_51.json b/assets/data/shot_session_5/shot_driver_51.json new file mode 100644 index 0000000..ca6a5c9 --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_51.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 133.55001831054688, + "SpinAxis": -10.074475288391113, + "TotalSpin": 2290.393310546875, + "BackSpin": 2255.078125, + "SideSpin": -400.6542053222656, + "HLA": -4.4764790534973145, + "VLA": 4.88889217376709, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_driver_52.json b/assets/data/shot_session_5/shot_driver_52.json new file mode 100644 index 0000000..3f9557d --- /dev/null +++ b/assets/data/shot_session_5/shot_driver_52.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 79.0440444946289, + "SpinAxis": 5.9538984298706055, + "TotalSpin": 6195.94384765625, + "BackSpin": 6162.52099609375, + "SideSpin": 642.6942138671875, + "HLA": 1.9507081508636475, + "VLA": 47.631675720214844, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_lw_12.json b/assets/data/shot_session_5/shot_lw_12.json new file mode 100644 index 0000000..52dd689 --- /dev/null +++ b/assets/data/shot_session_5/shot_lw_12.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 27.919578552246094, + "SpinAxis": -0, + "TotalSpin": 4103.517578125, + "BackSpin": 4103.517578125, + "SideSpin": -0, + "HLA": 2.394326686859131, + "VLA": 32.89164733886719, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_lw_13.json b/assets/data/shot_session_5/shot_lw_13.json new file mode 100644 index 0000000..f48fb56 --- /dev/null +++ b/assets/data/shot_session_5/shot_lw_13.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 27.462318420410156, + "SpinAxis": -0, + "TotalSpin": 6737.54443359375, + "BackSpin": 6737.54443359375, + "SideSpin": -0, + "HLA": 3.523136615753174, + "VLA": 40.45294189453125, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_lw_14.json b/assets/data/shot_session_5/shot_lw_14.json new file mode 100644 index 0000000..1d8e7fd --- /dev/null +++ b/assets/data/shot_session_5/shot_lw_14.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 16.62766456604004, + "SpinAxis": 20.05864906311035, + "TotalSpin": 4133.68798828125, + "BackSpin": 3882.94677734375, + "SideSpin": 1417.7799072265625, + "HLA": 13.848501205444336, + "VLA": 48.08841323852539, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_lw_15.json b/assets/data/shot_session_5/shot_lw_15.json new file mode 100644 index 0000000..08a2dc8 --- /dev/null +++ b/assets/data/shot_session_5/shot_lw_15.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 47.73783493041992, + "SpinAxis": -0, + "TotalSpin": 5998.71484375, + "BackSpin": 5998.71484375, + "SideSpin": -0, + "HLA": 2.341675043106079, + "VLA": 29.718547821044922, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_lw_16.json b/assets/data/shot_session_5/shot_lw_16.json new file mode 100644 index 0000000..79ebf77 --- /dev/null +++ b/assets/data/shot_session_5/shot_lw_16.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 52.568111419677734, + "SpinAxis": 7.596530914306641, + "TotalSpin": 5241.1455078125, + "BackSpin": 5195.14697265625, + "SideSpin": 692.8604125976562, + "HLA": 5.559354782104492, + "VLA": 37.204917907714844, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_lw_17.json b/assets/data/shot_session_5/shot_lw_17.json new file mode 100644 index 0000000..46ebc91 --- /dev/null +++ b/assets/data/shot_session_5/shot_lw_17.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 55.360511779785156, + "SpinAxis": 9.867267608642578, + "TotalSpin": 5902.78173828125, + "BackSpin": 5815.46435546875, + "SideSpin": 1011.537841796875, + "HLA": 7.302391529083252, + "VLA": 37.3472900390625, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_lw_18.json b/assets/data/shot_session_5/shot_lw_18.json new file mode 100644 index 0000000..725766d --- /dev/null +++ b/assets/data/shot_session_5/shot_lw_18.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 52.32589340209961, + "SpinAxis": 13.169772148132324, + "TotalSpin": 5373.66015625, + "BackSpin": 5232.32861328125, + "SideSpin": 1224.3197021484375, + "HLA": 0.09715430438518524, + "VLA": 36.23020553588867, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_1.json b/assets/data/shot_session_5/shot_pw_1.json new file mode 100644 index 0000000..0559a69 --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_1.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 48.44317626953125, + "SpinAxis": 2.5195400714874268, + "TotalSpin": 4593.3369140625, + "BackSpin": 4588.896484375, + "SideSpin": 201.9235382080078, + "HLA": 5.592526912689209, + "VLA": 29.041929244995117, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_10.json b/assets/data/shot_session_5/shot_pw_10.json new file mode 100644 index 0000000..9b7a9d6 --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_10.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 83.5762710571289, + "SpinAxis": 9.918631553649902, + "TotalSpin": 5520.03125, + "BackSpin": 5437.525390625, + "SideSpin": 950.822265625, + "HLA": 1.3666319847106934, + "VLA": 25.178775787353516, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_11.json b/assets/data/shot_session_5/shot_pw_11.json new file mode 100644 index 0000000..4f6824c --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_11.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 76.62812042236328, + "SpinAxis": -5.54527473449707, + "TotalSpin": 5232.42138671875, + "BackSpin": 5207.9345703125, + "SideSpin": -505.62078857421875, + "HLA": 2.890895366668701, + "VLA": 21.191808700561523, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_2.json b/assets/data/shot_session_5/shot_pw_2.json new file mode 100644 index 0000000..9900854 --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_2.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 57.79575729370117, + "SpinAxis": 2.1034533977508545, + "TotalSpin": 4563.97802734375, + "BackSpin": 4560.90283203125, + "SideSpin": 167.51597595214844, + "HLA": 2.791076898574829, + "VLA": 26.747661590576172, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_3.json b/assets/data/shot_session_5/shot_pw_3.json new file mode 100644 index 0000000..21d2948 --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_3.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 69.7819595336914, + "SpinAxis": 8.082168579101562, + "TotalSpin": 6334.4716796875, + "BackSpin": 6271.55419921875, + "SideSpin": 890.5830688476562, + "HLA": 8.089510917663574, + "VLA": 29.373191833496094, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_4.json b/assets/data/shot_session_5/shot_pw_4.json new file mode 100644 index 0000000..aa29322 --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_4.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 68.60160827636719, + "SpinAxis": 6.750765323638916, + "TotalSpin": 6801.06201171875, + "BackSpin": 6753.90966796875, + "SideSpin": 799.4693603515625, + "HLA": 3.826197385787964, + "VLA": 29.10832405090332, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_5.json b/assets/data/shot_session_5/shot_pw_5.json new file mode 100644 index 0000000..2fbdacd --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_5.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 77.39173126220703, + "SpinAxis": 7.3141350746154785, + "TotalSpin": 6293.470703125, + "BackSpin": 6242.26123046875, + "SideSpin": 801.2174072265625, + "HLA": 4.544674873352051, + "VLA": 28.885831832885742, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_6.json b/assets/data/shot_session_5/shot_pw_6.json new file mode 100644 index 0000000..fdada9f --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_6.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 76.26744842529297, + "SpinAxis": 9.056371688842773, + "TotalSpin": 5434.0087890625, + "BackSpin": 5366.26806640625, + "SideSpin": 855.3463745117188, + "HLA": 3.6799745559692383, + "VLA": 28.165250778198242, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_7.json b/assets/data/shot_session_5/shot_pw_7.json new file mode 100644 index 0000000..3aad605 --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_7.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 79.6754150390625, + "SpinAxis": 9.11341667175293, + "TotalSpin": 5839.630859375, + "BackSpin": 5765.91552734375, + "SideSpin": 924.9349365234375, + "HLA": 4.442571640014648, + "VLA": 28.13820457458496, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_8.json b/assets/data/shot_session_5/shot_pw_8.json new file mode 100644 index 0000000..506f025 --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_8.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 76.43351745605469, + "SpinAxis": 4.7022385597229, + "TotalSpin": 5023.94775390625, + "BackSpin": 5007.0380859375, + "SideSpin": 411.85040283203125, + "HLA": 1.545158863067627, + "VLA": 28.207651138305664, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/assets/data/shot_session_5/shot_pw_9.json b/assets/data/shot_session_5/shot_pw_9.json new file mode 100644 index 0000000..44a2188 --- /dev/null +++ b/assets/data/shot_session_5/shot_pw_9.json @@ -0,0 +1,15 @@ +{ + "BallData": { + "Speed": 86.42369079589844, + "SpinAxis": 3.7053728103637695, + "TotalSpin": 5479.673828125, + "BackSpin": 5468.21875, + "SideSpin": 354.1287841796875, + "HLA": 0.20433346927165985, + "VLA": 24.088945388793945, + "CarryDistance": 0 + }, + "ShotDataOptions": { + "ContainsBallData": true + } +} \ No newline at end of file diff --git a/tools/shot_calibration/README.md b/tools/shot_calibration/README.md index 98b557f..5e5b673 100644 --- a/tools/shot_calibration/README.md +++ b/tools/shot_calibration/README.md @@ -28,47 +28,46 @@ Always activate the venv before running Python tools. GDScript tools (`export_ph ## Quick Start -### Run Everything (simulate + scrape + compare + diagnose) +### Full Pipeline (Godot export + compare + diagnose + accuracy reports + iteration) + +`analyze` is the one-stop command. `run` is an alias for it. ```bash # All shots (standard + all shot sessions combined) -python tools/shot_calibration/calibrate.py run - -# One session only (outputs stay in that session's directory) -python tools/shot_calibration/calibrate.py run --session assets/data/shot_session_3 - -# Optional: explicitly enable carry exception layer (diagnostic-only) -python tools/shot_calibration/calibrate.py run --carry-exceptions assets/data/calibration/carry_exception_profile.json -``` +python tools/shot_calibration/calibrate.py analyze -### Analyze (compare + diagnose + accuracy reports) +# Skip Godot export (reuse existing physics.csv) +python tools/shot_calibration/calibrate.py analyze --skip-godot -Use this when `physics.csv` and `flightscope.csv` already exist (e.g., you scraped FlightScope separately): +# With a profile override +python tools/shot_calibration/calibrate.py analyze --profile assets/data/calibration/calibration_profile.json -```bash -# All shots -python tools/shot_calibration/calibrate.py analyze - -# One session +# One session only (outputs stay in that session's directory) python tools/shot_calibration/calibrate.py analyze --session assets/data/shot_session_3 -# Rebuild FlightScope CSV from reference JSON before comparing -python tools/shot_calibration/calibrate.py analyze --session assets/data/shot_session_3 --flightscope-export +# Standard shots only (no sessions) +python tools/shot_calibration/calibrate.py analyze --no-sessions -# Compare with an explicit carry exception profile +# Optional: explicitly enable carry exception layer (diagnostic-only) python tools/shot_calibration/calibrate.py analyze --carry-exceptions assets/data/calibration/carry_exception_profile.json + +# 'run' works exactly the same +python tools/shot_calibration/calibrate.py run +python tools/shot_calibration/calibrate.py run --skip-godot ``` `run` and `analyze` default to raw physics comparison (no carry exception layer) unless you explicitly pass `--carry-exceptions`. -The `analyze` command: -1. Compares `physics.csv` vs `flightscope.csv` → `shot_diff_analysis.csv` -2. Prints a diagnostic report -3. Writes accuracy reports to `assets/data/`: +The pipeline steps: +1. Exports `physics.csv` via Godot headless (skip with `--skip-godot`) +2. Builds merged FlightScope CSV (SoT + session references) +3. Compares physics vs FlightScope → `shot_diff_analysis.csv` +4. Prints a diagnostic report +5. Writes accuracy reports to `assets/data/`: - `openfairway_accuracy_summary_.json` — carry + total + apex stats + carry window gates (`<115`, `115-150`, `150-180`, `>200`) - `openfairway_critical_carry_.csv` — top 20 worst shots by carry error - `openfairway_critical_overall_.csv` — top 20 worst shots by max(carry, total) error -4. Saves an iteration snapshot to history +6. Saves an iteration snapshot to history **Accuracy report field reference:** @@ -100,14 +99,14 @@ python tools/shot_calibration/calibrate.py status ### Tuning Loop ```bash -# 1. Run calibration -python tools/shot_calibration/calibrate.py run +# 1. Run full calibration pipeline +python tools/shot_calibration/calibrate.py analyze # 2. Auto-generate a profile with suggested tweaks python tools/shot_calibration/generate_profile.py # 3. Re-run (picks up calibration_profile.json automatically) -python tools/shot_calibration/calibrate.py run +python tools/shot_calibration/calibrate.py analyze # 4. Compare before/after python tools/shot_calibration/calibrate.py diff 1 2 diff --git a/tools/shot_calibration/calibrate.py b/tools/shot_calibration/calibrate.py index 8ecc653..e99d6be 100644 --- a/tools/shot_calibration/calibrate.py +++ b/tools/shot_calibration/calibrate.py @@ -1,15 +1,21 @@ #!/usr/bin/env python """Orchestrator for the iterative physics calibration pipeline. -Main entry point for the tune-simulate-compare loop. +Primary command is `analyze`, which runs the full pipeline: Godot export, +FlightScope merge, compare, diagnose, accuracy reports, and iteration save. Usage: - python tools/shot_calibration/calibrate.py run - python tools/shot_calibration/calibrate.py run --profile assets/data/calibration/calibration_profile.json - python tools/shot_calibration/calibrate.py run --carry-exceptions assets/data/calibration/carry_exception_profile.json + # Full pipeline (Godot export + compare + diagnose + accuracy reports + iteration) python tools/shot_calibration/calibrate.py analyze + python tools/shot_calibration/calibrate.py analyze --skip-godot + python tools/shot_calibration/calibrate.py analyze --profile assets/data/calibration/calibration_profile.json python tools/shot_calibration/calibrate.py analyze --session assets/data/shot_session_3 - python tools/shot_calibration/calibrate.py analyze --carry-exceptions assets/data/calibration/carry_exception_profile.json + + # Alias for analyze (same full pipeline) + python tools/shot_calibration/calibrate.py run + python tools/shot_calibration/calibrate.py run --skip-godot + + # Utilities python tools/shot_calibration/calibrate.py status python tools/shot_calibration/calibrate.py history python tools/shot_calibration/calibrate.py diff 1 3 @@ -284,198 +290,8 @@ def save_iteration(iteration_num, profile_overrides, analysis_result, prev_itera def cmd_run(args): - """Run a full calibration iteration.""" - # Override all path constants when --session is provided - session_dir = None - physics_csv = PHYSICS_CSV - flightscope_csv = FLIGHTSCOPE_CSV - diff_csv = DIFF_CSV - history_dir = HISTORY_DIR - - if args.session: - session_dir = os.path.normpath(os.path.join(PROJECT_ROOT, args.session)) if not os.path.isabs(args.session) else os.path.normpath(args.session) - physics_csv = os.path.join(session_dir, "physics.csv") - flightscope_csv = os.path.join(session_dir, "flightscope.csv") - diff_csv = os.path.join(session_dir, "shot_diff_analysis.csv") - history_dir = os.path.join(session_dir, "history") - print(f"Session: {session_dir}") - - profile_path = args.profile - if not profile_path and os.path.exists(DEFAULT_PROFILE): - profile_path = DEFAULT_PROFILE - print(f"Using default profile: {profile_path}") - - profile_overrides = {} - if profile_path and os.path.exists(profile_path): - with open(profile_path, "r") as f: - profile_overrides = json.load(f) - - carry_exception_path = resolve_carry_exception_profile(args) - if carry_exception_path: - print(f"Using carry exception profile: {carry_exception_path}") - - # Discover session directories (default: include all sessions) - session_dirs = [] - if not session_dir and not args.no_sessions: - session_dirs = discover_session_dirs() - if session_dirs: - prefixes = [session_prefix(sd) for sd in session_dirs] - print(f"Including {len(session_dirs)} session(s): {', '.join(prefixes)}") - - # Step 1: Export physics CSV (requires Godot) - godot = find_godot() - godot_cmd = [godot, "--headless", "--script", "tools/shot_calibration/export_physics_csv.gd", "--"] - if profile_path: - godot_cmd.append(f"--profile={profile_path}") - if session_dir: - godot_cmd.append(f"--session={session_dir}") - elif session_dirs: - godot_cmd.append(f"--dirs={build_dirs_spec(session_dirs)}") - godot_cmd.append(f"--output={physics_csv}") - - if not args.skip_godot: - if not run_command(godot_cmd, "Exporting physics CSV (Godot headless)"): - print("ERROR: Godot export failed. Use --skip-godot to skip if physics CSV already exists.", file=sys.stderr) - sys.exit(1) - else: - print("\n--- Skipping Godot export (--skip-godot) ---") - if not os.path.exists(physics_csv): - print(f"ERROR: Physics CSV not found at {physics_csv}", file=sys.stderr) - sys.exit(1) - - # Step 2: FlightScope reference CSV - os.makedirs(os.path.dirname(flightscope_csv), exist_ok=True) - if session_dir: - # Scrape FlightScope for session shots, then export CSV - print(f"\n--- Generating FlightScope reference for session ---") - scraper_cmd = [ - sys.executable, os.path.join(SCRIPT_DIR, "flightscope_scraper.py"), - "--session", session_dir, - ] - if not run_command(scraper_cmd, "Scraping FlightScope for session shots"): - print("WARNING: FlightScope scraper failed. Attempting export from existing reference.", file=sys.stderr) - - export_cmd = [ - sys.executable, os.path.join(SCRIPT_DIR, "export_flightscope_csv.py"), - "--session", session_dir, - ] - result = subprocess.run( - export_cmd, cwd=PROJECT_ROOT, capture_output=True, text=True - ) - if result.returncode != 0: - print(f"ERROR: FlightScope CSV export failed: {result.stderr}", file=sys.stderr) - sys.exit(1) - with open(flightscope_csv, "w") as f: - f.write(result.stdout) - print(f" Wrote {flightscope_csv}") - elif args.export_flightscope: - # Legacy path: run export_flightscope_csv.py against flightscope_reference.json - flightscope_cmd = [ - sys.executable, os.path.join(SCRIPT_DIR, "export_flightscope_csv.py"), - ] - print(f"\n--- Exporting FlightScope CSV (--export-flightscope) ---") - result = subprocess.run( - flightscope_cmd, cwd=PROJECT_ROOT, capture_output=True, text=True - ) - if result.returncode != 0: - print(f"ERROR: FlightScope export failed: {result.stderr}", file=sys.stderr) - sys.exit(1) - with open(flightscope_csv, "w") as f: - f.write(result.stdout) - print(f" Wrote {flightscope_csv}") - else: - # Default: SoT CSV + session references merged - print(f"\n--- Loading FlightScope reference data ---") - if not os.path.exists(SOT_CSV): - print(f"ERROR: SoT CSV not found at {SOT_CSV}", file=sys.stderr) - print(" Use --export-flightscope to fall back to export_flightscope_csv.py", file=sys.stderr) - sys.exit(1) - - if session_dirs: - merged_rows = build_merged_flightscope_csv(SOT_CSV, session_dirs, flightscope_csv) - # Count standard vs session shots - sot_count = 0 - session_count = 0 - for row in merged_rows: - carry = float(row.get("carry_yd", 0) or 0) - total = float(row.get("total_yd", 0) or 0) - if carry > 0 or total > 0: - if "_" in row["shot_name"] and row["shot_name"].split("_")[0].startswith("s"): - session_count += 1 - else: - sot_count += 1 - print(f" Merged FlightScope CSV: {sot_count} standard + {session_count} session shots") - print(f" Wrote {flightscope_csv}") - else: - shutil.copy2(SOT_CSV, flightscope_csv) - print(f" Copied {SOT_CSV} -> {flightscope_csv}") - - # Print reference coverage summary - with open(flightscope_csv, "r") as f: - reader = csv.DictReader(f) - total_shots = 0 - shots_with_ref = 0 - for row in reader: - total_shots += 1 - carry = float(row.get("carry_yd", 0) or 0) - total = float(row.get("total_yd", 0) or 0) - if carry > 0 or total > 0: - shots_with_ref += 1 - missing = total_shots - shots_with_ref - print(f" FlightScope reference: {shots_with_ref} of {total_shots} shots have reference data ({missing} missing)") - - # Step 2b: Filter physics CSV to only include shots with FlightScope reference data - if session_dirs and not session_dir: - with open(flightscope_csv, "r") as f: - reader = csv.DictReader(f) - ref_names = {row["shot_name"] for row in reader} - filter_physics_csv(physics_csv, ref_names) - print(f" Filtered physics CSV to {len(ref_names)} referenced shots") - - # Step 3: Compare CSVs - compare_cmd = [ - sys.executable, os.path.join(SCRIPT_DIR, "compare_csv.py"), - physics_csv, flightscope_csv, - "--output", diff_csv, - ] - if carry_exception_path: - compare_cmd.extend(["--carry-exceptions", carry_exception_path]) - elif args.no_carry_exceptions: - compare_cmd.append("--no-carry-exceptions") - if not run_command(compare_cmd, "Comparing physics vs FlightScope"): - sys.exit(1) - - # Step 4: Run diagnostic analyzer - print("\n--- Running diagnostic analysis ---") - rows = load_diff_csv(diff_csv) - if not rows: - print("ERROR: No rows in diff CSV", file=sys.stderr) - sys.exit(1) - - analysis_result = analyze(rows) - - # Step 5: Save iteration snapshot (use session-local history dir) - os.makedirs(history_dir, exist_ok=True) - iteration_num = _get_next_iteration(history_dir) - prev_iteration = _load_iteration(history_dir, iteration_num - 1) if iteration_num > 1 else None - snapshot = _save_iteration(history_dir, iteration_num, profile_overrides, analysis_result, prev_iteration) - - # Step 6: Print report - print(format_report(analysis_result)) - - if snapshot["regressions"]: - print("\n" + "!" * 70) - print("REGRESSIONS DETECTED") - print("!" * 70) - for reg in snapshot["regressions"]: - print( - f" {reg['shot']}: {reg['was']} -> {reg['now']} " - f"(total_diff: {reg['prev_total_diff']} -> {reg['curr_total_diff']})" - ) - - print(f"\nIteration {iteration_num} saved to {history_dir}/iteration_{iteration_num:03d}.json") - summary = analysis_result["summary"] - print(f"Summary: {summary['pass']} pass, {summary['moderate']} moderate, {summary['severe']} severe") + """Alias for cmd_analyze — both run the full calibration pipeline.""" + cmd_analyze(args) def _compute_accuracy_stats(diffs, thresholds): @@ -699,7 +515,7 @@ def _generate_accuracy_reports(diff_csv, output_dir, top_n=20, critical_baseline short_carry_diffs = [_get_numeric(r, "diff_carry_yd") for r in short_rows] short_carry_diffs = [d for d in short_carry_diffs if d is not None] - short_stats = _compute_accuracy_stats(short_carry_diffs, [0.5, 1, 2, 3]) + short_stats = _compute_accuracy_stats(short_carry_diffs, [0.5, 1, 2, 3, 5]) short_accuracy = {f"{k}_yd": v for k, v in short_stats.items() if k != "within_pct"} short_accuracy["within_pct_yd"] = short_stats.get("within_pct", {}) @@ -723,7 +539,7 @@ def _generate_accuracy_reports(diff_csv, output_dir, top_n=20, critical_baseline short_raw_diffs = [_get_numeric(r, "diff_carry_raw_yd", "diff_carry_yd") for r in short_rows] short_raw_diffs = [d for d in short_raw_diffs if d is not None] - short_raw_stats = _compute_accuracy_stats(short_raw_diffs, [0.5, 1, 2, 3]) + short_raw_stats = _compute_accuracy_stats(short_raw_diffs, [0.5, 1, 2, 3, 5]) short_physics_accuracy = {f"{k}_yd": v for k, v in short_raw_stats.items() if k != "within_pct"} short_physics_accuracy["within_pct_yd"] = short_raw_stats.get("within_pct", {}) @@ -874,8 +690,89 @@ def _generate_accuracy_reports(diff_csv, output_dir, top_n=20, critical_baseline return written, full_summary +def _run_analysis_pipeline(diff_csv, history_dir, report_output_dir, args, + profile_overrides=None): + """Shared pipeline: compare → diagnose → accuracy reports → save iteration. + + Expects diff_csv to already exist (produced by compare_csv.py earlier in the caller). + """ + if profile_overrides is None: + profile_overrides = {} + + # Diagnostic analysis + print("\n--- Running diagnostic analysis ---") + rows = load_diff_csv(diff_csv) + if not rows: + print("ERROR: No rows in diff CSV", file=sys.stderr) + sys.exit(1) + + analysis_result = analyze(rows) + print(format_report(analysis_result)) + + # Accuracy reports + print("\n--- Generating accuracy reports ---") + show_n = getattr(args, "show", 20) + critical_baseline = _resolve_critical_baseline(args, report_output_dir) + if critical_baseline: + print(f" Critical baseline: {critical_baseline}") + report_paths, report_summary = _generate_accuracy_reports( + diff_csv, + report_output_dir, + top_n=show_n, + critical_baseline=critical_baseline, + ) + for p in report_paths: + print(f" {p}") + + objectives = report_summary.get("objectives", {}) + physics_only = objectives.get("physics_only", {}) + short_priority = objectives.get("short_shot_priority", {}) + print( + " Physics-only within ±3 yd: " + f"{physics_only.get('within_3yd_pct', 0.0):.1f}%" + ) + print( + " Short shots <115 yd within ±1 yd: " + f"{short_priority.get('actual_within_1yd_pct', 0.0):.1f}%" + ) + print( + " Short shots <115 yd within ±0.5 yd: " + f"{short_priority.get('actual_within_0.5yd_pct', 0.0):.1f}%" + ) + + baseline_summary = report_summary.get("critical_baseline") + if baseline_summary: + print( + " Baseline critical shots improved/regressed: " + f"{baseline_summary.get('improved', 0)}/{baseline_summary.get('regressed', 0)}" + ) + + # Save iteration snapshot + os.makedirs(history_dir, exist_ok=True) + iteration_num = _get_next_iteration(history_dir) + prev_iteration = _load_iteration(history_dir, iteration_num - 1) if iteration_num > 1 else None + snapshot = _save_iteration(history_dir, iteration_num, profile_overrides, analysis_result, prev_iteration) + + if snapshot["regressions"]: + print("\n" + "!" * 70) + print("REGRESSIONS DETECTED") + print("!" * 70) + for reg in snapshot["regressions"]: + print( + f" {reg['shot']}: {reg['was']} -> {reg['now']} " + f"(total_diff: {reg['prev_total_diff']} -> {reg['curr_total_diff']})" + ) + + print(f"\nIteration {iteration_num} saved to {history_dir}/iteration_{iteration_num:03d}.json") + summary = analysis_result["summary"] + print(f"Summary: {summary['pass']} pass, {summary['moderate']} moderate, {summary['severe']} severe") + + return snapshot + + def cmd_analyze(args): - """Post-scrape analysis: compare, diagnose, generate accuracy reports, save iteration.""" + """Full calibration pipeline: Godot export, FlightScope merge, compare, diagnose, + accuracy reports, and iteration save.""" # Resolve paths based on --session flag session_dir = None physics_csv = PHYSICS_CSV @@ -894,8 +791,19 @@ def cmd_analyze(args): flightscope_csv = os.path.join(session_dir, "flightscope.csv") diff_csv = os.path.join(session_dir, "shot_diff_analysis.csv") history_dir = os.path.join(session_dir, "history") + report_output_dir = session_dir print(f"Session: {session_dir}") + profile_path = getattr(args, "profile", None) + if not profile_path and os.path.exists(DEFAULT_PROFILE): + profile_path = DEFAULT_PROFILE + print(f"Using default profile: {profile_path}") + + profile_overrides = {} + if profile_path and os.path.exists(profile_path): + with open(profile_path, "r") as f: + profile_overrides = json.load(f) + carry_exception_path = resolve_carry_exception_profile(args) if carry_exception_path: print(f"Using carry exception profile: {carry_exception_path}") @@ -908,14 +816,31 @@ def cmd_analyze(args): prefixes = [session_prefix(sd) for sd in session_dirs] print(f"Including {len(session_dirs)} session(s): {', '.join(prefixes)}") - # Validate physics.csv exists - if not os.path.exists(physics_csv): - print(f"ERROR: Physics CSV not found at {physics_csv}", file=sys.stderr) - print(" Run 'calibrate.py run' or Godot export first.", file=sys.stderr) - sys.exit(1) + # Step 1: Export physics CSV (requires Godot) + if not args.skip_godot: + godot = find_godot() + godot_cmd = [godot, "--headless", "--script", "tools/shot_calibration/export_physics_csv.gd", "--"] + if profile_path: + godot_cmd.append(f"--profile={profile_path}") + if session_dir: + godot_cmd.append(f"--session={session_dir}") + elif session_dirs: + godot_cmd.append(f"--dirs={build_dirs_spec(session_dirs)}") + godot_cmd.append(f"--output={physics_csv}") - # Step 1: FlightScope CSV (optional re-export, or validate existence) - if args.flightscope_export: + if not run_command(godot_cmd, "Exporting physics CSV (Godot headless)"): + print("ERROR: Godot export failed. Use --skip-godot to skip if physics CSV already exists.", file=sys.stderr) + sys.exit(1) + else: + print("\n--- Skipping Godot export (--skip-godot) ---") + if not os.path.exists(physics_csv): + print(f"ERROR: Physics CSV not found at {physics_csv}", file=sys.stderr) + sys.exit(1) + + # Step 2: FlightScope reference CSV + if not args.skip_godot or args.flightscope_export: + # Build fresh FlightScope CSV (automatic when Godot runs, or explicit via --flightscope-export) + os.makedirs(os.path.dirname(flightscope_csv), exist_ok=True) if session_dir: export_cmd = [ sys.executable, os.path.join(SCRIPT_DIR, "export_flightscope_csv.py"), @@ -927,23 +852,55 @@ def cmd_analyze(args): if result.returncode != 0: print(f"ERROR: FlightScope CSV export failed: {result.stderr}", file=sys.stderr) sys.exit(1) - os.makedirs(os.path.dirname(flightscope_csv), exist_ok=True) with open(flightscope_csv, "w") as f: f.write(result.stdout) print(f" Exported FlightScope CSV -> {flightscope_csv}") - elif session_dirs: - merged_rows = build_merged_flightscope_csv(SOT_CSV, session_dirs, flightscope_csv) - print(f" Merged FlightScope CSV: {len(merged_rows)} rows -> {flightscope_csv}") else: - shutil.copy2(SOT_CSV, flightscope_csv) - print(f" Copied {SOT_CSV} -> {flightscope_csv}") + # Default: SoT CSV + session references merged + print(f"\n--- Loading FlightScope reference data ---") + if not os.path.exists(SOT_CSV): + print(f"ERROR: SoT CSV not found at {SOT_CSV}", file=sys.stderr) + sys.exit(1) + + if session_dirs: + merged_rows = build_merged_flightscope_csv(SOT_CSV, session_dirs, flightscope_csv) + sot_count = 0 + session_count = 0 + for row in merged_rows: + carry = float(row.get("carry_yd", 0) or 0) + total = float(row.get("total_yd", 0) or 0) + if carry > 0 or total > 0: + if "_" in row["shot_name"] and row["shot_name"].split("_")[0].startswith("s"): + session_count += 1 + else: + sot_count += 1 + print(f" Merged FlightScope CSV: {sot_count} standard + {session_count} session shots") + print(f" Wrote {flightscope_csv}") + else: + shutil.copy2(SOT_CSV, flightscope_csv) + print(f" Copied {SOT_CSV} -> {flightscope_csv}") + + # Print reference coverage summary + with open(flightscope_csv, "r") as f: + reader = csv.DictReader(f) + total_shots = 0 + shots_with_ref = 0 + for row in reader: + total_shots += 1 + carry = float(row.get("carry_yd", 0) or 0) + total = float(row.get("total_yd", 0) or 0) + if carry > 0 or total > 0: + shots_with_ref += 1 + missing = total_shots - shots_with_ref + print(f" FlightScope reference: {shots_with_ref} of {total_shots} shots have reference data ({missing} missing)") else: + # --skip-godot without --flightscope-export: validate existing CSV if not os.path.exists(flightscope_csv): print(f"ERROR: FlightScope CSV not found at {flightscope_csv}", file=sys.stderr) - print(" Use --flightscope-export to generate it, or run scraper first.", file=sys.stderr) + print(" Remove --skip-godot or add --flightscope-export to generate it.", file=sys.stderr) sys.exit(1) - # Filter physics CSV to only include shots with FlightScope reference + # Step 2b: Filter physics CSV to only include shots with FlightScope reference if session_dirs and not session_dir: with open(flightscope_csv, "r") as f: reader = csv.DictReader(f) @@ -951,7 +908,7 @@ def cmd_analyze(args): filter_physics_csv(physics_csv, ref_names) print(f" Filtered physics CSV to {len(ref_names)} referenced shots") - # Step 2: Compare physics vs FlightScope -> shot_diff_analysis.csv + # Step 3: Compare CSVs compare_cmd = [ sys.executable, os.path.join(SCRIPT_DIR, "compare_csv.py"), physics_csv, flightscope_csv, @@ -964,72 +921,9 @@ def cmd_analyze(args): if not run_command(compare_cmd, "Comparing physics vs FlightScope"): sys.exit(1) - # Step 3: Run diagnostic analyzer - print("\n--- Running diagnostic analysis ---") - rows = load_diff_csv(diff_csv) - if not rows: - print("ERROR: No rows in diff CSV", file=sys.stderr) - sys.exit(1) - - analysis_result = analyze(rows) - print(format_report(analysis_result)) - - # Step 4: Generate accuracy reports - print("\n--- Generating accuracy reports ---") - critical_baseline = _resolve_critical_baseline(args, report_output_dir) - if critical_baseline: - print(f" Critical baseline: {critical_baseline}") - report_paths, report_summary = _generate_accuracy_reports( - diff_csv, - report_output_dir, - top_n=args.show, - critical_baseline=critical_baseline, - ) - for p in report_paths: - print(f" {p}") - - objectives = report_summary.get("objectives", {}) - physics_only = objectives.get("physics_only", {}) - short_priority = objectives.get("short_shot_priority", {}) - print( - " Physics-only within ±3 yd: " - f"{physics_only.get('within_3yd_pct', 0.0):.1f}%" - ) - print( - " Short shots <115 yd within ±1 yd: " - f"{short_priority.get('actual_within_1yd_pct', 0.0):.1f}%" - ) - print( - " Short shots <115 yd within ±0.5 yd: " - f"{short_priority.get('actual_within_0.5yd_pct', 0.0):.1f}%" - ) - - baseline_summary = report_summary.get("critical_baseline") - if baseline_summary: - print( - " Baseline critical shots improved/regressed: " - f"{baseline_summary.get('improved', 0)}/{baseline_summary.get('regressed', 0)}" - ) - - # Step 5: Save iteration snapshot - os.makedirs(history_dir, exist_ok=True) - iteration_num = _get_next_iteration(history_dir) - prev_iteration = _load_iteration(history_dir, iteration_num - 1) if iteration_num > 1 else None - snapshot = _save_iteration(history_dir, iteration_num, {}, analysis_result, prev_iteration) - - if snapshot["regressions"]: - print("\n" + "!" * 70) - print("REGRESSIONS DETECTED") - print("!" * 70) - for reg in snapshot["regressions"]: - print( - f" {reg['shot']}: {reg['was']} -> {reg['now']} " - f"(total_diff: {reg['prev_total_diff']} -> {reg['curr_total_diff']})" - ) - - print(f"\nIteration {iteration_num} saved to {history_dir}/iteration_{iteration_num:03d}.json") - summary = analysis_result["summary"] - print(f"Summary: {summary['pass']} pass, {summary['moderate']} moderate, {summary['severe']} severe") + # Steps 4-7: Diagnose, accuracy reports, save iteration + _run_analysis_pipeline(diff_csv, history_dir, report_output_dir, args, + profile_overrides=profile_overrides) def cmd_status(args): @@ -1144,23 +1038,23 @@ def parse_args(): parser = argparse.ArgumentParser(description="Iterative physics calibration orchestrator") subparsers = parser.add_subparsers(dest="command", help="Available commands") - run_parser = subparsers.add_parser("run", help="Run a full calibration iteration") - run_parser.add_argument("--profile", default=None, help="Path to profile override JSON") - run_parser.add_argument("--skip-godot", action="store_true", help="Skip Godot export (use existing physics CSV)") - run_parser.add_argument("--export-flightscope", action="store_true", help="Run export_flightscope_csv.py instead of using SoT CSV") - run_parser.add_argument("--session", default=None, help="Session directory path (all outputs go into session dir)") - run_parser.add_argument("--no-sessions", action="store_true", help="Exclude session directories (standard shots only)") - run_parser.add_argument("--carry-exceptions", default=None, help="Path to carry exception profile JSON (explicit opt-in; default disabled)") - run_parser.add_argument("--no-carry-exceptions", action="store_true", help="Disable carry exception profile") - - analyze_parser = subparsers.add_parser("analyze", help="Post-scrape analysis: compare, diagnose, generate accuracy reports") - analyze_parser.add_argument("--session", default=None, help="Session directory path") - analyze_parser.add_argument("--no-sessions", action="store_true", help="Exclude session directories (standard shots only)") - analyze_parser.add_argument("--flightscope-export", action="store_true", help="Re-export FlightScope CSV before comparing") - analyze_parser.add_argument("--show", type=int, default=20, help="Number of worst shots to include in critical CSVs (default: 20)") - analyze_parser.add_argument("--critical-baseline", default=None, help="Optional prior critical-carry CSV to compare against (defaults to latest existing report in assets/data)") - analyze_parser.add_argument("--carry-exceptions", default=None, help="Path to carry exception profile JSON (explicit opt-in; default disabled)") - analyze_parser.add_argument("--no-carry-exceptions", action="store_true", help="Disable carry exception profile") + # Shared flags for both run and analyze + def _add_common_flags(p): + p.add_argument("--profile", default=None, help="Path to profile override JSON") + p.add_argument("--skip-godot", action="store_true", help="Skip Godot export (use existing physics CSV)") + p.add_argument("--session", default=None, help="Session directory path (all outputs go into session dir)") + p.add_argument("--no-sessions", action="store_true", help="Exclude session directories (standard shots only)") + p.add_argument("--show", type=int, default=20, help="Number of worst shots to include in critical CSVs (default: 20)") + p.add_argument("--critical-baseline", default=None, help="Optional prior critical-carry CSV to compare against (defaults to latest existing report in assets/data)") + p.add_argument("--carry-exceptions", default=None, help="Path to carry exception profile JSON (explicit opt-in; default disabled)") + p.add_argument("--no-carry-exceptions", action="store_true", help="Disable carry exception profile") + p.add_argument("--flightscope-export", action="store_true", help="Force re-export FlightScope CSV even with --skip-godot") + + run_parser = subparsers.add_parser("run", help="Full calibration pipeline (alias for analyze)") + _add_common_flags(run_parser) + + analyze_parser = subparsers.add_parser("analyze", help="Full calibration pipeline: Godot export, compare, diagnose, accuracy reports, iteration save") + _add_common_flags(analyze_parser) subparsers.add_parser("status", help="Show last iteration summary") subparsers.add_parser("history", help="Show all iteration summaries")