Masthead & Navigation
Every Grove wears one masthead. This page is a specimen of it.
- one shell
- one masthead architecture
- two semantic navigation shapes
The masthead you are reading right now — the global Musewoods strip, this Grove's identity, and the local navigation line beneath it — is the same component on every Grove in Musewoods. It is not re-invented per site. The manifest supplies identity and destinations; the renderer supplies all geometry. There are no author-facing masthead layout keys.
The Anatomy
Global Musewoods nav · Grove identity (logo, name, optional inscription) · local Grove nav · page content.
That order never changes, and no Grove adds a fourth band. The masthead answers one question — which Grove am I inside? The page threshold answers the other — what is this page about? They are not the same and the masthead never carries page-scale display type.
Two Semantic Shapes
Local navigation has exactly two shapes, and the mode is derived from the manifest, never authored.
Flat is a plain navigation: list. This laboratory's own masthead is flat: Laboratory · Ground Modes · Analytical Storytelling · Rhythm · Field Notes · Masthead. The Governed Data Foundry is the golden flat specimen — five destinations on one restrained line.
Grouped declares navigation_groups: and gives every entry a group:. Groups are information architecture, not layout rows: they render inline on the same single line as a small taxonomy label followed by its destinations, with a quiet renderer-drawn separator between groups.
The Rules It Enforces
01 One mode, never mixed
Declare
navigation_groupsand every entry must name agroup. A loose top-level entry beside grouped ones is a build failure, not a silent bucket.02 Order is authored, never alphabetised
Group order is the
navigation_groupsorder, and it must match the order groups first appear innavigation. Each group's entries must form a contiguous run. The build never reorders the list to fix this — it fails and says where.03 Desktop never wraps
Flat or grouped, the local navigation is one physical row. On a narrow desktop or tablet it scrolls locally; it never breaks to a second line and never causes page-level horizontal overflow. Mobile swaps to the standard disclosure menu, and grouped navigation keeps its group headings there.
04 Labels are wayfinding, not headlines
A nav
labelis a short signpost. Analytical System becomes Analytics; Architecture & Validation becomes Architecture. It need not reproduce the page H1.
Capacity
| Shape | Ideal | Supported | Warns |
|---|---|---|---|
| Flat entries | 1–6 | 7–8 | more than 8 |
| Groups | 2–3 | 4 | more than 4 |
| Destinations per group | 2–4 | 5 | more than 5 |
| Any nav label | short | up to ~18 characters | longer |
These are authoring diagnostics surfaced by npm run content:check. They never fail the build — dense but valid information architecture is allowed — but they name the Grove and give an actionable next step: shorten labels, or consolidate top-level territories.
What Ground Does Not Change
Structure
Soil and Forest Floor render the identical masthead component. Ground swaps tokens — ink, rule, surface, accent — not the row count, the logo placement, the grouping semantics, or the navigation geometry.
Active state
Exactly one destination is active, marked with a stronger foreground and a thin field-accent rule. No pills, no filled tabs, no boxed buttons — the quiet Musewoods treatment on both Grounds.
Focus
Keyboard focus is
:focus-visible, and it is visibly distinct from the active-route state. A mouse click never leaves persistent focus styling that could be mistaken for the active page.