Two frames each: the run cycles land where the zombies always were

The live bench session's verdict, in Oliver's words: "this looks better than
anything before." Six and eight real phases at speed read as flicker on a
far-court body — the zombies never had this problem because their walks are
FOUR well-chosen frames at a calm rate, and the fix was to stop out-drawing
them. Each opponent now runs a TWO-frame true leg-swap pair — his frames 1+2
of the grid roll, hers 7+8 of the face-transplant cycle, both picked live on
the bench with SPR swaps — at TUNE.runHz2 = 1.7 (the old hardcoded 4.5 for
short cycles was most of a stride per display frame; that is the strobe).

The tuning rig ships too: TUNE.runN (frame-count override, 0 = probe),
T.SPR for live frame swaps, and the bench's living slots — the next cadence
question gets answered by watching, not rolling. Twelve run sprites become
four; the SPR list says why. SPRV 124, main.js v248.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Fable 5 committed 2026-08-14 14:54:11 +02:00
1 parent 90d7ac1096
commit 40c74be4aa
16 files changed
+13 -9

No files matched your search

+3
View File
@@ -41,6 +41,9 @@ 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
runN: 0, // frame-count override for run cycles (0 = probe per character sheet) — bench tuning knob
runHz2: 1.7, // stride cycles/s for TWO-frame pairs (the opponents). Tuned live on the bench
// with Oliver 2026-08-14 — the old hardcoded 4.5 was strobe; 1.7 reads as running.
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).