# nm-land — Mount Cristo Rey negotiation data room

**Live:** [https://redfish.acequia.io/guerin/apps/nm-land/](https://redfish.acequia.io/guerin/apps/nm-land/) · v0.7.0 · 2026-07-19
**Stories:** [stories/](https://redfish.acequia.io/guerin/apps/nm-land/stories/) — "One Mountain, Three Voices," the campaign narratives (Church / State / People) as an audience-adaptive page; DRAFT ribbon until ratified
**Paths:** [stories/paths/](https://redfish.acequia.io/guerin/apps/nm-land/stories/paths/) — the narratives walked as scroll-synced story-maps over the data room (steps fly the map, toggle layers, cite STAC exhibits)
**3D viewshed:** [viewshed/](https://redfish.acequia.io/guerin/apps/nm-land/viewshed/) — taos-engine realtime line-of-sight from the cross (360° tower study / "Jesus' view" sector), stylized 3D monument, Google Photorealistic 3D Tiles option

A Leaflet map of the **Mount Cristo Rey cross** (Sunland Park, Doña Ana County, NM — near Las Cruces, on the US–Mexico border) with a **STAC-driven layer panel** in the [incident-viewer](https://redfish.acequia.io/guerin/.agents/cbf8b027-e80c-4b9f-8eb3-91d40af072d5/) grammar. Built for **state agencies negotiating land with the federal government**: the STAC catalog is a **virtual data room** — collections are shelves, items are citable exhibits.

The live case: the Diocese acquired the ~200-acre monument tract **from the New Mexico Public Land Office**; in **2026 the federal government filed an eminent domain claim** related to border-barrier construction. The data room holds the site features, the jurisdiction reference layers, and the tenure/negotiation document trail.

## Use

- Open the app; the left panel is the data room. Check/uncheck layers, drag to reorder, per-layer opacity, `⌖` fly-to, `◴` reserved for time-span (phase 2).
- **Base maps** (radio): OpenStreetMap, Esri World Imagery, USGS Imagery, USGS Topo, OpenTopoMap.
- Click any exhibit on the map → its card: status chip, description, source links, and a **cite (STAC item)** permalink.
- `?stac=<catalog.json URL>[,url2]` mounts other data rooms (same seam as incident-viewer); `#map=z/lat/lng` deep-links the view.

## Governance model (the data-room rules)

1. **Every exhibit is a URI.** Layers resolve to GET-able STAC items — citable in a negotiation record, mountable by any party's own tools. No copies inside the app.
2. **Explicit access floors.** This catalog is the PUBLIC floor (`.acequia-access.json`: anonymous read). The privileged floor is LIVE (v0.3.0): the documents shelf sits behind `read: "authenticated"` at `/guerin/vdr/cristo-rey/` — team via domain, externals via scoped revocable mints (model + procedure: [virtual-data-room bead `1ad64f67`](https://redfish.acequia.io/guerin/.agents/1ad64f67-7582-4ce2-aaec-c0adee2881f3/)) — never mixed into the public tree.
3. **Approximate is labeled.** Geometry carries `nmland:status` (`approximate` / `verified` / `secondary-source` / `authoritative-external`). Unverified geometry renders dashed and never poses as a legal boundary.
4. **Provenance is add-only.** Documents are superseded by adding items, never edited in place (bead `uploads/` discipline applied to the document shelf).
5. **Audit trail.** Git history in this repo + the design bead's chat log are the chain of custody for the data room itself.

## Files

- `index.html` / `app.js` — the app (STAC walk → layer tree → Leaflet binding).
- `lib/layer-tree.js` — layer panel, vendored from incident-viewer (fonts raised to the accessibility floor).
- `stac/catalog.json` — public-floor root → `cristo-rey/` (shelves: `site/`, `jurisdiction/`). The **documents shelf is token-controlled** at [/guerin/vdr/cristo-rey/](https://redfish.acequia.io/guerin/vdr/cristo-rey/) — redfish team auto-in via domain login; externals via minted tokens (`?token=<jwt>`); the app unions it in automatically and shows a VDR locked/unlocked badge.
- `STATE.md`, `log.md`, `decisions.md` — devops file-state machine (public: the audit face).

## Data sources & licenses

- Basemaps: [OpenStreetMap](https://www.openstreetmap.org/copyright) (ODbL), [Esri World Imagery](https://www.esri.com/) (Esri terms), [USGS The National Map](https://basemap.nationalmap.gov/) (public domain), [OpenTopoMap](https://opentopomap.org/) (CC-BY-SA).
- Jurisdiction: [BLM Surface Management Agency + PLSS CadNSDI](https://gis.blm.gov/) live federal services (public domain; availability not guaranteed here).
- Site/document facts: [mtcristorey.com](http://mtcristorey.com/home), [Wikipedia — Mount Cristo Rey](https://en.wikipedia.org/wiki/Mount_Cristo_Rey) (secondary sources; primary deeds/filings are the data room's next acquisitions). Summit position is GNIS-consistent, ±50 m, `approximate`.
- Ecology shelf: [OpenStreetMap](https://www.openstreetmap.org/copyright) extracts (ODbL 1.0, © OpenStreetMap contributors), fetched via the [openstreetmap skill](https://redfish.acequia.io/skills/openstreetmap/SKILL.md) — archived dated GeoJSON with provenance stamps; holes reported in each item, not filled (D9).

## Phase 2 (first ship: the viewshed)

- **[viewshed/](https://redfish.acequia.io/guerin/apps/nm-land/viewshed/)** (v0.2.0) — taos-engine (WebGPU) realtime viewshed from the summit cross: radial line-of-sight sweep computed on the SAME AWS Terrarium DEM the engine renders (720 rays, 7 km radius, curvature+refraction corrected, recomputes in ~10 ms on slider input). Modes: **360°** (a sensor at slider height — a tower study) and **"Jesus' view"** (the statue's eyes at ≈9.9 m, facing-azimuth + FOV sliders). Includes a stylized procedural 3D monument (Latin cross, robed Christ palms-down on the orb — proportions from the frontal reference photo, 42.5 ft overall), a 2-D hillshade/viewshed fallback map that works without WebGPU, and an optional **Google Photorealistic 3D Tiles** base via Cesium ion (checkbox; viewshed stays DEM-derived — buildings are not occluders yet).
- Still ahead: driving the 3D scene from the STAC catalog itself (catalog is render-agnostic by design); `#map=` deep-link handoff between 2D and 3D.

## Provenance & source

Project bead (design record, decisions, chat): [**cristo-rey-new-mexico** `fcd2b985`](https://redfish.acequia.io/guerin/.agents/fcd2b985-2e18-4778-a6a8-2f4179a16cac/) — PUBLIC. **Source of truth / git history face:** [`fcd2b985/repo/nm-land/`](https://redfish.acequia.io/guerin/.agents/fcd2b985-2e18-4778-a6a8-2f4179a16cac/repo/nm-land/) (clone via `git clone https://redfish.acequia.io/guerin/.agents/fcd2b985-2e18-4778-a6a8-2f4179a16cac/repo/nm-land/.git`); this deployed dir is the built bytes. GitHub-like ops (issues/PRs) go hub-first: [acequia-hub](https://redfish.acequia.io/acequia-hub/?bead=https://redfish.acequia.io/guerin/.agents/fcd2b985-2e18-4778-a6a8-2f4179a16cac/).

Designed and built by **Debbie** (senior-uxui-designer bead [`c4a8e2f1`](https://redfish.acequia.io/guerin/.agents/c4a8e2f1-7b6d-4e93-a5c2-8f1d3b0e9a47/)), 2026-07-19, at Stephen's direction. Layer-panel grammar from the [incident-viewer app bead `cbf8b027`](https://redfish.acequia.io/guerin/.agents/cbf8b027-e80c-4b9f-8eb3-91d40af072d5/); deploy discipline from the [devops bead `64be6d29`](https://redfish.acequia.io/guerin/.agents/64be6d29-d133-4ade-9dce-f62701003e37/).
