# Firing range handling pass - 2026-10-30

The installed Modern Warfare 4 firing range was tested with a Han 86 and used for a bounded visual comparison. DGs remains an original browser shotgun game. Exact COD tuning and full movement equivalence are not established.

## Evidence and limits
- Installed Steam build 26183560; executable SHA-256 2da25084c6b3d59ac671bd7be978f04bff08ee56c3266e60e01e3b6fda3f23c9.
- Native mouse shots verified by ammo 30 -> 29 -> 28. A recorded isolated hip shot is visible at approximately 50.5 seconds, with weapon kick followed by settling. This supports recoverable presentation, not a measured recoil constant.
- Local Game Bar capture: 235.83 seconds, 2560x1072, nominal 60 fps. Recording was stopped and saved. The 50.35-51.55 second source window contains 34 decoded samples, timestamp gaps 33.333-50 ms. One repeated downscaled frame hash occurs in the extracted window. Do not treat encoder rate as 60 unique samples/second.
- R and RMB input attempts did not establish a visible completed reference reload or sustained ADS. Held native inputs are unavailable in the Windows control interface. Sprint, physical input latency, exact ADS time and COD damage were not measured. Reference weapon differs from DGs pump shotgun.
- REA/Ghidra native imports timed out in the previous investigation. No decompiled COD behavior or game assets were imported.

## Delivered changes
Camera recoil is now a temporary offset separate from mouse aim. It returns to the current mouse-controlled direction after a shot, including if the player moves their aim during recovery. Repeated shots no longer leave permanent upward drift. Co-op transmits the actual visible trigger-edge pitch before starting the new impulse; solo updates the camera matrix before raycasting.

Aiming blends the real survivor mesh arms and shotgun into a central sight position, reduces movement bob, slows movement and adjusts angular look sensitivity with the current field of view. Reloading lowers the aim blend. Restart and co-op spawn clear aim and recoil; pause releases the aim input.

| DGs parameter | Value | Grade |
| --- | --- | --- |
| Hip / aim FOV | 70 / 55 degrees | Existing authored targets |
| Camera kick hip / aim | .032 / .022 radians | Original authored shotgun tuning |
| Kick peak / full recovery | .025 / .42 seconds | Original authored curve |
| Aim interpolation | exponential rate 14/sec | Original authored transition |
| Aimed move speed | 2.1 m/sec | Original authored tuning |
| Aim look scale | tan(current FOV/2) / tan(70/2) | Projection-based consistency |

Shotgun magazine, cadence, spread, pellet damage, shell timing, zombie responses and authoritative server rules are preserved.

## Verification
- 41 Node combat, networking and handling tests pass, including recoil recovery through 12 shots at 30/60/144 Hz, movement/zoom transitions and pitch bounds.
- 51 actual browser scene checks pass, including all four imported zombie rigs, visible kick recovery, real survivor arms and central aim pose.
- 13 HTTP checks pass for four independent co-op sessions and authoritative fire/reload.
- Actual browser click changed ammo 6 -> 5; R displayed loading and completed at 6 / 71 reserve. Automated play did not establish a human survival clear.
- Aimed screenshot is a frozen developer inspection view (?qa=1&view=aim), not a claimed human gameplay capture.

Reference capture stays local under Videos/Captures. Derived investigation files are in work/rea-tools. The deployed review contains the DGs screenshot and tests, without proprietary binaries or extracted game code.
