- Proximity radar with canvas-based RSSI rings, sweep animation,
and detection blips positioned by haversine bearing (GPS) or
MAC hash (fallback)
- Three switchable themes (Purple/Tactical/Ithildin) with
localStorage persistence
- Subtle grid overlay, card gradients, glow effects, pulsing
status indicator, detection-type left-border colors
- RSSI bar chart for at-a-glance signal strength comparison
- Randomized taglines on load
- Added device_lat/device_lon to /api/stats for bearing calc
- All CSS colors via custom properties for theme support
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Added Adafruit_NeoPixel.h and ESPAsyncWebServer.h includes that were
implicitly resolved in OUI Spy but needed explicitly in standalone build.
Added forward declarations for fyGPSIsFresh() and fyAddDetection() so the
WiFi promiscuous callback can reference them before their definitions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
ESP32 promiscuous callback parses 802.11 management frames (probe requests
+ beacons), extracts source MAC OUI, and checks against wifi_mac_prefixes[]
table. Deferred alert pattern avoids calling delay()/tone() from WiFi task.
AP dashboard continues serving at 192.168.4.1 while scanning.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
OUI Spy Unified Blue is by colonelpanichacks, not lukeswitz.
Full lineage: wgreenberg (flock-you BLE research) ->
colonelpanichacks (OUI Spy unified multi-mode firmware) -> Dantir.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>