baseball v1.3.0 — statcast hero card + animated trajectory (phase 4)
baseball v1.3.0 — Statcast design uplift (Phase 4)
baseball.statcast gains the design handoff's hero card at scale>1, with an animated trajectory whose arc genuinely differs per batted ball.
Hero card (bigsign + longboi)
- Each superlative renders as a hero card: player, color-coded result, exit-velo headline, and launch-angle / distance / pitch details. Scale-1 (smallsign) keeps the classic scrolling superlative lines, byte-identical.
layout = "auto"(default) /"big"/"long".
Animated trajectory (both scale>1 signs)
- Batted-ball superlatives (
longest_hr,hardest_hit) draw an animated arc: the ball flies (~1.5s) then rests at a result-driven landing act —clears(wall tick),fair(ground),track(warning-track line),caught(glove),grounder(flat skip). The flight restarts fresh each time the card is shown. - The arc has teeth: apex height, peak position, descent, and landing come from the ball's real launch angle, exit velo, distance, and batted-ball type — a 470ft moonshot towers over a 365ft wall-scraper, a line-drive draws a flat rope where a fly ball domes. A given ball always draws the same arc; different balls diverge.
- Longboi uses the full-width DISTANCE slot; the bigsign fits a compact panel in the block under the result label.
- Pitch superlatives (
fastest_pitch,slowest_pitch) show the pitch type in that slot instead (no arc).
Notes
- Pure, deterministic trajectory geometry (
trajectory.plan_arc) — no randomness, fully testable. - Enriched
StatRecordcarries the full play context; NaN/inf distances are rejected at the source (no render-loop raise). - All hero-card text is width-guarded so pitch names can't overlap the distance panel or clip the edge.