A facing flip must be earned: the racket stops flashing across the body

Oliver, women's tour: 'the racket she is holding flashing left and right
very fast' during auto-run. The rolled cycles carry a real racket, and the
mirror flip teleports it across the body — the per-frame steering flutter
the old racketless art could hide. earnFlip() requires an auto-steered
direction to persist TUNE.faceFlip (0.13 s) before the body mirrors, at all
three steering sites (player assist, tennis CPU, match opponent); manual
input stays instant. Measured over an 8 s live rally: 4 player flips, 2
opponent flips — every one an actual turn.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Fable 5 committed 2026-08-13 19:08:18 +02:00
1 parent e8b5c1905f
commit 35671c689b
3 files changed
+19 -5

No files matched your search

+3
View File
@@ -43,6 +43,9 @@ export const TUNE = {
// faults, which is what makes tap = safe second serve a real decision
runHz: 2.4, // stride cycles/s for the rolled 6/8-frame run sets. The old hardcoded 4.5 was
// tuned on 2-4 near-duplicate frames; on eight real phases it strobed
faceFlip: 0.13, // s an auto-steered direction must persist before the body mirrors (earnFlip).
// The rolled cycles hold a real racket, and an un-earned flip teleports it
// across the body — the "racket flashing left and right" report
serveSpin: 1.3, // extra gravity a full-power serve carries (was a fixed 0.35). Without it the
// net-clearance loop ate the whole smash: a flat fast ball can't get over the
// tape AND come down on a target, so it got throttled back to walking pace.