Tracker extraction: VBulletTracker becomes VBulletEnvironment #121

Closed
opened 2026-08-29 19:04:08 +02:00 by SirStone · 1 comment
Owner

What to build

Rename VBulletTracker to VBulletEnvironment, move it out of the Gun module into its own type, and make tickGA take it as an explicit parameter. This is a pure refactor with no behavior change.

The virtual bullet tracker is a physics simulation module that currently lives inside Gun. It should be its own type so that: (1) Gun can be tested in isolation, (2) bullet simulation can be swapped without modifying Gun, and (3) the module boundary is explicit.

Acceptance criteria

  • Type VBulletTracker renamed to VBulletEnvironment
  • VBulletEnvironment type definition is extracted to its own section
  • tickGA signature changes to take env: var VBulletEnvironment as explicit parameter
  • All call sites updated to pass the tracker
  • No behavior change: same hit detection, same resolution, same fitness
  • Existing when isMainModule self-checks still pass

Blocked by

None - can start immediately

Parent

Closes part of #118

## What to build Rename VBulletTracker to VBulletEnvironment, move it out of the Gun module into its own type, and make tickGA take it as an explicit parameter. This is a pure refactor with no behavior change. The virtual bullet tracker is a physics simulation module that currently lives inside Gun. It should be its own type so that: (1) Gun can be tested in isolation, (2) bullet simulation can be swapped without modifying Gun, and (3) the module boundary is explicit. ## Acceptance criteria - Type VBulletTracker renamed to VBulletEnvironment - VBulletEnvironment type definition is extracted to its own section - tickGA signature changes to take env: var VBulletEnvironment as explicit parameter - All call sites updated to pass the tracker - No behavior change: same hit detection, same resolution, same fitness - Existing when isMainModule self-checks still pass ## Blocked by None - can start immediately ## Parent Closes part of #118
SirStone added the ready-for-agent label 2026-08-29 19:05:49 +02:00
Author
Owner

Implemented in commit a730a9e

Summary: Renamed VBulletTracker to VBulletEnvironment and extracted it as an explicit module boundary. Updated tickGA signature to accept env: var VBulletEnvironment parameter. Gun module now decoupled from bullet simulation logic.

Files:

  • vapourbot_garage/src/vapourbot/gun.nim - Type rename, tickGA signature, all call sites updated
Implemented in commit a730a9e **Summary:** Renamed VBulletTracker to VBulletEnvironment and extracted it as an explicit module boundary. Updated tickGA signature to accept env: var VBulletEnvironment parameter. Gun module now decoupled from bullet simulation logic. **Files:** - `vapourbot_garage/src/vapourbot/gun.nim` - Type rename, tickGA signature, all call sites updated
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: SirStone/SirRoboGarage#121