**Bead document** from Bead: Firewatch Camera Grid · [canonical source](https://redfish.acequia.io/guerin/.agents/65783732-7907-4a36-983a-3b015e75e80b/STATE.md) · discussion: Talk: Firewatch Camera Grid
> **NEW SESSION / post-compression: read [`2026-06-14/notes/10-handoff-2026-06-14.md`](2026-06-14/notes/10-handoff-2026-06-14.md) FIRST** — current handoff (note 09 = older camera-wall/adsb history). **As of:** 2026-06-14 — the **incident-viewer 3D STAC viewer** is the active thing, deployed to redfish + santafe.live (chunk `Dw0d792j` / commit `44d6487`). Camera look-through + projection + catalog-driven AIR7 track + items right-click context-menu all live; NEXT = camera-follow → adaptive billboards → editable Properties. (The 2D camera wall below is a SEPARATE, still-live app.) - **LIVE:** camera wall at `…/65783732…/app/` — 10 Sandy AlertWildfire cams as tiles, scrub-by-time off the online source (S1/S2/S3a/S3b shipped; repo in bead `repo/`, deploy `repo/deploy.sh`). - **ADS-B:** `pull-adsblol-history.{py,md}` skill (free, unfiltered adsb.lol globe_history). Sandy pull found the news camera ship **N828AP/Helinet AS350** (de-blurred FR24's N/A) + fire(1255)/military traffic (note 08). MISB sensor N42Z is NOT in ADS-B (ISR, not transmitting). - **Notes 02–09** = the design corpus (camera-wall model, active-cataloger, calibration→measure→plume pipeline, SW-cache, pose-estimation, ADS-B result, handoff). **plan-cameras-into-incident-viewer.md** = the cloud-sculpting integration (cross-bead → cbf8b027). - **Incident-viewer (cross-bead cbf8b027), shipped 2026-06-13 session "epic-3" (deployed chunk `BYwoFvin`):** - **Roster select → focus** (`6afbad4`): any catalog row (camera/perimeter/imagery/progression), not just FMV, becomes the current focus — sets `selectedTarget` (item centroid), recenters the timeline (cameras exempt), and flies the map camera to it. `H` (`focusSelected`) re-flies to the selection or rides the FMV sensor pose. - **Default Sandy framing / fit-all** (`c24b3f5`): bounding-sphere overview framing footprint + AWF cameras + AIR7 (`fitAll`). Switching to Sandy defers one auto-fit until cameras/AIR7 load (cancelled by user camera input); ⛶ topbar button + `G` key for any incident. Verified 30/30 cameras in-frame. - **This session's thread = incident-viewer EPIC-3 development** (write-target here; code in `cbf8b027`). Design seam captured in **[note 10](2026-06-13/notes/10-bind-to-type-negotiated-not-reified.md)**: data lives at qualified incident-catalog URIs (NOT the app bundle); **bind-to-type is negotiated/self-declared, not reified** (consumer — bead OR human — seeks `bind-to-type:STAC`; resource asks type-set here / binds self); **the type-set IS the bead's link-set**; and the agent model — **beads ducktype as turtles, links are `type:agent` with end1/end2 (agentscript)**, so the link-set is a polarized link-agentset and the viewer is a turtle walking it. - **Next decisions:** pull other sensor-flight days (N328SF/2025-01-09 first — but likely no ADS-B); start Phase A (cams → incident-viewer cloud-sculpting); or S3c/S4-cache. **Follow-up (corrected, was junior "move to public/"):** publish the AIR7 track (+ its same-pull siblings) as bound track resources under the incident catalog and generalize the viewer to discover tracks by binding — retire `loadAir7()`/relative-path/Sandy-`if`. See [note 10].
## (earlier) As of: 2026-06-13 (bead hatched + plan drafted) - **What:** fork of the santafe.live "Image Cache Manager" → firewatch camera catalog manager (grid ⇄ geospatial morph, temporal scrub, bound-select → STAC), Sandy AlertWildfire archive first. Pose in per-image sidecars (santafe `imagePose` ≈ ArcGIS Oriented Imagery). - **Decisions locked (Stephen):** bead-served `…/app/` · git in `repo/` · TaosEngine 3D · sidecars source-of-truth, STAC derived · Sandy first · copy-and-adapt fork · derived sidecars bead-local+offered. - **Method:** devops/epic-step — `WORK-QUEUE.md`, `log.md`, plan at `2026-06-13/artifacts/plan-firewatch-manager.md`. - **Key design:** notes 00 (sidecar rec + vision + Qs) and 01 (interface morph + reference scan + the santafe↔ArcGIS-Oriented-Imagery↔telemetry schema mapping, with the heading/pitch convention caveat). - **Mounts (read):** #wildfire-imagery-acquisition (b3461c66), #catalog (90f902e0). Birth-parent: #incident-viewer-taos-engine-app (cbf8b027). - **Next:** S1 (fork → repo/ + bead-served deploy loop) — awaiting Stephen's go on the plan. - **Sync:** root files + notes 00/01 + plan + queue synced; first MKCOL done.