diff --git a/docs/GLOSSARY.md b/docs/GLOSSARY.md index dcfc8ad6..a3e1b359 100644 --- a/docs/GLOSSARY.md +++ b/docs/GLOSSARY.md @@ -125,7 +125,7 @@ _Not to be confused with [parented](#parented-layout)_ — loose is the absence **canonical fixture** (Stammbaum) — `frontend/src/lib/person/genealogy/__fixtures__/stammbaum.json`, a pinned `/api/network` snapshot used by `buildLayout.test.ts` for structural-property assertions against real data. Captured locally via `frontend/scripts/capture-network-fixture.mjs` with explicit credentials and a localhost backend; never invoked from CI. Sanity-gated by `validateFixture.ts` (≥ 50 nodes / ≥ 5 generations / ≥ 1 SPOUSE_OF edge / ≥ 1 multi-spouse person). -**pan/zoom view state** `[#692]` — the `{ x, y, z }` triple (`PanZoomState` in `frontend/src/lib/person/genealogy/panZoom.ts`) describing the Stammbaum canvas position: `x`/`y` are pan offsets applied to the SVG viewBox centre, `z` is the zoom factor (clamped 0.25–3.0). Mirrored into the shareable URL as `?cx&cy&z` and seeded server-side from those params. See [ADR-026](adr/026-stammbaum-custom-viewbox-pan-zoom.md). +**pan/zoom view state** `[#692]` — the `{ x, y, z }` triple (`PanZoomState` in `frontend/src/lib/person/genealogy/panZoom.ts`) describing the Stammbaum canvas position: `x`/`y` are pan offsets applied to the SVG viewBox centre, `z` is the zoom factor (clamped 0.25–3.0). Mirrored into the shareable URL as `?cx&cy&z` and seeded server-side from those params. See [ADR-027](adr/027-stammbaum-custom-viewbox-pan-zoom.md). **fit-to-screen** `[user-facing, #692]` — the Stammbaum control (`⤢`) and initial state that frames the whole tree in the viewport. Because the base viewBox already encloses the layout at `z=1`, fit-to-screen is simply the default view `{x:0, y:0, z:1}`. diff --git a/docs/adr/026-stammbaum-custom-viewbox-pan-zoom.md b/docs/adr/027-stammbaum-custom-viewbox-pan-zoom.md similarity index 97% rename from docs/adr/026-stammbaum-custom-viewbox-pan-zoom.md rename to docs/adr/027-stammbaum-custom-viewbox-pan-zoom.md index 65b2ae9d..9baf44f3 100644 --- a/docs/adr/026-stammbaum-custom-viewbox-pan-zoom.md +++ b/docs/adr/027-stammbaum-custom-viewbox-pan-zoom.md @@ -1,4 +1,4 @@ -# ADR-026 — Stammbaum pan/zoom is a custom viewBox layer, not a third-party library +# ADR-027 — Stammbaum pan/zoom is a custom viewBox layer, not a third-party library **Date:** 2026-05-29 **Status:** Accepted diff --git a/frontend/src/lib/person/genealogy/panZoom.ts b/frontend/src/lib/person/genealogy/panZoom.ts index 9b83cd27..21296590 100644 --- a/frontend/src/lib/person/genealogy/panZoom.ts +++ b/frontend/src/lib/person/genealogy/panZoom.ts @@ -6,7 +6,7 @@ * of truth for the zoom bounds, the view-state shape, and every pure geometry * helper used by the gesture action, the URL serialiser, and the page. Keeping * the math here (and free of DOM access) makes it unit-testable in the node - * project. See ADR-026 for why this is custom rather than a third-party library. + * project. See ADR-027 for why this is custom rather than a third-party library. */ /** Resolved zoom bounds (OQ-001). */