{
  "version": "early-flight-v1",
  "date": "2026-09-08",
  "coefficients": {
    "drag": 0.6174889546923666,
    "lift": 0.43570861410401807,
    "dragSlope": 0.0,
    "liftSaturation": 0.0,
    "spinDecay": 0.0
  },
  "selected": "constant",
  "rows": {
    "train": 2790,
    "fit": 2400,
    "validation": 2000,
    "test": 1281
  },
  "splits": {
    "train": [
      "2026-MS101",
      "2026-MS103",
      "2026-MS147",
      "2026-MS148",
      "2026-MS156"
    ],
    "validation": [
      "2026-MS133",
      "2026-MS152",
      "2026-MS160",
      "2026-MS164"
    ],
    "test": [
      "2026-MS302",
      "2026-MS310",
      "2026-MS406"
    ]
  },
  "paired_previous_browser": {
    "n": 1281,
    "previous": {
      "net_m": {
        "n": 1281,
        "missing": 0,
        "rmse": 0.18074952142631226,
        "bias": 0.0367868214016025,
        "median_abs": 0.1062756100533413
      },
      "landing_m": {
        "n": 1281,
        "missing": 0,
        "rmse": 2.5022655700906657,
        "bias": 2.0915819942603546,
        "median_abs": 2.1108383233937573
      }
    },
    "upgraded": {
      "net_m": {
        "n": 1281,
        "missing": 0,
        "rmse": 0.09428382487820841,
        "bias": -0.027994705592565547,
        "median_abs": 0.03580226405424902
      },
      "landing_m": {
        "n": 1281,
        "missing": 0,
        "rmse": 0.7000788503307003,
        "bias": -0.11079726456717144,
        "median_abs": 0.4638596234259129
      }
    },
    "method": "Previous 4465913 browser + <=380ms replay launch fit versus early-only <=180ms 3D state and refitted physics. Same shots; both scored at actual net plane and tracked first bounce. Not an exact-contact forecast benchmark.",
    "groups": {
      "forehand": {
        "n": 888,
        "previous": {
          "net_m": {
            "n": 888,
            "missing": 0,
            "rmse": 0.17735300045996408,
            "bias": 0.07399918382368442,
            "median_abs": 0.10588662072862842
          },
          "landing_m": {
            "n": 888,
            "missing": 0,
            "rmse": 2.764801420658093,
            "bias": 2.4494487512656553,
            "median_abs": 2.5961866850272446
          }
        },
        "upgraded": {
          "net_m": {
            "n": 888,
            "missing": 0,
            "rmse": 0.07068700853178789,
            "bias": -0.008042303743107462,
            "median_abs": 0.03055353387197801
          },
          "landing_m": {
            "n": 888,
            "missing": 0,
            "rmse": 0.6587784617890593,
            "bias": 0.02801690698023494,
            "median_abs": 0.45783927012062264
          }
        }
      },
      "backhand": {
        "n": 291,
        "previous": {
          "net_m": {
            "n": 291,
            "missing": 0,
            "rmse": 0.1840929900517604,
            "bias": -0.016304769759555075,
            "median_abs": 0.09259025713534008
          },
          "landing_m": {
            "n": 291,
            "missing": 0,
            "rmse": 1.8361021060534939,
            "bias": 1.3173134807951485,
            "median_abs": 1.2400693434243415
          }
        },
        "upgraded": {
          "net_m": {
            "n": 291,
            "missing": 0,
            "rmse": 0.14071736267275026,
            "bias": -0.07349075797134424,
            "median_abs": 0.056644957695978215
          },
          "landing_m": {
            "n": 291,
            "missing": 0,
            "rmse": 0.8338314325245093,
            "bias": -0.5725792861002569,
            "median_abs": 0.5928300240088547
          }
        }
      },
      "slice": {
        "n": 102,
        "previous": {
          "net_m": {
            "n": 102,
            "missing": 0,
            "rmse": 0.19944735546784026,
            "bias": -0.1357124413720436,
            "median_abs": 0.1484964113615036
          },
          "landing_m": {
            "n": 102,
            "missing": 0,
            "rmse": 1.571008866372004,
            "bias": 1.184978633453174,
            "median_abs": 1.087862286588877
          }
        },
        "upgraded": {
          "net_m": {
            "n": 102,
            "missing": 0,
            "rmse": 0.10792806651802872,
            "bias": -0.07190040755427317,
            "median_abs": 0.07150099518747632
          },
          "landing_m": {
            "n": 102,
            "missing": 0,
            "rmse": 0.627195342054907,
            "bias": -0.001860167194318794,
            "median_abs": 0.3347749267896001
          }
        }
      }
    }
  },
  "test": {
    "n": 1281,
    "net_m": {
      "n": 1281,
      "missing": 0,
      "rmse": 0.09428382487820841,
      "bias": -0.027994705592565547,
      "median_abs": 0.03580226405424902
    },
    "landing_longitudinal_m": {
      "n": 1281,
      "missing": 0,
      "rmse": 0.7000788503307003,
      "bias": -0.11079726456717144,
      "median_abs": 0.4638596234259129
    },
    "landing_lateral_m": {
      "n": 1281,
      "missing": 0,
      "rmse": 0.3978810877461386,
      "bias": 0.07363241716361878,
      "median_abs": 0.22544472605360566
    },
    "bounce_time_s": {
      "n": 1281,
      "missing": 0,
      "rmse": 0.04730492675984358,
      "bias": -0.018433939749404375,
      "median_abs": 0.022166383506097898
    },
    "future_height_m": {
      "n": 5124,
      "missing": 0,
      "rmse": 0.212335890706291,
      "bias": -0.056496290224573906,
      "median_abs": 0.04592398437682644
    },
    "groups": {
      "forehand": {
        "n": 888,
        "net_m": {
          "n": 888,
          "missing": 0,
          "rmse": 0.07068700853178789,
          "bias": -0.008042303743107462,
          "median_abs": 0.03055353387197801
        },
        "landing_longitudinal_m": {
          "n": 888,
          "missing": 0,
          "rmse": 0.6587784617890593,
          "bias": 0.02801690698023494,
          "median_abs": 0.45783927012062264
        },
        "landing_lateral_m": {
          "n": 888,
          "missing": 0,
          "rmse": 0.33462988009809747,
          "bias": 0.06646235995282636,
          "median_abs": 0.1968356181169586
        },
        "bounce_time_s": {
          "n": 888,
          "missing": 0,
          "rmse": 0.039991291286667945,
          "bias": -0.00917846796446535,
          "median_abs": 0.018703375345320405
        },
        "future_height_m": {
          "n": 3552,
          "missing": 0,
          "rmse": 0.1872540153809948,
          "bias": -0.02457515295533779,
          "median_abs": 0.03941459437837125
        }
      },
      "backhand": {
        "n": 291,
        "net_m": {
          "n": 291,
          "missing": 0,
          "rmse": 0.14071736267275026,
          "bias": -0.07349075797134424,
          "median_abs": 0.056644957695978215
        },
        "landing_longitudinal_m": {
          "n": 291,
          "missing": 0,
          "rmse": 0.8338314325245093,
          "bias": -0.5725792861002569,
          "median_abs": 0.5928300240088547
        },
        "landing_lateral_m": {
          "n": 291,
          "missing": 0,
          "rmse": 0.4494859717119357,
          "bias": 0.0937836933161614,
          "median_abs": 0.3127603730577305
        },
        "bounce_time_s": {
          "n": 291,
          "missing": 0,
          "rmse": 0.06011058888283014,
          "bias": -0.03906088802227809,
          "median_abs": 0.035018138561685896
        },
        "future_height_m": {
          "n": 1164,
          "missing": 0,
          "rmse": 0.27024403580964124,
          "bias": -0.12819316079664214,
          "median_abs": 0.0666434290694221
        }
      },
      "slice": {
        "n": 102,
        "net_m": {
          "n": 102,
          "missing": 0,
          "rmse": 0.10792806651802872,
          "bias": -0.07190040755427317,
          "median_abs": 0.07150099518747632
        },
        "landing_longitudinal_m": {
          "n": 102,
          "missing": 0,
          "rmse": 0.627195342054907,
          "bias": -0.001860167194318794,
          "median_abs": 0.3347749267896001
        },
        "landing_lateral_m": {
          "n": 102,
          "missing": 0,
          "rmse": 0.6609976280111496,
          "bias": 0.07856368621061618,
          "median_abs": 0.48428386052821304
        },
        "bounce_time_s": {
          "n": 102,
          "missing": 0,
          "rmse": 0.06222341432599049,
          "bias": -0.04016351815743969,
          "median_abs": 0.045602973691288184
        },
        "future_height_m": {
          "n": 408,
          "missing": 0,
          "rmse": 0.22937873418314794,
          "bias": -0.12985100158349375,
          "median_abs": 0.09178090293861105
        }
      },
      "long": {
        "n": 1,
        "net_m": {
          "n": 1,
          "missing": 0,
          "rmse": 1.0572547535739139,
          "bias": -1.0572547535739139,
          "median_abs": 1.0572547535739139
        },
        "landing_longitudinal_m": {
          "n": 1,
          "missing": 0,
          "rmse": 3.867860929248023,
          "bias": -3.867860929248023,
          "median_abs": 3.867860929248023
        },
        "landing_lateral_m": {
          "n": 1,
          "missing": 0,
          "rmse": 0.38128712720579205,
          "bias": -0.38128712720579205,
          "median_abs": 0.38128712720579205
        },
        "bounce_time_s": {
          "n": 1,
          "missing": 0,
          "rmse": 0.5737890843349001,
          "bias": -0.5737890843349001,
          "median_abs": 0.5737890843349001
        },
        "future_height_m": {
          "n": 4,
          "missing": 0,
          "rmse": 3.9865561357411967,
          "bias": -3.3608017161064736,
          "median_abs": 3.2411896096682975
        }
      },
      "inside_baseline": {
        "n": 221,
        "net_m": {
          "n": 221,
          "missing": 0,
          "rmse": 0.060779537788008764,
          "bias": -0.011278348313303975,
          "median_abs": 0.024796646467922345
        },
        "landing_longitudinal_m": {
          "n": 221,
          "missing": 0,
          "rmse": 0.6184496385568964,
          "bias": 0.04843563775463551,
          "median_abs": 0.45856784659638095
        },
        "landing_lateral_m": {
          "n": 221,
          "missing": 0,
          "rmse": 0.3601971696461448,
          "bias": 0.0423040564672219,
          "median_abs": 0.17238876857122465
        },
        "bounce_time_s": {
          "n": 221,
          "missing": 0,
          "rmse": 0.033834395082429934,
          "bias": -0.00838602324721347,
          "median_abs": 0.020989996269418332
        },
        "future_height_m": {
          "n": 884,
          "missing": 0,
          "rmse": 0.11594842655993781,
          "bias": -0.02191990622496568,
          "median_abs": 0.045325220348005124
        }
      }
    }
  },
  "test_by_match": {
    "2026-MS302": {
      "n": 447,
      "net_m": {
        "n": 447,
        "missing": 0,
        "rmse": 0.09606234513849955,
        "bias": -0.02982208121789526,
        "median_abs": 0.03959055899215347
      },
      "landing_longitudinal_m": {
        "n": 447,
        "missing": 0,
        "rmse": 0.7356960470199699,
        "bias": -0.10768210175323335,
        "median_abs": 0.5035839305490439
      },
      "landing_lateral_m": {
        "n": 447,
        "missing": 0,
        "rmse": 0.4656322333970452,
        "bias": 0.2717663223156796,
        "median_abs": 0.26861200200867863
      },
      "bounce_time_s": {
        "n": 447,
        "missing": 0,
        "rmse": 0.05175696644075375,
        "bias": -0.02080513581482257,
        "median_abs": 0.0245593990362043
      },
      "future_height_m": {
        "n": 1788,
        "missing": 0,
        "rmse": 0.2577580456160531,
        "bias": -0.06405510004907451,
        "median_abs": 0.050251837637059094
      },
      "groups": {
        "forehand": {
          "n": 314,
          "net_m": {
            "n": 314,
            "missing": 0,
            "rmse": 0.08683894702574449,
            "bias": -0.013912080442981534,
            "median_abs": 0.03584560290118488
          },
          "landing_longitudinal_m": {
            "n": 314,
            "missing": 0,
            "rmse": 0.6863964601812959,
            "bias": 0.01872272839412343,
            "median_abs": 0.4956799308818911
          },
          "landing_lateral_m": {
            "n": 314,
            "missing": 0,
            "rmse": 0.41364759865315787,
            "bias": 0.2500047115937827,
            "median_abs": 0.24410724447593019
          },
          "bounce_time_s": {
            "n": 314,
            "missing": 0,
            "rmse": 0.049308425222904365,
            "bias": -0.01342540533459122,
            "median_abs": 0.02080750307139151
          },
          "future_height_m": {
            "n": 1256,
            "missing": 0,
            "rmse": 0.2693682454590287,
            "bias": -0.03902251691473108,
            "median_abs": 0.04261600809256383
          }
        },
        "backhand": {
          "n": 93,
          "net_m": {
            "n": 93,
            "missing": 0,
            "rmse": 0.1180522235966092,
            "bias": -0.06765404268006323,
            "median_abs": 0.06582545764403602
          },
          "landing_longitudinal_m": {
            "n": 93,
            "missing": 0,
            "rmse": 0.8643226974666709,
            "bias": -0.6068537289550338,
            "median_abs": 0.6472996327387559
          },
          "landing_lateral_m": {
            "n": 93,
            "missing": 0,
            "rmse": 0.47912201194390897,
            "bias": 0.2855371764757851,
            "median_abs": 0.33413207874378026
          },
          "bounce_time_s": {
            "n": 93,
            "missing": 0,
            "rmse": 0.05388627967878215,
            "bias": -0.03802546935565834,
            "median_abs": 0.03685054271817001
          },
          "future_height_m": {
            "n": 372,
            "missing": 0,
            "rmse": 0.2316167830931853,
            "bias": -0.12342558856695378,
            "median_abs": 0.0725019215736148
          }
        },
        "slice": {
          "n": 40,
          "net_m": {
            "n": 40,
            "missing": 0,
            "rmse": 0.1073488629691689,
            "bias": -0.06675627690142752,
            "median_abs": 0.07102244951681458
          },
          "landing_longitudinal_m": {
            "n": 40,
            "missing": 0,
            "rmse": 0.7830097232623043,
            "bias": 0.06061401483420196,
            "median_abs": 0.3578957205904967
          },
          "landing_lateral_m": {
            "n": 40,
            "missing": 0,
            "rmse": 0.7389169953323074,
            "bias": 0.41057773056032437,
            "median_abs": 0.48428386052821304
          },
          "bounce_time_s": {
            "n": 40,
            "missing": 0,
            "rmse": 0.06401846056661785,
            "bias": -0.0386987446021955,
            "median_abs": 0.04598886406508895
          },
          "future_height_m": {
            "n": 160,
            "missing": 0,
            "rmse": 0.21940902456013678,
            "bias": -0.12252449184960117,
            "median_abs": 0.0900214889648987
          }
        },
        "long": {
          "n": 1,
          "net_m": {
            "n": 1,
            "missing": 0,
            "rmse": 1.0572547535739139,
            "bias": -1.0572547535739139,
            "median_abs": 1.0572547535739139
          },
          "landing_longitudinal_m": {
            "n": 1,
            "missing": 0,
            "rmse": 3.867860929248023,
            "bias": -3.867860929248023,
            "median_abs": 3.867860929248023
          },
          "landing_lateral_m": {
            "n": 1,
            "missing": 0,
            "rmse": 0.38128712720579205,
            "bias": -0.38128712720579205,
            "median_abs": 0.38128712720579205
          },
          "bounce_time_s": {
            "n": 1,
            "missing": 0,
            "rmse": 0.5737890843349001,
            "bias": -0.5737890843349001,
            "median_abs": 0.5737890843349001
          },
          "future_height_m": {
            "n": 4,
            "missing": 0,
            "rmse": 3.9865561357411967,
            "bias": -3.3608017161064736,
            "median_abs": 3.2411896096682975
          }
        },
        "inside_baseline": {
          "n": 60,
          "net_m": {
            "n": 60,
            "missing": 0,
            "rmse": 0.05163397965465172,
            "bias": -0.02194860343554454,
            "median_abs": 0.030257586645074053
          },
          "landing_longitudinal_m": {
            "n": 60,
            "missing": 0,
            "rmse": 0.5618418669628525,
            "bias": -0.03138223525526732,
            "median_abs": 0.5063476933936979
          },
          "landing_lateral_m": {
            "n": 60,
            "missing": 0,
            "rmse": 0.3829713053011016,
            "bias": 0.2363006542063003,
            "median_abs": 0.22937095515156325
          },
          "bounce_time_s": {
            "n": 60,
            "missing": 0,
            "rmse": 0.03497736292518982,
            "bias": -0.015873912392300262,
            "median_abs": 0.026951911286583752
          },
          "future_height_m": {
            "n": 240,
            "missing": 0,
            "rmse": 0.11818808900712696,
            "bias": -0.042751221215320684,
            "median_abs": 0.053372213325312334
          }
        }
      }
    },
    "2026-MS310": {
      "n": 329,
      "net_m": {
        "n": 329,
        "missing": 0,
        "rmse": 0.11993075084502983,
        "bias": -0.04360280461338991,
        "median_abs": 0.04194574652349092
      },
      "landing_longitudinal_m": {
        "n": 329,
        "missing": 0,
        "rmse": 0.783792620576641,
        "bias": -0.3236353430052037,
        "median_abs": 0.5404134245482934
      },
      "landing_lateral_m": {
        "n": 329,
        "missing": 0,
        "rmse": 0.3408212866441559,
        "bias": 0.027738693512585507,
        "median_abs": 0.2044465727775049
      },
      "bounce_time_s": {
        "n": 329,
        "missing": 0,
        "rmse": 0.052328163861056855,
        "bias": -0.02430914936125315,
        "median_abs": 0.023606003501931427
      },
      "future_height_m": {
        "n": 1316,
        "missing": 0,
        "rmse": 0.22443349621341385,
        "bias": -0.07280001568385715,
        "median_abs": 0.05061551070179493
      },
      "groups": {
        "forehand": {
          "n": 214,
          "net_m": {
            "n": 214,
            "missing": 0,
            "rmse": 0.061014537628065996,
            "bias": -0.012827343151034436,
            "median_abs": 0.032839107603324535
          },
          "landing_longitudinal_m": {
            "n": 214,
            "missing": 0,
            "rmse": 0.6815361266893715,
            "bias": -0.14577120384070238,
            "median_abs": 0.48010115413960586
          },
          "landing_lateral_m": {
            "n": 214,
            "missing": 0,
            "rmse": 0.27988382774430326,
            "bias": 0.006583495184560658,
            "median_abs": 0.18418088200966587
          },
          "bounce_time_s": {
            "n": 214,
            "missing": 0,
            "rmse": 0.03715252566061325,
            "bias": -0.0123795954793809,
            "median_abs": 0.020035631752428507
          },
          "future_height_m": {
            "n": 856,
            "missing": 0,
            "rmse": 0.12915522438613627,
            "bias": -0.028415684536431136,
            "median_abs": 0.04163839153053617
          }
        },
        "backhand": {
          "n": 95,
          "net_m": {
            "n": 95,
            "missing": 0,
            "rmse": 0.19844049989654164,
            "bias": -0.10940173032450938,
            "median_abs": 0.0728549064573194
          },
          "landing_longitudinal_m": {
            "n": 95,
            "missing": 0,
            "rmse": 0.9915075740504178,
            "bias": -0.7582371780764635,
            "median_abs": 0.7914267948965392
          },
          "landing_lateral_m": {
            "n": 95,
            "missing": 0,
            "rmse": 0.4170774081897834,
            "bias": 0.08931186262589216,
            "median_abs": 0.24012466556024137
          },
          "bounce_time_s": {
            "n": 95,
            "missing": 0,
            "rmse": 0.07558912436554359,
            "bias": -0.05001573767953758,
            "median_abs": 0.04201986699971905
          },
          "future_height_m": {
            "n": 380,
            "missing": 0,
            "rmse": 0.3601849998365878,
            "bias": -0.1688542802526587,
            "median_abs": 0.08352627464457617
          }
        },
        "slice": {
          "n": 20,
          "net_m": {
            "n": 20,
            "missing": 0,
            "rmse": 0.09861288731227145,
            "bias": -0.06035534513277594,
            "median_abs": 0.0714576680748743
          },
          "landing_longitudinal_m": {
            "n": 20,
            "missing": 0,
            "rmse": 0.6826561006068338,
            "bias": -0.16242291547688273,
            "median_abs": 0.5397191156965293
          },
          "landing_lateral_m": {
            "n": 20,
            "missing": 0,
            "rmse": 0.49634114967721243,
            "bias": -0.03837323766575509,
            "median_abs": 0.4163405104640139
          },
          "bounce_time_s": {
            "n": 20,
            "missing": 0,
            "rmse": 0.055986836257601626,
            "bias": -0.029849081385435166,
            "median_abs": 0.04315615678116208
          },
          "future_height_m": {
            "n": 80,
            "missing": 0,
            "rmse": 0.1840452463365846,
            "bias": -0.09145460225950841,
            "median_abs": 0.06544895628787581
          }
        },
        "inside_baseline": {
          "n": 58,
          "net_m": {
            "n": 58,
            "missing": 0,
            "rmse": 0.0901744545896966,
            "bias": -0.028635965350822447,
            "median_abs": 0.023789477616112942
          },
          "landing_longitudinal_m": {
            "n": 58,
            "missing": 0,
            "rmse": 0.6725386346316643,
            "bias": -0.2062185159902163,
            "median_abs": 0.5018906420035636
          },
          "landing_lateral_m": {
            "n": 58,
            "missing": 0,
            "rmse": 0.29086611240219484,
            "bias": 0.029005929572845993,
            "median_abs": 0.1624647606255375
          },
          "bounce_time_s": {
            "n": 58,
            "missing": 0,
            "rmse": 0.037713837291124035,
            "bias": -0.014668728627774668,
            "median_abs": 0.019564734450781995
          },
          "future_height_m": {
            "n": 232,
            "missing": 0,
            "rmse": 0.13834218435321818,
            "bias": -0.04271259524390798,
            "median_abs": 0.04453411498431925
          }
        }
      }
    },
    "2026-MS406": {
      "n": 505,
      "net_m": {
        "n": 505,
        "missing": 0,
        "rmse": 0.07078532682991684,
        "bias": -0.016208762063112885,
        "median_abs": 0.029549553734815603
      },
      "landing_longitudinal_m": {
        "n": 505,
        "missing": 0,
        "rmse": 0.6032558594444674,
        "bias": 0.025106200835367656,
        "median_abs": 0.39231966701773047
      },
      "landing_lateral_m": {
        "n": 505,
        "missing": 0,
        "rmse": 0.36603941398941164,
        "bias": -0.0718464353547599,
        "median_abs": 0.20716865545220164
      },
      "bounce_time_s": {
        "n": 505,
        "missing": 0,
        "rmse": 0.039004173815485384,
        "bias": -0.012507467267146593,
        "median_abs": 0.01904575550817844
      },
      "future_height_m": {
        "n": 2020,
        "missing": 0,
        "rmse": 0.15081073931993597,
        "bias": -0.039183985932185895,
        "median_abs": 0.039554814240049585
      },
      "groups": {
        "forehand": {
          "n": 360,
          "net_m": {
            "n": 360,
            "missing": 0,
            "rmse": 0.05945305271302596,
            "bias": -7.811397350515275e-05,
            "median_abs": 0.026032969095362346
          },
          "landing_longitudinal_m": {
            "n": 360,
            "missing": 0,
            "rmse": 0.6192359000054751,
            "bias": 0.13943087306834495,
            "median_abs": 0.41296814763806466
          },
          "landing_lateral_m": {
            "n": 360,
            "missing": 0,
            "rmse": 0.28355517217646276,
            "bias": -0.05803269936620541,
            "median_abs": 0.17242686573266397
          },
          "bounce_time_s": {
            "n": 360,
            "missing": 0,
            "rmse": 0.03168246513443224,
            "bias": -0.0035713023466557654,
            "median_abs": 0.01735026494217834
          },
          "future_height_m": {
            "n": 1440,
            "missing": 0,
            "rmse": 0.11527185773133047,
            "bias": -0.009690858395328156,
            "median_abs": 0.03490275649176333
          }
        },
        "backhand": {
          "n": 103,
          "net_m": {
            "n": 103,
            "missing": 0,
            "rmse": 0.08390655718000138,
            "bias": -0.045639031258125295,
            "median_abs": 0.03580226405424902
          },
          "landing_longitudinal_m": {
            "n": 103,
            "missing": 0,
            "rmse": 0.6189224631702113,
            "bias": -0.37039459752517057,
            "median_abs": 0.3785268441620966
          },
          "landing_lateral_m": {
            "n": 103,
            "missing": 0,
            "rmse": 0.45065733375503897,
            "bias": -0.07522844278354164,
            "median_abs": 0.3183740482653368
          },
          "bounce_time_s": {
            "n": 103,
            "missing": 0,
            "rmse": 0.04813162911273788,
            "bias": -0.029891793056802226,
            "median_abs": 0.025109045157082677
          },
          "future_height_m": {
            "n": 412,
            "missing": 0,
            "rmse": 0.19554501369960667,
            "bias": -0.0949948876805203,
            "median_abs": 0.04673969532395983
          }
        },
        "slice": {
          "n": 42,
          "net_m": {
            "n": 42,
            "missing": 0,
            "rmse": 0.11262057276372653,
            "bias": -0.08229722837674393,
            "median_abs": 0.07673746182481267
          },
          "landing_longitudinal_m": {
            "n": 42,
            "missing": 0,
            "rmse": 0.38667051314428047,
            "bias": 0.015099063389263326,
            "median_abs": 0.26150873589293866
          },
          "landing_lateral_m": {
            "n": 42,
            "missing": 0,
            "rmse": 0.6509809150741819,
            "bias": -0.18195591608607192,
            "median_abs": 0.5231961655700474
          },
          "bounce_time_s": {
            "n": 42,
            "missing": 0,
            "rmse": 0.0633008288525554,
            "bias": -0.04647017714910296,
            "median_abs": 0.04539903962313152
          },
          "future_height_m": {
            "n": 168,
            "missing": 0,
            "rmse": 0.25651620762950317,
            "bias": -0.15511262957957497,
            "median_abs": 0.10910510401486014
          }
        },
        "inside_baseline": {
          "n": 103,
          "net_m": {
            "n": 103,
            "missing": 0,
            "rmse": 0.042360049050473164,
            "bias": 0.004711526400390248,
            "median_abs": 0.023034097944257592
          },
          "landing_longitudinal_m": {
            "n": 103,
            "missing": 0,
            "rmse": 0.6181260174700473,
            "bias": 0.23832897074294207,
            "median_abs": 0.43319332622198736
          },
          "landing_lateral_m": {
            "n": 103,
            "missing": 0,
            "rmse": 0.3811834083771716,
            "bias": -0.06321540474123342,
            "median_abs": 0.1444293600069675
          },
          "bounce_time_s": {
            "n": 103,
            "missing": 0,
            "rmse": 0.0307026216967283,
            "bias": -0.00048631197752650827,
            "median_abs": 0.01808008256064686
          },
          "future_height_m": {
            "n": 412,
            "missing": 0,
            "rmse": 0.09965914594002215,
            "bias": 0.0019233448674610446,
            "median_abs": 0.04178546023221258
          }
        }
      }
    }
  },
  "candidates": {
    "constant": {
      "parameters": [
        0.6174889546923666,
        0.43570861410401807,
        0.0,
        0.0,
        0.0
      ],
      "validation_net_rmse_m": 0.09867864535419923,
      "validation_landing_rmse_m": 0.7945561103444289
    },
    "speed_drag": {
      "parameters": [
        0.6233685256917798,
        0.43483733909363315,
        0.029492190395720957,
        0.0,
        0.0
      ],
      "validation_net_rmse_m": 0.0977216343953049,
      "validation_landing_rmse_m": 0.7937491039514288
    },
    "saturating_lift": {
      "parameters": [
        0.6174889546923572,
        0.4357086141037391,
        0.0,
        3.662697461306313e-16,
        0.0
      ],
      "validation_net_rmse_m": 0.09867864535420698,
      "validation_landing_rmse_m": 0.7945561103444149
    },
    "spin_decay": {
      "parameters": [
        0.6174889555810404,
        0.4357086093770306,
        0.0,
        0.0,
        6.7468391315523685e-12
      ],
      "validation_net_rmse_m": 0.0986786456532793,
      "validation_landing_rmse_m": 0.7945561111176053
    }
  },
  "limitations": [
    "Early-flight forecast after observing 20\u2013180 ms, not an exact-contact benchmark.",
    "Men only in this recalibration; not independently validated on women.",
    "Only one complete long flight in final test; no reliable long-shot-specific accuracy claim.",
    "Replay feed may be smoothed; not independent raw optical ground truth.",
    "Fixed transverse spin axis; no wind, sidespin, measured spin decay or air-density variation.",
    "Flat net at 0.914 m; no impact response or line-contact deformation model.",
    "Execution variation and any in/net/long percentages remain illustrative."
  ]
}
