Implement virtual guns selector #104

Open
opened 2026-08-28 22:03:12 +02:00 by SirStone · 0 comments
Owner

Parent

#99

What to build

part-of: #99

Create a virtual guns selector using angle-delta tracking. Each gun reports its aimed angle every tick. After bullet travel time, compare predicted angle to actual enemy position. Track rolling mean angular error per gun. Before 10 observations, default to GF_Gun. After 10, lowest mean angle-delta wins.

Acceptance criteria

  • registerGun(name) registers a gun for tracking
  • recordAim(name, angle, tick) records a gun's predicted angle
  • recordOutcome(enemyAngle, tick) resolves predictions and updates accuracy
  • bestGun() returns GF_Gun when fewer than 10 observations exist
  • bestGun() returns the gun with lowest mean angle-delta after 10+ observations
  • Self-check: feed mock observations where one gun is consistently better, assert selector picks it after threshold

Blocked by

None — can start immediately.

## Parent #99 ## What to build part-of: #99 Create a virtual guns selector using angle-delta tracking. Each gun reports its aimed angle every tick. After bullet travel time, compare predicted angle to actual enemy position. Track rolling mean angular error per gun. Before 10 observations, default to GF_Gun. After 10, lowest mean angle-delta wins. ## Acceptance criteria - [ ] `registerGun(name)` registers a gun for tracking - [ ] `recordAim(name, angle, tick)` records a gun's predicted angle - [ ] `recordOutcome(enemyAngle, tick)` resolves predictions and updates accuracy - [ ] `bestGun()` returns GF_Gun when fewer than 10 observations exist - [ ] `bestGun()` returns the gun with lowest mean angle-delta after 10+ observations - [ ] Self-check: feed mock observations where one gun is consistently better, assert selector picks it after threshold ## Blocked by None — can start immediately.
SirStone added the wayfinder:task label 2026-08-28 22:03:12 +02:00
SirStone added the ready-for-agent label 2026-08-28 22:15:07 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SirStone/SirRoboGarage#104