Geo Camera Architecture

The Geo.Camera architecture is built on agent-based modeling principles where every component is an autonomous agent with state and behavior.

## Patches Are Point Samples Alvy Ray Smith reminds us: a pixel isn't a little square. Neither is a patch. Think **Gaussian splats**: - Agent presence is **weighted** across nearby patches - State is **interpolated**, not discrete - Diffusion follows the **heat equation** - Routing uses **convolution** with influence kernels

## GIS Extension Pattern Datasets are **continuous fields** that agents **sample**: ``` /signals/{incident}/ datasets/ fire-perimeter.geojson # Vector field thermal.tif # Raster field wind-field.json # Vector field (u,v) ``` Agents query: - `sample("thermal")` -> value at position - `gradient("thermal")` -> direction of steepest ascent

## #dualAnt (Wheeler-Feynman Applied) Bidirectional causality: the "answer" (destination) shapes the "offer" (origin). Signaling uses radio protocol: `{to}--{from}.json` - "called station, calling station."

## Anti-Patterns to Avoid 1. **Don't hard-code ICS structure** - Let it emerge from agent behaviors 2. **Don't treat patches as grid cells** - They're point samples with influence kernels 3. **Don't build live streaming first** - Async messaging is the core use case 4. **Don't centralize state** - Every agent maintains and diffuses local state 5. **Don't skip the ABM framing** - It's not decoration, it constrains design 6. **Don't ignore TTL/evaporation** - Stale data must decay like pheromones