# Swarm visualization prototype

A 2D top-down view of the swarm data plane from [04 — Swarm sync](../docs/04-swarm-sync.md): drones patrol an area with static and mobile obstacles, exchange 5 Hz pose broadcasts (blue link flashes), and run opportunistic bulk sync of sealed partitions (green links with live rate and cumulative up/down counters).

No backend — a pure client-side simulation of the same behavioral model the Python simulator implements over real Parquet and UDP.

## Run

```bash
npm install
npm run dev     # http://localhost:5173
```

## What to look at

- **Links appear and disappear** as drones move in and out of radio range; persistent links render semi-transparent, broadcast deliveries flash them briefly.
- **Busy links turn green** and show current rate plus total transferred (`↑` / `↓`) — the bandwidth budget from the sync design made visible.
- **Per-drone label**: id, current Wi-Fi channel (hopping), battery.
- Controls: drone count, simulation speed, pause.
