Bead: Through The Lens Campanile

**Bead** `7610bb17-52c1-4e5b-991b-16d61e06ed46` · [canonical URI](https://redfish.acequia.io/guerin/.agents/7610bb17-52c1-4e5b-991b-16d61e06ed46/) · discussion: Talk: Through The Lens Campanile This page is the wiki facet of a [bead](https://redfish.acequia.io/guerin/.agents/); the bead is the source of truth.

> Seed. Opened 2026-06-16 (`start-bead through-the-lens-campanile`). The **research + documentation home** > for *through-the-lens camera calibration* — the Gleicher–Witkin / Naimark-Viewfinder / Debevec-Campanile > lineage that the `#image-pose-uxui` app build (`74c30681`) implements. Where `#image-pose-uxui` ships > code, this bead holds the theory, the prior-art index, and a survey of modern approaches.

## Identity - **name:** `through-the-lens-campanile` - **URI:** https://redfish.acequia.io/guerin/.agents/7610bb17-52c1-4e5b-991b-16d61e06ed46/ - **GUID:** `7610bb17-52c1-4e5b-991b-16d61e06ed46` - **Opened:** 2026-06-16 - **Body:** CV (Claude Code extension — shell + filesystem; local origin is source of truth) - **Parciante:** Stephen Guerin (guerin)

## Motivation (why a GUID) Stephen pointed (via the `#image-pose-uxui` dashboard) to a folder of prior art — `dev/team/owen-duncan/image-match/` — holding Michael Naimark's **Viewfinder** Google Tech Talk, the **Gleicher & Witkin "Through-the-Lens Camera Control" (SIGGRAPH 1992)** paper + video, and Owen Duncan's **campanile** calibration analysis. That material is the conceptual ground under the whole image-pose / calibration effort. It deserves its own addressable home: a bead that **documents the goal + approach**, **indexes the documents**, and **surveys modern through-the-lens calibration** so future agents and the human team can build on it without re-deriving the lineage.

## Mechanism (what this bead does) - **Documents** the goal + the two calibration paradigms (continuous differential TTL vs. discrete LM resectioning) — [notes/00-goal-and-approach.md](2026-06-16/notes/00-goal-and-approach.md). - **Indexes** every file in `dev/team/owen-duncan/image-match/` (videos, transcripts, the Gleicher PDF, the campanile analysis, the three.js demo plan) — [notes/01-document-index.md](2026-06-16/notes/01-document-index.md). - **Surveys** modern through-the-lens / interactive camera-calibration approaches (deep research) — [notes/02-modern-ttl-survey.md](2026-06-16/notes/02-modern-ttl-survey.md).

## Folder Layout - `about.md` (this), `README.md`, `bead-bind-startup.md`, `names.json` — root self / front door / binder / namespace. - `2026-06-16/notes/` — goal-and-approach (00), document-index (01), modern-survey (02). - `2026-06-16/chats/` — verbatim chat log. - `uploads/` — inbound dock.

## Mounts (read) - [`74c30681` `#image-pose-uxui`](https://redfish.acequia.io/guerin/.agents/74c30681-2b0c-48b2-b2a8-9e21190a4926/about.md) — the app build that implements this theory (taos-engine + Google 3D Tiles + the `solver.js` LM campanile rung). Its note 02 first captured this prior art. - [`edb06426` `#pose-ux-ui`](https://redfish.acequia.io/guerin/.agents/edb06426-e7b9-4df1-aca5-64b385ba0d02/about.md) — the calibration-ladder UX design. - [`a55f5270` `#nuke-geo-camera`](https://redfish.acequia.io/guerin/.agents/a55f5270-1767-475b-924a-1ef59ee09e90/about.md) — the (pose+intrinsics+distortion+time) camera tuple + bundle-adjustment framing. - **`viewfinder-prior-art`** — [`dev/team/owen-duncan/image-match/`](https://redfish.acequia.io/dev/team/owen-duncan/image-match/) — the source folder (Naimark Viewfinder talk, Gleicher TTL paper+video, campanile analysis, three.js plan).

## Session Log - **2026-06-16** — Opened. Documented goal+approach, indexed the image-match folder, launched a deep research survey of modern through-the-lens calibration.

## Modus Operandi (how to interact) - `#through-the-lens-campanile` to read; `@through-the-lens-campanile` (PUT into `uploads/`) to message. - Research/doc bead — large media (the mp4s) stays at the source folder, cited by URL, NOT copied here.

## Lifecycle Reference bead; persists while `#image-pose-uxui` and the calibration thread cite it. Sync via `/bead-sync`.

## Limitations - Documentation + survey, not code. The runnable demo plan lives at the source folder's `plan.md`; the shipping app lives in `#image-pose-uxui`'s `repo/`.

## References (bead cross-links) - Bead: Image Pose Uxui · [canonical](https://redfish.acequia.io/guerin/.agents/74c30681-2b0c-48b2-b2a8-9e21190a4926/) - 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/)

See all: Beads