feat(field-guide): hub route + window activation + shared anchor-intercept (FG-3a) #95
No reviewers
Labels
No labels
area: arcade
area: art-studio
area: calendar
area: chapel
area: content
area: design
area: field-guide
area: infra
area: library
area: os
area: portal
area: sync
area: typing
blocked
breaking
bug
content: approved
content: changes-requested
content: drafting
content: needs-doctrinal-review
content: needs-review
dependencies
documentation
duplicate
enhancement
epic
github_actions
good first issue
help wanted
invalid
javascript
needs-triage
priority: high
priority: low
priority: medium
question
type: enhancement
type: feature
type: fix
type: perf
type: security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Bosco/bosco!95
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/field-guide-hub"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
FG-3a of v0.4.0 — the first visible Field Guide surface. Part of #92. Architecture:
docs/architecture/field-guide.md.What's here
/field-guide/hub — a prerendered route that lays out every published creature both ways at once: by habitat, then by kind, inline, so a no-JS reader gets the whole index on one page. Each creature is a real<a href>into its existing Library article — no content duplicated.data-pagefind-ignorekeeps the browsing chrome out of search (index stays at 2 records).win-fieldguideis promoted out of itskind:'soon'placeholder: aDesktop.sveltebranch rendersFieldGuideBody, the entry leavesROOMS, the window grows (small:false), and its Home-door copy now describes browsing (the album is FG-5, not this PR).src/lib/portal/anchorIntercept.ts;LibraryBodyis refactored onto it (behaviour-equivalent). The Field Guide intercept claims both/field-guide/and the FULL/library/prefix, so a creature's article — and every cross-link inside it, to any category — opens in-window rather than tearing the desktop down. Every view transition (incl. Back) moves focus to the view heading.axes.ts(habitat/kind labels +groupByHabitat/groupByKind),FieldGuideHome,FieldGuideBody,guide.svelte.ts(FieldGuideBrowser).guard:offlinenow exercises/field-guide/with real tokens (By habitat,Woodland,The Red Fox, …);guard:contentgains a Field-Guide-only positive token (By habitat).Scope fence
No axis routes yet (
/field-guide/habitat|kind/[…]→ FG-3b), no album (FG-4/FG-5), no diagrams/maps (FG-6/FG-7). The hub deliberately does not link to axis routes (they don't exist yet — strict prerender would fail).Verification
CI gauntlet:
check(0 err) ·lint·guard:colour·build(hub prerenders; search stays 2) ·guard:external·guard:content·guard:provenance·guard:offline(new/field-guide/route) · 163 unit tests (+4).e2e (local): Field Guide (3) — creature opens inline (URL unchanged), other windows survive, Back returns, cross-category cross-link opens inline (the full-
/library/-claim guarantee); full Library (14) still green (intercept refactor is a no-op behaviourally); hub axe clean.A focused adversarial review found no blockers/majors; its two findings (stale door copy, an unreachable focus-strand) are fixed. Fixed a green-kicker AA-contrast miss (→
--ink-green); flagged the identical latent bug in the Library'sCategoryViewas a separate task.