movement ship: gate v2 fresh-data primary passed (sign-flip p=0.045, CI [+0.02,+0.58]); default TR_MOVEMENT flipped to strafe
This commit is contained in:
@@ -111,11 +111,16 @@ let VBulletAdmitOnly* =
|
||||
## `TR_MOVEMENT` selects the movement engine, mirroring the gun rack's
|
||||
## env-driven construction. Both engines are always constructed, so the switch
|
||||
## needs no rebuild:
|
||||
## tfil (DEFAULT) — today's behaviour, byte-for-byte, including the
|
||||
## separate rammer dispatch.
|
||||
## strafe (DEFAULT since the gate-v2 fresh-data confirmation, 2026-09-26) —
|
||||
## the perpendicular-strafe mover and the movement campaign's
|
||||
## measured champion (docs/movement_campaign.md). It wins rounds by
|
||||
## dodging (incoming hit rate ~13% vs tfil ~17%), not by dealing
|
||||
## more damage.
|
||||
## tfil — the long-shipped mover; still fully reachable as an explicit
|
||||
## override: `TR_MOVEMENT=tfil`.
|
||||
## tfil_ring — the new RANGE-WEIGHTED mover (movements/the_floor_is_lava_ring).
|
||||
## UNPROVEN: it must never become the default silently.
|
||||
let MovementName* = getEnv("TR_MOVEMENT", "tfil").strip().toLowerAscii()
|
||||
let MovementName* = getEnv("TR_MOVEMENT", "strafe").strip().toLowerAscii()
|
||||
## Per-process output paths so concurrent A/B runs do not clobber each other.
|
||||
let GunStatsPath = getEnv("GUN_STATS_PATH", "/tmp/gun_stats.jsonl")
|
||||
let ShotLogPath = getEnv("GUN_SHOTLOG_PATH", "/tmp/shot_log.jsonl")
|
||||
|
||||
Reference in New Issue
Block a user