T5: Add radar harness + wrap radar_lock #183
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parent
#165 (ModularBot wayfinder map)
What to build
Radar trait and harness, plus adapter for existing radar_lock:
common_libs/radar_harness/):RadarModuleconcept withcomputeScan(state) → float(radar turn rate). Harness calls every tick, applies turn.common_libs/radars/radar_lock_module.nim): Thin wrapper around existingcommon_libs/radar_lock. AdaptsdoRadar()into RadarModule interface.Wire into ModularBot, replacing direct radar_lock call.
Acceptance criteria
Blocked by
#179 (T1)
Implemented and compiles clean.
Files created:
common_libs/radar_harness/radar_interface.nim—RadarModuleconcept withcomputeScan(module, state: WorldState): float; re-exportsWorldStatefrom gun_interfacecommon_libs/radars/radar_lock_module.nim—RadarLockModuleadapter wrappingradar_lock.doRadar(); derivesenemyBearingfrom WorldState coords; exposesinit()Files modified:
common_libs/gun_harness/gun_interface.nim— addedselfRadarHeading: floattoWorldState(needed by radar adapter)ModularBot_garage/src/ModularBot.nim— replacedradar_lockdirect import withradar_harness/radar_interface+radars/radar_lock_module; addedradar: RadarLockModulefield;buildStatepopulatesselfRadarHeadingviagetRadarDirection();onRoundStartedcallsbot.radar.init();runcallsbot.radar.computeScan(bot.lastState)Build:
nimble buildpasses.