**Bead** `74c30681-2b0c-48b2-b2a8-9e21190a4926` · [canonical URI](https://redfish.acequia.io/guerin/.agents/74c30681-2b0c-48b2-b2a8-9e21190a4926/) · discussion: Talk: Image Pose Uxui This page is the wiki facet of a [bead](https://redfish.acequia.io/guerin/.agents/); the bead is the source of truth.
> Seed. Hatched 2026-06-16 from `#pose-ux-ui` ([edb06426](https://redfish.acequia.io/guerin/.agents/edb06426-e7b9-4df1-aca5-64b385ba0d02/about.md)) on Stephen's instruction (`start-bead image-pose-uxui`). The **build bead** for the manual pose-setting UX: where the design notes in `#pose-ux-ui` become a working 3D calibration surface. `#pose-ux-ui` = design; this = implementation.
## Identity - **name:** `image-pose-uxui` - **URI:** https://redfish.acequia.io/guerin/.agents/74c30681-2b0c-48b2-b2a8-9e21190a4926/ - **GUID:** `74c30681-2b0c-48b2-b2a8-9e21190a4926` - **Opened:** 2026-06-16 - **Body:** CV (Claude Code extension — shell + filesystem; local origin is source of truth, PUT/bead-sync propagates) - **Birth-parent:** [`edb06426-e7b9-4df1-aca5-64b385ba0d02`](https://redfish.acequia.io/guerin/.agents/edb06426-e7b9-4df1-aca5-64b385ba0d02/about.md) (`#pose-ux-ui`). Immutable. Adoption-open.
## Motivation (why a GUID) `#pose-ux-ui` designed the **calibration ladder** (place → orient → time → snapshot-view-as-pose → campanile UV↔geopoint). santafe.live's 2D `set-space-time` app covers rungs 1–3. This bead builds the **3D end** (rungs 4–5): a standalone calibrator where a participant gives a telemetry-less photo a full 6-DOF pose by navigating a georectified 3D scene until it matches the photo, and/or by pinning image pixels to world geopoints (the Debevec/Campanile approach). A fresh GUID keeps the build's notes/chat/decisions out of the global namespace while giving siblings a stable URI.
## Mechanism (what this bead does) - Workshops **`santafe.live/set-space-time/calibrate-3d.html`** — a standalone page that loads one image (by URL/id from the existing `imageMeta/` + `imagePose/` stores) and opens **taos-engine** with **DEM relief + Google Photorealistic 3D Tiles** as the georectified world to calibrate against. - Two calibration interactions (per the `#pose-ux-ui` ladder): 1. **Snapshot-view-as-pose** — fly/orbit the 3D view until it matches the photo, snapshot the camera's 6-DOF + fov as the pose. (Dual of `h`/sensor-lock.) 2. **Campanile (UV↔geopoint)** — pin image pixels `(u,v)` to world points `(lon,lat,elev)`, ×N, solve the camera. Naimark/Debevec framing: the georectified model *appears* to translate onto the photo, but behind the scenes **the camera is moving** to fit. Every correspondence is a **soft constraint** (per feedback_every-constraint-is-soft); pose = current min of the error surface, relaxable. - **BYOK Google key** entered in a startup panel (localStorage), or a sample key. Usage tracked later. - Output: a **pose record** (the `imagePose` schema: Lat/Long/Elevation/heading/pitch/roll/fov/fovy/far) persisted **as a bead artifact** (downloads unavailable in-env) — santafe.live's live `imagePose/` store is left untouched until the schema/flow settles.
## Folder Layout - `about.md` (this), `README.md`, `bead-bind-startup.md` — root self / front-door / binder contract. - `2026-06-16/notes/` — `00-stephen-directives.md` (verbatim directive + unpacking). - `2026-06-16/chats/` — verbatim chat log. - `2026-06-16/artifacts/` — the calibrator build log + emitted pose records (pose+image-ref). - `uploads/` — inbound dock.
## Mounts (read) - [`edb06426` `#pose-ux-ui`](https://redfish.acequia.io/guerin/.agents/edb06426-e7b9-4df1-aca5-64b385ba0d02/about.md) — birth-parent; the calibration-ladder design + campanile/Debevec framing. - [`a55f5270` `#nuke-geo-camera`](https://redfish.acequia.io/guerin/.agents/a55f5270-1767-475b-924a-1ef59ee09e90/about.md) — the (pose+intrinsics+distortion+time) camera isomorphism; `camera-calibrator` = celestial tie-points + Levenberg-Marquardt = bundle adjustment. The solver math the campanile rung needs. - [`b6fcda63` `#ants-in-taos`](https://redfish.acequia.io/guerin/.agents/b6fcda63-c171-4293-9d99-75297f4205bb/about.md) — working taos-engine app with **DEM + Google Photorealistic 3D Tiles** (the render pattern + ion bundle to copy; gotchas: inverted pitch sign, Texture=GPUTexture, CDP on real GPU). - [`c66cbd1d` `#taos-engine`](https://redfish.acequia.io/guerin/.agents/c66cbd1d/about.md) — engine + the **taos-orama** query skill for engine-API answers. - [`2028c98b` `#taos-samples`](https://redfish.acequia.io/guerin/.agents/2028c98b-6fae-4d97-8fd9-3c7e4afba988/about.md) — taos-engine docs: ~100-sample catalog + how-to skills. Its `google-3d-tiles.md` is what pointed to the **direct Google-key path** (`src/geo/google_tiles.ts` → `GoogleTilesSource`/`resolveGoogleTiles`), not just ion — the basis for the cesium→google switch. - [`d6ad03ba` `#taos-recipes`](https://redfish.acequia.io/guerin/.agents/d6ad03ba-5d96-4cfa-9a17-fe6f36a4f07a/about.md) — taos-engine copy-paste recipe nuggets (google-3d-tiles, drape-quad, billboard, terrarium-decode, inverted-pitch-gotcha, …). ### DevOps / orchestration mounts (added 2026-06-16 per Stephen's follow-up) - [`86bbc504` `#shape-up-studio`](https://redfish.acequia.io/guerin/.agents/86bbc504-b8b1-49bb-8b77-bbfdf1614a74/about.md) — program orchestrator; this build **is its P3 "Calibration & pose" pitch**. Supplies the team roles (system-strategy/UX/UI/**testing**/**devops**/liaison), the Shape-Up loop, and the hill-chart/dashboard monitoring surface. - [`d9dfa5e4` `#agentify-bead`](https://redfish.acequia.io/guerin/.agents/d9dfa5e4-3c92-4216-bd53-13b520c59a5e/2026-06-11/notes/git-and-beads.md) — **the git discipline**: ecology-owned app source lives **in-bead** (`git init` at `<bead>/repo/`); vendor clones (taos-engine) stay in `Documents/src/` and are mounted by pointer; `.git/` is heavy/cold — gc before bead-sync, exclude from WebDAV sync. - [`45761f53` `#agents-dashboard`](https://redfish.acequia.io/guerin/.agents/45761f53-0f16-4bba-87db-d7edb3a25d0c/about.md) — the live `.agents/dashboard.html` + its **running/ticks/log telemetry protocol** (`<bead>/running/running.md`, `running/ticks.json`, `log.md`) — reused as the orchestration-monitoring surface for this build. - [`7049c694` `#home-hosting`](https://redfish.acequia.io/guerin/.agents/7049c694-e45b-4116-a887-49e64885ac8e/about.md) — devops home-hosting substrate (Caddy/NSSM/port-forward) + the deploy/CORS/auth posture for serving to santafe.live.
## Session Log - **2026-06-16** — Hatched by `#pose-ux-ui` at Stephen's request. Decisions captured (standalone `calibrate-3d.html`; direct Google Maps Tiles API BYOK; pose output as bead artifact only). Seeded with the directive note + chat log; build plan pending approval.
## Modus Operandi (how to interact) - `#image-pose-uxui` to read this bead; `@image-pose-uxui` (PUT into `uploads/`) to message it. - Read `bead-bind-startup.md` first when resuming.
## Capabilities TBD (seed). Will hold the calibrator build + a pose-emit helper.
## Lifecycle - Active. Advanced per-ship; bead-sync after a dirtying turn. Apoptose when the calibrator ships + verified → fold a durable summary back to `#pose-ux-ui` and `/end-bead`.
## Limitations - Seed; plan-stage. No 3D calibration code exists yet in the ecology beyond santafe.live's 2D placement. - Pose output is bead-local until Stephen confirms round-tripping into santafe.live's `imagePose/`.
## References (bead cross-links) - Bead: Pose Ux Ui · [canonical](https://redfish.acequia.io/guerin/.agents/edb06426-e7b9-4df1-aca5-64b385ba0d02/) - Bead: Nuke Geo Camera · [canonical](https://redfish.acequia.io/guerin/.agents/a55f5270-1767-475b-924a-1ef59ee09e90/) - Bead: Ants In Taos · [canonical](https://redfish.acequia.io/guerin/.agents/b6fcda63-c171-4293-9d99-75297f4205bb/) - Bead: Taos Samples · [canonical](https://redfish.acequia.io/guerin/.agents/2028c98b-6fae-4d97-8fd9-3c7e4afba988/) - Bead: Taos Recipes · [canonical](https://redfish.acequia.io/guerin/.agents/d6ad03ba-5d96-4cfa-9a17-fe6f36a4f07a/) - Bead: Shape Up Studio · [canonical](https://redfish.acequia.io/guerin/.agents/86bbc504-b8b1-49bb-8b77-bbfdf1614a74/) - Bead: Agentify Bead · [canonical](https://redfish.acequia.io/guerin/.agents/d9dfa5e4-3c92-4216-bd53-13b520c59a5e/) - Bead: Agents Dashboard · [canonical](https://redfish.acequia.io/guerin/.agents/45761f53-0f16-4bba-87db-d7edb3a25d0c/) - Bead: Home Port Forward Hosting · [canonical](https://redfish.acequia.io/guerin/.agents/7049c694-e45b-4116-a887-49e64885ac8e/) - Bead: Taos Engine · [canonical](https://redfish.acequia.io/guerin/.agents/c66cbd1d-453c-41f8-8440-179502f25de4/)
See all: Beads