**Bead** `cbf8b027-e80c-4b9f-8eb3-91d40af072d5` · [canonical URI](https://redfish.acequia.io/guerin/.agents/cbf8b027-e80c-4b9f-8eb3-91d40af072d5/) · discussion: Talk: Incident Viewer Taos Engine App This page is the wiki facet of a [bead](https://redfish.acequia.io/guerin/.agents/); the bead is the source of truth.
> The **app-build** bead where the incident-viewer (TaosEngine) app is developed by fusing two upstream workshops: the **viewer/render** side (`taos-engine`) and the **catalog/index** side (`cataloging-incident`). Born as the write target (`-c`) of a `bead-mount` union over those two beads, per the proposed [bead-mount](https://redfish.acequia.io/guerin/.agents/975f5db5-905e-42c4-8ec6-f3911a691374/2026-06-11/skills/bead-mount.md) protocol.
## Identity - **URI:** https://redfish.acequia.io/guerin/.agents/cbf8b027-e80c-4b9f-8eb3-91d40af072d5/ - **Local origin:** `sites/redfish.acequia.io/guerin/.agents/cbf8b027-e80c-4b9f-8eb3-91d40af072d5/` - **GUID:** `cbf8b027-e80c-4b9f-8eb3-91d40af072d5` - **Created:** 2026-06-11 - **Currently animated by:** Claude (CE / Claude Code extension — bead scribe with WebDAV write authority) - **Invoked by:** Stephen (Stephen@redfish.com)
## Motivation (Why a GUID) The MISB/incident viewer thread (the [`taos-engine`](https://redfish.acequia.io/guerin/.agents/c66cbd1d-453c-41f8-8440-179502f25de4/about.md) bead) ported the MISB FMV viewer onto Brendan Duncan's TaosEngine and extracted it into its own repo (`Documents/src/incident-viewer/`, deployed at `apps/incident-viewer/`). In parallel, the [`cataloging-incident`](https://redfish.acequia.io/guerin/.agents/97559992-a73c-47f6-89a6-6565e0c164f3/about.md) bead worked out how to turn a bag of raw airborne fire-mapping products into a normalized, citable `catalog.json`. Those are the **consumer** and **producer** halves of one incident pipeline. This bead exists to **develop the app that joins them** — to grow `incident-viewer` from a single-MISB-clip viewer into a catalog-driven incident viewer (a `catalog.json` record's geometry + time + product URI driving a projector/layer in the TaosEngine scene). It is the *app workshop*; the two upstream beads stay read-only sources of concepts and history, and this bead is where the fused work persists.
## Mechanism (What this bead does) - Is the **write target** of the session union: `taos-engine` (`-a`, read) + `cataloging-incident` (`-a`, read) + this bead (`-ac`, read + create). New notes/skills/artifacts from the fused session land here, in the matching kind-folder. - **Holds the app-build notes** (`2026-06-11/notes/`) — design and decisions for the catalog→viewer binding and any further `incident-viewer` work. - **Holds the verbatim chat** (`2026-06-11/chats/`) as the path of light. - It does **not** own the upstream material: the `incident-viewer` repo lives at `Documents/src/incident-viewer/` and the TaosEngine clone at `Documents/src/taos-engine/` (sibling dependency, pinned `7ed597e`, kept pristine); the catalog model lives in `#97559992`. Those are referenced by URI/path, not copied in.
## Folder Layout ``` cbf8b027-e80c-4b9f-8eb3-91d40af072d5/ ├── about.md # this file (descriptive self) ├── agent.md # operative self ├── agent.json # machine twin (A2A card) ├── keywords.json # index surface ├── names.json # local namespace (the two mounted beads + repos) ├── uploads/ │ └── README.md # inbound dock └── 2026-06-11/ ├── chats/ # verbatim session log ├── notes/ # app-build working concepts ├── skills/ # reusable capabilities (as they emerge) └── artifacts/ # polished deliverables / generated files ```
## Session Log - **2026-06-11** — Bead opened as the `-c` write target of a `bead-mount` union. Pre-bead context (this chat): `bead-mount taos-engine` then `bead-mount incident-cataloging` composed the two upstream workshops into `/ctx` read-only; Stephen then directed `start-bead … incident-viewer-taos-engine-app` to construct this bead while keeping both mounts. Mount table captured in [notes/00-session-mount-table.md](https://redfish.acequia.io/guerin/.agents/cbf8b027-e80c-4b9f-8eb3-91d40af072d5/2026-06-11/notes/00-session-mount-table.md). - **2026-06-11 (cont.)** — Synced this bead + `#taos-engine` to the network. **Hosting decisions** ([notes/01](2026-06-11/notes/01-taos-hosting-and-token-percolation.md)): engine to be shared-hosted at `redfish.acequia.io/taos`; token-percolation PR scoped. **Token** ([notes/02](2026-06-11/notes/02-taos-service-worker-and-token.md)): Stephen minted read-only `/taos/*` token (id `lhwk2ev8u8khycd17a1njrk7` — durable handle, server-side JWT rotates invisibly); stored at `.credentials/redfish-acequia-io-taos-token.json`. **Built + deployed:** orbit/pan/dolly camera (Space/Shift vertical removed), SW ambient `?token=` auth, app rewired to import the hosted engine via import map (`external`, app chunk 1.19 MB → 21.9 KB) — repo `incident-viewer` commits `93f9ee1` + `f42c9a9` on `master`; live + CDP-verified anonymously at `apps/incident-viewer/`. **Palisades survey:** primary archive = `guerin.acequia.io/incidents/2025Palisades/` (563 MB, 119 files; FMV/perimeters/IR-HS/GIS/splat/tracks). **Design reviews:** incidents/catalogs/tabs UI ([notes/03](2026-06-11/notes/03-incidents-catalogs-ui-organization.md), corrected to the STAC-duck-typing frame of `#catalog` 90f902e0); AnyHazard critique beads (#31bd5380, #9e1d87f5) applied to the catalog manager ([notes/04](2026-06-11/notes/04-anyhazard-beads-inform-catalog-manager.md)). Union grew to 6 mounts (added `#incident-cataloging`, `#catalog`, the critique pair). **Hatched** [`#pose-ux-ui` (edb06426)](https://redfish.acequia.io/guerin/.agents/edb06426-e7b9-4df1-aca5-64b385ba0d02/about.md) — manual pose-setting UX (santafe.live 2D place/heading/timeline → 3D snapshot-view-as-pose + campanile uv↔geopoint TABS).
## Modus Operandi (How to interact) - `#incident-viewer-taos-engine-app` to read this bead; `@incident-viewer-taos-engine-app` (PUT into `uploads/`) to message it. - **Read order:** this `about.md` → `notes/00-session-mount-table.md` → the two mounted beads' `about.md` (their session logs are the upstream history) → `chats/` when a note and the chat disagree (the chat wins). - Reads fuse across the union (taos-engine + cataloging-incident + this bead); **writes land here** (this is the create target). - **Cross-bead references** use absolute `https://` URIs. - App code lives in the git repo `Documents/src/incident-viewer/`, not in this bead — the bead holds design notes, decisions, and the chat. Keep the TaosEngine clone pristine.
## Capabilities - Carries the **catalog → viewer binding** design as it develops (how a `catalog.json` product record drives a TaosEngine projector/layer). - Is the durable home for `incident-viewer` app-build decisions downstream of both the render workshop and the catalog workshop.
## Lifecycle - **Energization:** charged while the incident-viewer app is under active development and the two upstream beads are mounted; an inbound reference from the `incident-viewer` repo or a deploy keeps it alive. - **Apoptosis:** if the app stabilizes and its decisions are absorbed into the repo's own docs, this workshop may fade to a citation. Flush durable state (notes, chat) before any session close — necrosis = leaving the thread uncaptured.
## Limitations - **App workshop, not the app.** The running code is the `incident-viewer` repo; this bead is design/decisions/chat. Do not vendor the repo in here. - The catalog→viewer binding is **proposed**, not yet built — the union is set up to develop it, not a record that it exists.
## Related beads - Render/viewer side: [`taos-engine` (#c66cbd1d)](https://redfish.acequia.io/guerin/.agents/c66cbd1d-453c-41f8-8440-179502f25de4/about.md) — the MISB→TaosEngine port and the `incident-viewer` repo extraction. - Catalog/index side: [`cataloging-incident` (#97559992)](https://redfish.acequia.io/guerin/.agents/97559992-a73c-47f6-89a6-6565e0c164f3/about.md) — the incident → mission → product catalog model. - Mount protocol: [`plan9-beads` (#975f5db5)](https://redfish.acequia.io/guerin/.agents/975f5db5-905e-42c4-8ec6-f3911a691374/about.md) — `bead-mount` / the session namespace this bead is the `-c` target of. - Downstream / deploy collision: [`set-time-space` (#09fd1bf6)](https://redfish.acequia.io/guerin/.agents/09fd1bf6-fbb1-451c-83c1-19e5f8c8220b/about.md) — recovered the "set space time" app whose `santafe.live/` root `index.html` was overwritten by this bead's Epic-2 deploy; restored it to `santafe.live/set-space-time/` and refreshed its pose data. See dock note `uploads/2026-06-16-santafe-root-indexhtml-recovered-from-set-time-space.md`. - Bead protocol: [`.agents/beads.md`](https://redfish.acequia.io/guerin/.agents/beads.md).
## References (bead cross-links) - Bead: Plan9 Beads · [canonical](https://redfish.acequia.io/guerin/.agents/975f5db5-905e-42c4-8ec6-f3911a691374/) - Bead: Taos Engine · [canonical](https://redfish.acequia.io/guerin/.agents/c66cbd1d-453c-41f8-8440-179502f25de4/) - Bead: Cataloging Incident · [canonical](https://redfish.acequia.io/guerin/.agents/97559992-a73c-47f6-89a6-6565e0c164f3/) - Bead: Pose Ux Ui · [canonical](https://redfish.acequia.io/guerin/.agents/edb06426-e7b9-4df1-aca5-64b385ba0d02/) - Bead: Set Time Space · [canonical](https://redfish.acequia.io/guerin/.agents/09fd1bf6-fbb1-451c-83c1-19e5f8c8220b/) - Bead: Catalog · [canonical](https://redfish.acequia.io/guerin/.agents/90f902e0-2e45-4aa1-b998-918ca3688e94/) - Bead: Incident Cataloging · [canonical](https://redfish.acequia.io/guerin/.agents/c38c1239-bfd3-44dd-8d97-1a0aa39ac8da/)
See all: Beads