Commit Graph
2 Commits
Author SHA1 Message Date
wuwiandClaude Fable 5 f3c2af4ef5 Catchability contract: every ball reachable via auto-run, timing is the skill
- intercept() now picks a point the runner can actually reach in time
  (travel-time feasibility), falling back to the deepest hittable point
- tapping no longer slows the auto-run: anticipating a shot doesn't lose it
- assist legs slightly superhuman (1.15x) so positioning is guaranteed
- ball boy run frames regenerated with contrasting stride/gather poses
  (previous pair was near-identical, which read as no animation)

Verified: 10/10 CPU shots end inside the honest 1.3m contact radius with
zero manual movement.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 14:21:52 +02:00
wuwiandClaude Fable 5 769dea8755 Ball boys sprint across the field; honest hit registration
- ball boy redesign: spawns at the sideline on point end, sprints across at
  the ball's depth with a proper side-view run animation, scoops the ball
  mid-run, despawns off the other side (no more net-post idling/sliding)
- hit feel: ball snaps to the racket at the contact frame so hits visually
  connect; contact radius tightened 1.7 -> 1.3 (assist does the positioning,
  the tap must be honest); missed swings now play an audible swish

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-11 14:12:11 +02:00