Default the fired band to the tail behind the ball

shotTail 0 -> 1. The panel is keyboard-only ('T'), so on a phone the default
IS the setting — noted next to the knob so the next person doesn't assume it
can be flipped in play.

Verified on the default build: the drawn slice runs from z 21.4 back at the
racket side to z 18.84, which is the ball to the centimetre — entirely behind
it, ending on it. Nothing ahead. 600 frames clean.

Keeping the losing branch until a real playtest confirms the pick.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Opus 5 committed 2026-08-02 21:44:14 +02:00
1 parent 6ce52a6e85
commit dbc0d5baee
1 file changed
+4 -2
+4 -2
View File
@@ -168,10 +168,12 @@ export const TUNE = {
// court — so every downward pull picked the same body and the angle felt inert. // court — so every downward pull picked the same body and the angle felt inert.
// 0.10 gives ±2.9 m out there: you have to actually point at a lane. // 0.10 gives ±2.9 m out there: you have to actually point at a lane.
pullHintAfter: 1.5, // s of doing nothing in the serve stance before the pull gesture demos itself pullHintAfter: 1.5, // s of doing nothing in the serve stance before the pull gesture demos itself
shotTail: 0, // HOW THE AIM BAND BEHAVES ONCE FIRED. 0 = a short WAKE ahead of the ball, shotTail: 1, // HOW THE AIM BAND BEHAVES ONCE FIRED. 0 = a short WAKE ahead of the ball,
// dissolving; 1 = a short TAIL behind it and nothing ahead at all. Both keep // dissolving; 1 = a short TAIL behind it and nothing ahead at all. Both keep
// the aiming band itself untouched — full arc, full colour, that part is the // the aiming band itself untouched — full arc, full colour, that part is the
// information you act on. Flip it live in the T panel; it is read per frame. // information you act on. Read per frame, so the T panel flips it live — but
// the panel is keyboard-only ('T'), so on a phone this default is the setting.
// 1 is Oliver's pick; the losing branch stays until a real playtest confirms it.
aimTie: 0.12, // how much worse-aimed a NEARER body may be and still win the lane (0..1 of the aimTie: 0.12, // how much worse-aimed a NEARER body may be and still win the lane (0..1 of the
// cone half-width). 0 = pure best-aligned wins; 1 = the old "nearest in the // cone half-width). 0 = pure best-aligned wins; 1 = the old "nearest in the
// lane always wins", which is what made the magnet grab the wrong shambler. // lane always wins", which is what made the magnet grab the wrong shambler.