Geo Camera

Geo.Camera is a collaborative, geo-aware camera network where every participant (user, camera, message, token) is an agent. Communication happens via WebRTC with WebDAV-style signaling, and structure emerges from agent behaviors like ICS radio channels on a wildfire.

## Agent-Based Model Ontology | Primitive | Implementation | |-----------|----------------| | **Turtle** | User, Camera, Message, Token - mobile agents with state + behavior | | **Patch** | Signal path (e.g., `/ops/air/dispatchers/`) - point samples, not cells | | **Link** | WebRTC connection, role relationship, camera ownership | | **World** | Signal topology + geographic space |

## Async Over Sync This is **not** a live video chat system. It's async voice/video messaging: - Record -> Address -> Send -> Receive -> Play - Like walkie-talkie, but store-and-forward - Works offline, syncs when connected - Solves real radio problem: can't talk while listening

## Self-Organization Models - **Ant colony**: Messages/tokens follow pheromone gradients, evaporate via TTL - **Ising model**: State alignment propagates through neighbor connections - **Benard cells**: Structure emerges from flow constraints - **Least action**: Information flows along paths of minimal resistance

## Every Agent Is a Server Each connected peer serves WebDAV over WebRTC data channel: ``` /{agentId}/ .well-known/ keys/public.jwk identity.json capabilities.json signals/ dispatchers/ ```

## Cameras in 3D Space Cameras render in viewer-3d just like drone footage: - Frustum geometry showing field of view - Video texture mapped to view cone - Position from GPS + device orientation - Time slider controls recorded vs. live

## User Story An incident management team using ICS on the Pacific Palisades Fire. Command staff and sections communicate via async voice/video messages through channels that mirror radio channels. Citizens can read PIO/public channel. External agencies link via Liaison. Cameras capture what their operators see, geo-tagged and time-synced. Users in an EOC can monitor multiple channels on multiple monitors while focusing headphone audio on one channel.