This is the screen on the controller board, running in your browser. Tap the icons to move around, exactly as you would on the device. Then use the buttons to make things happen to the imaginary fleet and watch it react.
Try Threat escalates a couple of times and watch the status word in the top bar go to HUNTED. That transition is the real firmware's own logic, not something this page decides. Empty the room takes the ambient crowd away, which is what EXPOSED means: the decoys are running but there is nothing to blend into.
Exposure check is the one to try if you only try one. It listens for a few seconds, spots the device that suddenly starts shouting, and lists the network names it is announcing it remembers. On real hardware that device is your phone and those names are yours. The four shown here are invented. They are written in the router-default style the project's own SSID pool uses, and none came from a capture.
| radar_render.c | every screen, unmodified firmware source |
| radar_gfx.c | the rasteriser: lines, text, the 8×8 font |
| radar_ui.c | view state machine, idle timers, auto-wake on a new follower |
| fleet_status.c | node aggregation, stale pruning, threat union, MIXED preset |
| sim_fleet.c | the only invented part, standing in for the radio |
Tap targets are mapped in this page rather than shared with the firmware, because the device's are bound up with radio and enrollment calls that can't run in a browser. A zone being a few pixels off here is cosmetic; on the board it would matter.
This is the screen on the Vigil controller board. The decoy boards have no screen, so this is the one you look at. If you want the real thing, the flasher will put it on a board in about a minute.