Spaces:
Sleeping
Sleeping
Batch 9/10 visibility polish: surface arsenal and family-zone matchup fields in output
Browse files- Add arsenal_hit_boost, arsenal_hr_boost, arsenal_tb2p_boost, arsenal_whiff_risk, arsenal_sample_size
- Add family_zone_hit/hr/tb2p_boost, family_zone_whiff_risk, family_zone_sample_size, pitcher_family_zone_sample_size
- Fix traj_boost key names (hit_adj / hr_adj / tb2p_adj) so trajectory fields are non-None in output
- No math, weights, ordering, or clamps changed — visibility-only patch
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
models/live_fair_simulator_v3.py
CHANGED
|
@@ -516,6 +516,19 @@ def build_upcoming_simulated_rows(
|
|
| 516 |
"zone_tb2p_boost": zone_matchup_adj.get("tb2p_zone_boost"),
|
| 517 |
"zone_sample_size": batter_zone_row.get("zone_sample_size"),
|
| 518 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 519 |
"rolling_pitch_sample_size": pitcher_adj.get("rolling_pitch_sample_size"),
|
| 520 |
"rolling_pitch_velocity_sample_size": pitcher_adj.get("rolling_pitch_velocity_sample_size"),
|
| 521 |
"rolling_pitch_spin_sample_size": pitcher_adj.get("rolling_pitch_spin_sample_size"),
|
|
@@ -527,9 +540,9 @@ def build_upcoming_simulated_rows(
|
|
| 527 |
"tunnel_score": trajectory_row.get("tunnel_score"),
|
| 528 |
"release_consistency_score": trajectory_row.get("release_consistency_score"),
|
| 529 |
"trajectory_sample_size": trajectory_row.get("trajectory_sample_size"),
|
| 530 |
-
"traj_hit_boost": traj_adj.get("
|
| 531 |
-
"traj_hr_boost": traj_adj.get("
|
| 532 |
-
"traj_tb2p_boost": traj_adj.get("
|
| 533 |
}
|
| 534 |
)
|
| 535 |
|
|
|
|
| 516 |
"zone_tb2p_boost": zone_matchup_adj.get("tb2p_zone_boost"),
|
| 517 |
"zone_sample_size": batter_zone_row.get("zone_sample_size"),
|
| 518 |
|
| 519 |
+
"arsenal_hit_boost": arsenal_matchup_adj.get("arsenal_hit_boost"),
|
| 520 |
+
"arsenal_hr_boost": arsenal_matchup_adj.get("arsenal_hr_boost"),
|
| 521 |
+
"arsenal_tb2p_boost": arsenal_matchup_adj.get("arsenal_tb2p_boost"),
|
| 522 |
+
"arsenal_whiff_risk": arsenal_matchup_adj.get("arsenal_whiff_risk"),
|
| 523 |
+
"arsenal_sample_size": batter_arsenal_row.get("arsenal_sample_size"),
|
| 524 |
+
|
| 525 |
+
"family_zone_hit_boost": family_zone_matchup_adj.get("family_zone_hit_boost"),
|
| 526 |
+
"family_zone_hr_boost": family_zone_matchup_adj.get("family_zone_hr_boost"),
|
| 527 |
+
"family_zone_tb2p_boost": family_zone_matchup_adj.get("family_zone_tb2p_boost"),
|
| 528 |
+
"family_zone_whiff_risk": family_zone_matchup_adj.get("family_zone_whiff_risk"),
|
| 529 |
+
"family_zone_sample_size": batter_family_zone_row.get("family_zone_sample_size"),
|
| 530 |
+
"pitcher_family_zone_sample_size": pitcher_family_zone_row.get("family_zone_sample_size"),
|
| 531 |
+
|
| 532 |
"rolling_pitch_sample_size": pitcher_adj.get("rolling_pitch_sample_size"),
|
| 533 |
"rolling_pitch_velocity_sample_size": pitcher_adj.get("rolling_pitch_velocity_sample_size"),
|
| 534 |
"rolling_pitch_spin_sample_size": pitcher_adj.get("rolling_pitch_spin_sample_size"),
|
|
|
|
| 540 |
"tunnel_score": trajectory_row.get("tunnel_score"),
|
| 541 |
"release_consistency_score": trajectory_row.get("release_consistency_score"),
|
| 542 |
"trajectory_sample_size": trajectory_row.get("trajectory_sample_size"),
|
| 543 |
+
"traj_hit_boost": traj_adj.get("hit_adj"),
|
| 544 |
+
"traj_hr_boost": traj_adj.get("hr_adj"),
|
| 545 |
+
"traj_tb2p_boost": traj_adj.get("tb2p_adj"),
|
| 546 |
}
|
| 547 |
)
|
| 548 |
|