Extend the swarm visualization prototype so operators and reviewers can see perimeter patrol, multi-algorithm swarming, base-pad logistics, and transit escort behavior — without running the Python simulator or k3d stack.
Deliver a browser demo at http://localhost:5173 that matches the behavioral model in 04 — Swarm sync and complements the live T1/T3 explorers.
Why
Design docs describe sync, pose broadcasts, and offload — but lack an interactive sandbox for patrol geometry and algorithm trade-offs.
Stakeholder demos need a self-contained client (no Parquet lake, no UDP mesh).
Prior 2D-only view could not show altitude, escort formation, or shader terrain for perimeter missions.
Drone hover/spin and UFO evasive jumps against peers were misleading; steering needed correction before the demo is credible.
## Goal
Extend the swarm visualization prototype so operators and reviewers can **see** perimeter patrol, multi-algorithm swarming, base-pad logistics, and transit escort behavior — without running the Python simulator or k3d stack.
Deliver a browser demo at `http://localhost:5173` that matches the behavioral model in [04 — Swarm sync](docs/04-swarm-sync.md) and complements the live T1/T3 explorers.
## Why
- Design docs describe sync, pose broadcasts, and offload — but lack an interactive sandbox for patrol geometry and algorithm trade-offs.
- Stakeholder demos need a self-contained client (no Parquet lake, no UDP mesh).
- Prior 2D-only view could not show altitude, escort formation, or shader terrain for perimeter missions.
- Drone hover/spin and UFO evasive jumps against peers were misleading; steering needed correction before the demo is credible.
## What
- **2D SVG** — links, channels, battery, mission stats, base-pad panel, swarm algorithm selector.
- **Optional 3D** (header toggle) — Three.js perimeter scene: terrain, detection beams, 4-drone escort sphere, search panel, OrbitControls camera.
- **Swarm algorithms** — perimeter, boids, APF, ACO; mycelial set: hypha, frontier, wave, mycelium.
- **Base pad lifecycle** — center spawn → deploy to perimeter slots → patrol → return → landing queue (max 2) → recharge + data offload → takeoff.
- **UFO transit** — cruise through interior; avoid/fly-over houses only (not drones); stable 2D/3D rendering.
- **Anti-stall patrol** — min speed, tangent slot tracking, deterministic bypass, no in-place spin.
## Requirements
- [x] Pure client-side sim in `prototype/`; `npm run build` passes (strict TypeScript).
- [x] Default 2D view unchanged for quick sync demo; 3D off by default.
- [x] Algorithm switch live without page reload; labels in UI match `SwarmAlgorithm` ids.
- [x] 24-drone fleet with escorts, houses, transit craft; base pad state visible in UI.
- [x] No backend dependency; README documents run steps and what to observe.
- [ ] CI verify job green on PR (simulator gate unaffected; checkout must resolve PR head SHA).
## Out of scope
- Wiring prototype to live T1 WebSocket or real Parquet.
- New ADR unless a platform boundary changes.
- `prototype-3d/` deprecated tree; all work lives under `prototype/`.
## Tracking
Implementation: PR #4 (`feat/prototype-swarm-patrol` → `main`).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Goal
Extend the swarm visualization prototype so operators and reviewers can see perimeter patrol, multi-algorithm swarming, base-pad logistics, and transit escort behavior — without running the Python simulator or k3d stack.
Deliver a browser demo at
http://localhost:5173that matches the behavioral model in 04 — Swarm sync and complements the live T1/T3 explorers.Why
What
Requirements
prototype/;npm run buildpasses (strict TypeScript).SwarmAlgorithmids.Out of scope
prototype-3d/deprecated tree; all work lives underprototype/.Tracking
Implementation: PR #4 (
feat/prototype-swarm-patrol→main).eSlider referenced this issue2026-07-12 12:54:01 +01:00