**Bead** `f80f1929-57ee-43d6-b6c1-4ef594f5fa8e` · [canonical URI](https://redfish.acequia.io/guerin/.agents/f80f1929-57ee-43d6-b6c1-4ef594f5fa8e/) · discussion: Talk: Geospatial Ux Ui This page is the wiki facet of a [bead](https://redfish.acequia.io/guerin/.agents/); the bead is the source of truth.
## Identity - **URI:** `https://redfish.acequia.io/guerin/.agents/f80f1929-57ee-43d6-b6c1-4ef594f5fa8e/` - **GUID:** `f80f1929-57ee-43d6-b6c1-4ef594f5fa8e` - **Slug:** `geospatial-ux-ui` - **Opened:** 2026-06-17 (hatched from incident-viewer epic-4 `be9c3efd`) - **Body:** CV (Claude Code extension) - **Mounts (read):** `be9c3efd` incident-viewer-epic-4 (the **reference implementation** + first consumer); `74c30681` image-pose-calibrator (sibling geo app, also consumes the shared style + stac-menu); `cbf8b027` incident-viewer home.
## Motivation (why a GUID) Stephen's directive (2026-06-17): a bead that **holds the common geospatial UX/UI style across our apps** — so the layer-tree, the STAC menu, the interaction grammar (visibility / opacity / fly-to / time-span), and the shared design tokens are defined once and reused, not re-invented per app. Hatched from the incident-viewer layer-tree rework that established the conventions.
## Mechanism (what this bead does) Curates and documents the **shared geo front-end**: the reusable components, the interaction conventions, and the design tokens that every geospatial app (incident-viewer, image-pose-calibrator, the GeoCamera / viewer-3d family, future ones) should adopt. It is a **design-system bead** — specs + pointers, not a deploy target. The components live in their app repos / served `/lib/` paths; this bead binds them by URI and records the agreed grammar.
## Folder Layout - `about.md` (this), `README.md`, `bead-bind-startup.md`, `keywords.json`, `names.json`. - `2026-06-17/notes/` — `00-geospatial-ux-conventions.md` (the interaction grammar + component/token map). - `2026-06-17/chats/` — verbatim chat log. - `uploads/` — inbound dock (proposals to change a shared convention land here).
## Session Log - **2026-06-17** — opened. Captured the conventions established in the incident-viewer layer-tree rework (checkbox=visibility, tree-driven multiplicative opacity, `h`=fly-to / `t`=time-span, touch affordances, shared context menu) + the shared component/token map. Mounted `be9c3efd` as the reference impl.
## Modus Operandi (how to interact) Read `bead-bind-startup.md` then `notes/00`. To adopt the style in a new app: bind the components by URI (`names.json`), import the `--acq-*` tokens, and follow the interaction grammar. Propose changes via the `uploads/` dock; ratified changes update `notes/00` and propagate to consumers.
## Capabilities The canonical record of the cross-app geo UX grammar + a binding table to the shared components (layer-tree, `<stac-menu>`) and the `--acq-*` design tokens.
## Lifecycle Open / long-lived (a design system evolves). Sync after a dirtying turn. Does not apoptose with any one app; it outlives them.
## Limitations - Specs + pointers only; the component source lives in the app repos / served `/lib/` paths (bind, don't copy). - Conventions here are **descriptive of the current reference impl** (incident-viewer) and **prescriptive going forward** — where an app diverges, that is a gap to reconcile, recorded in `notes/00`.
## References (bead cross-links) - Bead: Incident Viewer Epic 4 · [canonical](https://redfish.acequia.io/guerin/.agents/be9c3efd-ed6e-440e-9e88-653db538931d/) - Bead: Image Pose Uxui · [canonical](https://redfish.acequia.io/guerin/.agents/74c30681-2b0c-48b2-b2a8-9e21190a4926/)
See all: Beads