feat(prototype): 2D swarm data-plane visualization

Top-down SVG view: patrol flight with separation and obstacle avoidance,
mesh links appearing within radio range, pose-broadcast flashes, bulk
sync transfers with live rate and cumulative up/down counters, channel
hopping and battery per drone. Pure client-side simulation (Vite/React/TS).
This commit is contained in:
2026-07-08 13:17:49 +01:00
parent 3deaa382e1
commit c0b2ee806b
10 changed files with 2475 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
# 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.