# signalreach UI Dev Intent (Web / ATAK Thin Client)

## Purpose
Build a UI that outputs a valid Mission JSON and runs signalreach (CLI or API later).
The UI should NOT re-implement RF math. It should collect inputs and render outputs.

## Contract
- The Mission JSON schema is canonical (auto-generated from the codebase).
- UI should validate input JSON against the schema and show defaults.

## UI Responsibilities
- Input:
  - AOI import (KML/KMZ upload) OR polygon draw (future)
  - Base camp / anchors (points)
  - Must-cover zones (points + polygons)
  - Inventory/assets (counts + capability profiles)
  - Protocol selection (access/backhaul identifiers)
  - Demand grid resolution (spacing_m)
- Output:
  - Display generated KML layers and PNG overlay
  - Show the deployment plan table and backhaul link summary

## UX rules
- One label layer: recommendation only
- Overlay should never "NetworkLink" other KMLs (avoid duplicate labels)
- Backhaul should be lines-only

## What to ship to UI dev instance
- mission.schema.json (generated)
- mission_vars.md (generated)
- example missions (usar scenario, basic demo)
- sample outputs (coverage.png + the 3 KMLs from latest run)
