The run cycles anchor on their feet, and stride at a real cadence
Oliver: 'the motion seems very flashy and unnatural'. Two causes, both measured: drawChar centres a frame by its total width while the racket's reach varies across the cycle, so the BODY teleported sideways up to 28 source px on a frame swap (the female player was worst) — every frame is now padded until its lower-third centroid sits at the frame centre (residuals ±0.2 px, the normalisation lives in _runroll.py's cut). And the hardcoded 4.5 cycles/s was tuned on 2-4 near-duplicate frames; on eight real phases it was a strobe — rolled sets stride at TUNE.runHz (2.4), old art keeps 4.5. In-pane: body wobble down from ~36 device px per swap to 3.2. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
9a49acff51
commit
e8b5c1905f
32 files changed
+27
-5
No files matched your search
@@ -41,6 +41,8 @@ export const TUNE = {
|
||||
// the dive is what buys the pace its net clearance
|
||||
serveHardErr: 1.6,// how much a hard serve multiplies the timing scatter: pace is paid for in
|
||||
// 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
|
||||
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.
|
||||
|
||||
Reference in new issue
Block a user