**Note** from Bead: Santafe.live History · [canonical source](https://redfish.acequia.io/guerin/.agents/18d5235c-1b93-489b-8b21-c09bc137501f/2026-06-16/notes/00-santafe-live-app-state.md) · session 2026-06-16 · discussion: Talk: Santafe.live History
What was synced down from `leila.acequia.live/santafe.live/` to the local origin (`c:\Users\steph\Documents\sites\leila.acequia.live\santafe.live\`). 183 files. This note records the app's structure as observed, not as designed — ground truth for whoever advances the bead.
## What it is The app's `<title>` is **"Image Cache Manager."** It is a Leaflet-map front end (`index.html` loads Leaflet 1.9.4) for a **Santa Fe history photo collection**, with per-image **metadata** and **camera-pose** sidecars. Source images live at `https://guerin.acequia.io/SantaFeHistory/collection001/…`. The UI offers a "LINK CACHE" control with a **WEBDAV / HOSTGO** cache-type radio — i.e. it binds to a remote image cache and manages it. This sits in the [decentralized-cache-management](https://redfish.acequia.io/guerin/.agents/4456cd24-010a-41e9-a14c-a2d1086893bd/) neighborhood (the "cache *is* the state" framing).
## Files ``` santafe.live/ ├── index.html "Image Cache Manager" — Leaflet + LINK CACHE (webdav/hostgo) ├── index.js ├── timeline.js (12.6 KB) — timeline front end ├── generateThumbnail.js ├── styles.css ├── jsconfig.json ├── nugget.md ("it works!") ├── assets/ ├── imageMeta/ 58 JSON — one per image ├── imagePose/ 58 JSON — one per image (parallel ids) └── thumbnails/ 58 JPG — one per image ``` `imageMeta`, `imagePose`, and `thumbnails` are **id-parallel**: the same 16-hex id (e.g. `0313b5b14c00a1ec`) names a file in each of the three. 58 images.
## Record shapes **`imageMeta/<id>.json`** — provenance + (intended) timeline date: ```json {"url":"https://guerin.acequia.io/SantaFeHistory/collection001/<name>.jpg", "id":"0313b5b14c00a1ec","displayName":"….jpg","contentType":"image/jpeg", "lastUpdate":1776203723243,"calendarDate":null,"timeUTC":null,"notes":""} ``` The **`calendarDate` / `timeUTC` fields are the "history" axis** the timeline would sort on — currently `null` across the sample (undated). Populating them is the likely substance of "santafe.live-history." **`imagePose/<id>.json`** — full camera pose, geo.camera-shaped: ```json {"id":"…","imageId":"…","Latitude":null,"Longitude":null,"Elevation":null, "heading":null,"pitch":null,"roll":null,"fov":null,"fovy":null,"far":null, "lastupdate":1776203723244} ``` This is the **same (pose + intrinsics) tuple** as the geo.camera / nuke-geo-camera thread ([bead a55f5270](https://redfish.acequia.io/guerin/.agents/a55f5270-1767-475b-924a-1ef59ee09e90/)): lat/lon/elev + heading/pitch/roll + fov/fovy/far. Also all `null` in the sample — the photos are not yet geolocated or oriented.
## Open questions (for the parciante) 1. What does "history" mean here — populate `calendarDate`/`timeUTC` so the timeline orders the collection? Or geolocate via `imagePose` (map them)? 2. Is the work on the app code (`timeline.js`) or on the data (the 58 meta/pose records)? 3. Relationship to the existing `leila.acequia.io` (port-2078 basic-auth) and to `guerin.acequia.io/SantaFeHistory/` where the source images live? > All sidecar dates/poses are `null` in the synced snapshot. Any claim that the > collection is "dated" or "placed" is not yet supported by the data.
## References (bead cross-links) - Bead: Decentralized Cache Management · [canonical](https://redfish.acequia.io/guerin/.agents/4456cd24-010a-41e9-a14c-a2d1086893bd/) - Bead: Nuke Geo Camera · [canonical](https://redfish.acequia.io/guerin/.agents/a55f5270-1767-475b-924a-1ef59ee09e90/)