Stop back-dating flicks, and give the half-volley rescue the right deadline
Oliver's v367 log: every 62-64 ms flick landed 76-92 ms early and a 97 ms one whiffed — v366's touch-down timing for flicks was wrong; a flick is timed by its swipe (flickLead now 0, the age is still logged). The early-swing half-volley rescue checked the bounce against the long volley window and then expired on the bounce frame; it now uses the shorter groundstroke window. The log also records where he stood when the opponent struck and where the auto-run was taking him on a miss. v368. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
dfdb699f9d
commit
fe090f2fba
5 files changed
+37
-11
No files matched your search
+19
@@ -5466,6 +5466,25 @@ in the same test.
|
||||
The swing log's HIT line now also says which way the timing missed: `late 40ms` (the ball was already
|
||||
there when the window opened) or `early 40ms`. That was the question his first loss could not answer.
|
||||
|
||||
### His v367 log: the flick back-dating was wrong, and the half-volley rescue used the wrong window (v368)
|
||||
- **v366's flick back-dating made slow flicks EARLY.** Every 62-64 ms flick landed 76-92 ms early (q
|
||||
0.05-0.2). A 97 ms flick whiffed "14 ms after the window closed" and cost a point. The 31-45 ms
|
||||
flicks were fine. A flick is timed by its SWIPE, not by its touch-down. `TUNE.flickLead` is now 0
|
||||
(knob kept). The touch's age is still logged for both gestures, and taps keep their touch-down timing.
|
||||
- **The early-swing half-volley rescue judged its deadline against the swing's current, VOLLEY-length
|
||||
window.** After the bounce the shorter groundstroke window applies, so it decided to wait and then
|
||||
expired on the bounce frame. That is his 8.98 s "waited for the bounce": the Brute had come in and
|
||||
dug his drop out weakly (q 0.3, 15 m/s), so it was a sitter, lost. The deadline is now the
|
||||
post-bounce window, less a frame.
|
||||
- **Point 3 (a 32 m/s topspin return of his serve into the left corner):** he ended up 1.5 m FORWARD and
|
||||
only 1 m left. Rebuilt headless twice (from the baseline, and after his own serve); the auto-run
|
||||
reached the ball both times (5-15 cm). Not reproduced. THEM lines now carry where the player stood
|
||||
(`px,pz`) and MISS lines where the auto-run was taking him (`runTo`), so the next one explains itself.
|
||||
- Observed, not changed: the CPU's "heavy topspin" carries its extra gravity THROUGH the bounce, so it
|
||||
skids low afterwards and nearly every contact in his logs is 0-25 cm off the grass. Real topspin
|
||||
kicks UP. Resetting `ball.g` at the bounce would fix the picture but moves every timing in the
|
||||
rally (all four planners), so it is a decision to put to him.
|
||||
|
||||
# OPEN — leftovers, in rough priority order
|
||||
|
||||
Nothing here is broken; these are known gaps and unverified risks.
|
||||
|
||||
Reference in new issue
Block a user