The trail reads as motion, never as residue: the ghosts fade with the sprint

The lingering doubles were a real bug, not a taste problem: racketAI's
!incoming return kept the last chase's vx/vz on the body, so the speed
ghosts trailed a zombie that had already stopped. The velocity dies with
the chase now (tested). The look is halved with it: ghost alphas
0.22/0.10 -> 0.11/0.05, trailK 0.05 -> 0.035 — a hint of speed in the
corner of the eye, never a second body.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Fable 5 committed 2026-08-28 16:36:19 +02:00
1 parent 4ea9af5442
commit 98b01fea5a
6 files changed
+22 -5

No files matched your search

+5
View File
@@ -2102,6 +2102,11 @@ test('THE READ: a habit is learned by repetition and a break wrong-foots the rac
hit(1); // the break
assert.ok(d.surprised && !d.expected, 'the break wrong-foots him for this one flight');
assert.equal(d.laneRun, 1, '...and the new lane starts its own book');
// ...and the sprint dies with the chase: the rig just deactivated the ball, so one tick later
// the body carries no velocity — a stale vx kept the speed ghosts on a zombie that had already
// stopped ("teilweise bleiben die doppelten ghosts länger sichtbar")
update(DT);
assert.equal(zb.vx || 0, 0, 'no chase, no velocity — the ghost trail cannot outlive the sprint');
G.modal = null; G.modalQ.length = 0;
endMatch();
// the dials must MATTER at the top and vanish at the bottom — pinned so they cannot drift: