# ───────────────────────────────────────────────────────────────────────────── # arms_movement_b4.txt — BATCH 4 of the movement campaign: the HEAT FIELD # STRENGTH (how strongly the strafe picker treats danger). # # Prior data (docs/movement_campaign.md §3–§5, MEASURED): the strafe win is a # SURVIVAL effect (incoming hit rate 12.1–12.5% vs 17.6–18.2%, ~50 less damage # taken/run, no detectable damage cost). The open question is whether that # survival comes from HOW the field ranks danger — strafe runs a RETUNE of the # shipped field: bullet core/aura 20/10 (core ABOVE the 10px path threshold), # corridor 10 (== threshold), wall 15/5 (outer ring only), pillar off. The # shipped field was corridor 20 (twice threshold), wall 30/10. # # REFERENCE is `strafe` (current defaults) — every delta is (arm − strafe). # `tfil` is kept as the shipped control. # # Every knob below is ALREADY env-overridable in strafe.nim (Task A made the # OTHER mover's — the shipped tfil field's — consts env-overridable; strafe's # were already knobs). One arm per knob family. # # Format: name | ENV=value ENV=value | label # ───────────────────────────────────────────────────────────────────────────── # 1. the reference: current strafe retune (bullet 20/10, corridor 10, wall 15/5) strafe | TR_MOVEMENT=strafe | reference — current strafe heat retune # 2. the shipped control (no env). tfil | | shipped control (movement engine tfil, every knob at default) # 3. BULLET STRONG: the bullet itself much more dangerous (core 30 > the 25 # danger-replan threshold; aura 15). Isolates the bullet retune. bullet_strong | TR_MOVEMENT=strafe TR_STRAFE_BULLET_CORE=30 TR_STRAFE_BULLET_AURA=15 | stronger bullet core/aura (30/15) # 4. FIELD STRONG: the SHIPPED corridor/wall shape (corridor 20 = 2x the path # threshold, wall 30/10 = a 3-tile wall apron). Isolates the corridor+wall # retune that strafe deliberately weakened. field_strong | TR_MOVEMENT=strafe TR_STRAFE_CORRIDOR_HEAT=20 TR_STRAFE_WALL_HOTNESS=30 TR_STRAFE_WALL_RADIANCE=10 | shipped TFIL corridor/wall shape (20, 30/10) # 5. FIELD OFF: no corridor and no wall heat at all (wall hotness 0 — do NOT # set radiance 0, that paints a FLAT field). Does the wall logic help or # merely occupy decisions? field_off | TR_MOVEMENT=strafe TR_STRAFE_CORRIDOR_HEAT=0 TR_STRAFE_WALL_HOTNESS=0 | no corridors, no wall heat # 6. WALL TIGHT: the curved-wing geometry family — bend sooner (margin 108->54), # prefer the interior harder (bias 0.35->0.7), curve twice as hard # (kappa 0.0025->0.005) and allow a larger wing tilt (30->45 deg). wall_tight | TR_MOVEMENT=strafe TR_STRAFE_WALL_MARGIN=54 TR_STRAFE_WALL_BIAS=0.7 TR_STRAFE_KAPPA=0.005 TR_STRAFE_WING_MAX=45 | tighter/faster wall wings + escape