Masthead map r2 and flat-nav spec r2: Ubuntu text links with orange hover and active, after Delvehold; questions ruled or deferred
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
90c2d94eb3
commit
d5ef540184
2 changed files with 196 additions and 209 deletions
|
|
@ -1,8 +1,10 @@
|
|||
# Masthead campaign: the masthead on the ground, the pills gone
|
||||
|
||||
Imagination map, revision 1, written 2026-10-02 against `gamecult-site@e906f04`
|
||||
and `GameCult-Quartz@ef43df0`. The Self admits the campaign, target, questions
|
||||
and rulings; this file is the long form the cut specs point at.
|
||||
Imagination map, revision 2, written 2026-10-02 against `gamecult-site@6d9daf7`
|
||||
and `GameCult-Quartz@ef43df0`. Revision 1 put three options to the operator;
|
||||
the operator dismissed the questions and ruled the nav direction, so this
|
||||
revision carries rulings, not forks. The Self admits the campaign, target and
|
||||
rulings; this file is the long form the cut specs point at.
|
||||
|
||||
## The operator's words, verbatim
|
||||
|
||||
|
|
@ -19,30 +21,32 @@ card on `/Thing`, no card site-wide, keep it):
|
|||
> no card site-wide and let's get rid of those overused pill buttons while we're
|
||||
> at it
|
||||
|
||||
Two rulings follow, for the Self to admit: **ground-behind-masthead** (the
|
||||
masthead has no ground of its own; whatever the page paints runs up behind it,
|
||||
and on `/Thing` that is the deck's hero) and **no-card-no-pills** (no masthead
|
||||
card on any page; the nav is not pill buttons).
|
||||
Asked what replaces the pills (revision 1 offered mono labels, Montserrat links
|
||||
with a rule, or one typeset row):
|
||||
|
||||
## Where the campaign lives (question `campaign-home`)
|
||||
> Ubuntu text links with brand orange hover, we've already done this with the
|
||||
> Delvehold site
|
||||
|
||||
The masthead change is site-wide and has nothing to do with renaming Eve. The
|
||||
`thing` campaign is homed in the Eve repo (`operator-home-eve-repo`) and its
|
||||
target is the rename; folding a site redesign into it would make that target
|
||||
lie about what the campaign protects.
|
||||
## Rulings in force (`site-masthead`)
|
||||
|
||||
Options:
|
||||
- **`operator-ground-behind-masthead`.** The masthead has no background
|
||||
separate from the page; on `/Thing` the hero's ground and rays run up behind
|
||||
it, masthead plus hero one screen.
|
||||
- **`operator-no-card-no-pills`.** The masthead card is removed on every page
|
||||
and the pill buttons are retired.
|
||||
- **`operator-nav-ubuntu-links`.** Nav links are Ubuntu text links with brand
|
||||
orange (`#ff8a2a`) hover and active state, following the Delvehold site's
|
||||
`.delvehold-nav` layout (Delvehold `c43d504`, `custom.scss:115-131`).
|
||||
Delvehold sets its links in the header font; the operator named Ubuntu, so
|
||||
Ubuntu it is.
|
||||
- **`self-masthead-pills-first`** (Standing, reversible). The campaign is homed
|
||||
here, in `GameCult/gamecult-site`; the Thing target stays the rename. The
|
||||
first cut retires the masthead's pills only; `.gamecult-repo-link` and
|
||||
`.gamecult-action` follow in a later cut once the operator has seen the
|
||||
masthead live.
|
||||
|
||||
- **new-campaign** (recommended): campaign `site-masthead`, homed in
|
||||
`GameCult/gamecult-site`, target doc this file. Target, short: the masthead
|
||||
sits directly on the page ground on every page; its nav is typeset, not
|
||||
buttons; `/Thing`'s hero runs up behind it. Two cuts at most.
|
||||
- **fold-into-thing**: the masthead cut becomes a cut of `thing`. Cheaper to
|
||||
admit, but the Thing campaign's target and repo list then carry a site
|
||||
redesign, and its Soul passes verify the brand on pages Eve never touched.
|
||||
|
||||
The `/Thing` fixes stay in `thing` either way (cut `deck-page-fixes`, spec in
|
||||
the Eve repo beside the Thing map).
|
||||
The `/Thing` fixes stay in `thing` (cut `deck-page-fixes`, spec in the Eve repo
|
||||
beside the Thing map).
|
||||
|
||||
## Body facts
|
||||
|
||||
|
|
@ -56,29 +60,34 @@ site styles `.page-header > header`; the ritual-paper essays, the colossus post,
|
|||
`Graph` and `Thing` all inherit this one rule. `tour` and `Pitch` hide the
|
||||
header entirely (`1600-1603`) and are untouched by this campaign.
|
||||
|
||||
**B2. The pills.** `site/quartz/components/GameCultMasthead.tsx:321-329`
|
||||
renders each route as `<a class="gamecult-nav-chip">` (`active` appended);
|
||||
styles at `custom.scss:730-751`: 999px radius, 1px sky border at .16, sky fill
|
||||
at .06, Montserrat 300 at .92rem, min-height 2.15rem; hover and active share
|
||||
one state: orange fill .16, orange border .42, `#fff3e8` text. The nine routes
|
||||
**B2. The pills.** `site/quartz/components/GameCultMasthead.tsx:181-188`
|
||||
renders each route as `<a class="gamecult-nav-chip">` (`active` appended at
|
||||
`184`; external routes get `target="_blank"` and `rel` at `185-186`); styles at
|
||||
`custom.scss:730-751`: 999px radius, 1px sky border at .16, sky fill at .06,
|
||||
Montserrat 300 at .92rem, min-height 2.15rem; hover and active share one
|
||||
state: orange fill .16, orange border .42, `#fff3e8` text. The nine routes
|
||||
(Studio, Tour, Projects, Pitch, Blog, Graph, Docs, Aetheria, Zyphos) sit in
|
||||
`.gamecult-titlebar-links` (`flex-wrap: wrap; gap .6rem`), so on phones they
|
||||
wrap into three rows of pills. Active-route selection (`pickActiveRoute`,
|
||||
longest matching slug prefix) is sound and is kept.
|
||||
`.gamecult-titlebar-links` (`722-728`: `flex-wrap: wrap; gap .6rem`), so on
|
||||
phones they wrap into three rows of pills. Active-route selection
|
||||
(`pickActiveRoute`, longest matching slug prefix) is sound and is kept.
|
||||
|
||||
**B3. The same pill recipe elsewhere.** `.gamecult-repo-link`
|
||||
(`custom.scss:960`, the per-repo links on project cards) and
|
||||
`.gamecult-action` (`custom.scss:2168`, the home page's call-to-action row,
|
||||
`.gamecult-action` (`custom.scss:2172`, the home page's call-to-action row,
|
||||
`GameCult/index.md:66-68, 105-107`) use the identical border, fill and radius.
|
||||
The ritual-paper `PREPRINT` badge and page number (`225`, `525`) are mono
|
||||
badges inside a scoped variant, not nav. See question `pill-scope`.
|
||||
badges inside a scoped variant, not nav. Out of this cut under
|
||||
`self-masthead-pills-first`.
|
||||
|
||||
**B4. The brand doc.** `docs/brand-design-language.md` names neither the card
|
||||
nor the pills as deliberate; it names Montserrat-thin-at-scale, Ubuntu 300, the
|
||||
IBM Plex Mono uppercase tracked label as "a signature of the identity", the
|
||||
wash, and one accent. It warns that Montserrat 100 at 18px "produces grey
|
||||
mush" and says to drop to a heavier weight when a heading must be small. The
|
||||
pills set Montserrat 300 at .92rem, on the wrong side of that warning.
|
||||
nor the pills as deliberate; it names Montserrat-thin-at-scale, Ubuntu 300 for
|
||||
prose with `font-weight: 500` as "the emphasis step", the IBM Plex Mono
|
||||
uppercase tracked label, the wash, and one accent. It warns that Montserrat 100
|
||||
at 18px "produces grey mush" and says to drop to a heavier weight when a
|
||||
heading must be small. The pills set Montserrat 300 at .92rem, on the wrong
|
||||
side of that warning. Ubuntu 500 at .92rem, the ruled nav, is on the right
|
||||
side of it and is a weight the site already loads (`quartz.config.ts:36`:
|
||||
Ubuntu 300 400 500 700).
|
||||
|
||||
**B5. The masthead's other parts.** Title `GameCult` (Montserrat 200,
|
||||
`clamp(2.1rem,4vw,3.3rem)`, uppercase, tracked .08em), tagline (Montserrat
|
||||
|
|
@ -123,6 +132,15 @@ sites through `quartz-pages.yml@main` (gamecult-site, AetheriaLore, Delvehold,
|
|||
GhostlightDungeon-site, Kalsa, Mimir, Zyphos, pombabranca-site, the engine's
|
||||
own); an engine fix ships to all of them on their next deploy.
|
||||
|
||||
**B9. The precedent.** Delvehold `c43d504`, `site/quartz/styles/custom.scss:
|
||||
115-131`, `.delvehold-nav`: a flex row that wraps, `gap: 0.4rem 1.2rem`; links
|
||||
`color: var(--darkgray)`, `font-family: var(--headerFont)` (Montserrat there),
|
||||
`font-size: 0.92rem`, `font-weight: 500`, `white-space: nowrap`; `a:hover` and
|
||||
`a.active` take the accent colour (`--hold-purple`) and nothing else: no rule,
|
||||
no underline, no fill. `DelveholdMasthead.tsx:27-32` computes `active` per
|
||||
route and sets `class="active"` and `aria-current="page"` on it. Delvehold does
|
||||
not set `text-decoration`; the engine's base `a` rule already has it `none`.
|
||||
|
||||
## The shape
|
||||
|
||||
### The masthead without the card
|
||||
|
|
@ -141,7 +159,7 @@ Page types this touches, and what each looks like after:
|
|||
radius, unchanged). The tagline is the home sidebar's.
|
||||
- **Projects (`/Projects`)**: masthead on the wash above the breadcrumb-less
|
||||
title and the overview sidebar on the left. The repo-link pills on the cards
|
||||
are question `pill-scope`.
|
||||
stay for now (`self-masthead-pills-first`).
|
||||
- **Essays and other content pages**: masthead on the wash, then breadcrumbs,
|
||||
title, meta, article card. The three ritual-paper essays paint their own
|
||||
ground (`custom.scss:101-124`) and the masthead now sits on that ground
|
||||
|
|
@ -153,87 +171,57 @@ Page types this touches, and what each looks like after:
|
|||
- **`/Thing`**: masthead over the hero (below).
|
||||
- **`tour`, `Pitch`**: header hidden; nothing changes.
|
||||
|
||||
### What replaces the pills (question `nav-treatment`)
|
||||
### The nav: Ubuntu text links, orange on hover and active (ruled)
|
||||
|
||||
Three options, each in the brand's own terms. All keep `pickActiveRoute` and
|
||||
the route list; all rename the class `gamecult-nav-chip` to `gamecult-nav-link`
|
||||
so no "chip" survives in the DOM; all keep `aria-current="page"` as the
|
||||
accessible active mark (new; the pills had only a class).
|
||||
|
||||
**A. Mono labels** (recommended). The brand doc's signature device: IBM Plex
|
||||
Mono, uppercase, tracked, as a row of structural labels.
|
||||
The Delvehold recipe (B9) with two substitutions, both named by the ruling:
|
||||
the face is Ubuntu (`var(--bodyFont)`) instead of the header font, and the
|
||||
accent is GameCult's orange `var(--secondary)` instead of Delvehold's purple.
|
||||
Everything else is carried as is: wrap, gaps, size, weight, nowrap, the
|
||||
colour-only active mark. `gamecult-nav-chip` is renamed `gamecult-nav-link` so
|
||||
no "chip" survives in the DOM, and the active anchor gains
|
||||
`aria-current="page"` as Delvehold's does (new here; the pills had only a
|
||||
class).
|
||||
|
||||
```scss
|
||||
.gamecult-titlebar-links { display: flex; flex-wrap: wrap; gap: 0.45rem 1.5rem; }
|
||||
.gamecult-titlebar-links {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 0.4rem 1.2rem;
|
||||
min-width: 0;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.gamecult-nav-link {
|
||||
padding: 0.35rem 0;
|
||||
border-bottom: 1px solid transparent;
|
||||
color: rgba(183, 199, 217, 0.84);
|
||||
font-family: var(--codeFont);
|
||||
font-size: 0.78rem;
|
||||
color: var(--darkgray);
|
||||
font-family: var(--bodyFont);
|
||||
font-size: 0.92rem;
|
||||
font-weight: 500;
|
||||
letter-spacing: 0.14em;
|
||||
text-transform: uppercase;
|
||||
text-decoration: none;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.gamecult-nav-link:hover { color: var(--tertiary); }
|
||||
.gamecult-nav-link.active { color: var(--secondary); border-bottom-color: var(--secondary); }
|
||||
.gamecult-nav-link[target="_blank"]::after { content: " \2197"; } // ↗ on Aetheria, Zyphos
|
||||
```
|
||||
|
||||
Active page: orange text with a 1px orange rule under the label. Hover: sky.
|
||||
External routes carry a small ↗ so leaving the site is honest. Mobile: the row
|
||||
wraps as today, into two or three rows of labels with a .45rem row gap; at
|
||||
375px roughly four labels fit a row. Nothing is hidden, no scroll affordance
|
||||
is needed. Why it is recommended: it is the one device the brand doc calls a
|
||||
signature; it reads at small size by design, which Montserrat thin does not;
|
||||
and it separates the nav from the Montserrat title above it so the masthead
|
||||
has two voices (display title, mono labels) instead of one voice at two sizes.
|
||||
|
||||
**B. Montserrat text links with an orange rule.** The pills' type kept,
|
||||
the pill removed.
|
||||
|
||||
```scss
|
||||
.gamecult-titlebar-links { display: flex; flex-wrap: wrap; gap: 0.3rem 1.4rem; }
|
||||
.gamecult-nav-link {
|
||||
padding: 0.3rem 0;
|
||||
color: #dce7f6;
|
||||
font-family: var(--titleFont);
|
||||
font-size: 1rem;
|
||||
font-weight: 300;
|
||||
letter-spacing: 0.02em;
|
||||
text-decoration: none;
|
||||
.gamecult-nav-link:hover,
|
||||
.gamecult-nav-link:focus-visible,
|
||||
.gamecult-nav-link.active {
|
||||
color: var(--secondary);
|
||||
}
|
||||
.gamecult-nav-link:hover { color: var(--tertiary); }
|
||||
.gamecult-nav-link.active { color: var(--dark); box-shadow: inset 0 -2px 0 var(--secondary); }
|
||||
```
|
||||
|
||||
Active page: heading-white text over a 2px orange rule. Mobile: wraps. Risk:
|
||||
Montserrat 300 at 16px is the size the brand doc says to avoid for the thin
|
||||
face; the pills carried it at .92rem and the result was already soft.
|
||||
|
||||
**C. One typeset row under a hairline.** The nav becomes the masthead's bottom
|
||||
edge, Montserrat 200 at 1.1rem on one line, with a 1px sky hairline above it
|
||||
standing in for the card's edge.
|
||||
|
||||
```scss
|
||||
.gamecult-titlebar-nav { border-top: 1px solid rgba(89, 183, 255, 0.12); padding-top: 0.6rem; }
|
||||
.gamecult-titlebar-links { display: flex; flex-wrap: nowrap; gap: 0 1.25rem; overflow-x: auto; scrollbar-width: none; }
|
||||
.gamecult-nav-link { flex: 0 0 auto; margin-top: -0.6rem; padding-top: 0.6rem; border-top: 2px solid transparent;
|
||||
color: #dce7f6; font-family: var(--titleFont); font-size: 1.1rem; font-weight: 200; text-decoration: none; }
|
||||
.gamecult-nav-link.active { color: var(--secondary); border-top-color: var(--secondary); }
|
||||
```
|
||||
|
||||
Active page: a 2px orange rule sitting on the hairline above the label. Mobile:
|
||||
no wrap; the row scrolls sideways, so Docs, Aetheria and Zyphos are off-screen
|
||||
at 375px until the user drags, and a fade or chevron is needed to say so. Risk:
|
||||
hidden routes on phones, and a hairline is a quiet return of "its own
|
||||
background".
|
||||
Weight: Ubuntu 500 is loaded (`quartz.config.ts:36`) and is the brand doc's
|
||||
emphasis step, so Delvehold's 500 carries over unchanged. Active mark: colour
|
||||
only, as Delvehold; `:focus-visible` is added so keyboard users see the same
|
||||
orange that mouse users do. Mobile: the row wraps as today, with a .4rem row
|
||||
gap; at 375px Ubuntu 500 at .92rem fits four to five labels a row, so the nine
|
||||
routes take two or three rows. Nothing is hidden, no scroll affordance is
|
||||
needed. Nothing marks external routes; Delvehold marks none and the ruling asks
|
||||
for none.
|
||||
|
||||
### `/Thing`: the hero runs up behind the masthead
|
||||
|
||||
Mechanism, all inside the existing `body[data-slug="Thing"]` block and the
|
||||
deck's own files; the engine is not edited:
|
||||
deck's own files; the engine is not edited. This is cut `deck-page-fixes` of
|
||||
the `thing` campaign, not this campaign's cut; it is mapped here because the
|
||||
masthead's target (ground-behind-masthead) is only met on `/Thing` once it
|
||||
lands.
|
||||
|
||||
- `.center` becomes a two-row grid, `grid-template-areas: "stack" "foot"`.
|
||||
`.page-header` and `article` both take `grid-area: stack`; the header gets
|
||||
|
|
@ -262,8 +250,8 @@ deck's own files; the engine is not edited:
|
|||
reach-in guards gain `.thing-deck h1 { font-size: inherit }`.
|
||||
- The HUD pill on phones (top-right, fixed) overlaps the masthead's community
|
||||
icons until the first scroll; accepted in the Thing map r4 and unchanged.
|
||||
- `body-under-scrollbar` is question `scrollbar-fix-home` below; it is not
|
||||
in the `deck-page-fixes` file changes unless ruled `site-override`.
|
||||
- `body-under-scrollbar` is deferred (below); it is not in the
|
||||
`deck-page-fixes` file changes.
|
||||
|
||||
## The authority map
|
||||
|
||||
|
|
@ -274,8 +262,8 @@ deck's own files; the engine is not edited:
|
|||
hero) owns what is behind the masthead. On `/Thing`, the slug block owns the
|
||||
stacking and the inset, and `deck.css`/`deck.js` own the hero's clearance.
|
||||
- **Inputs.** The route list and current slug; the page's tagline; the
|
||||
brand tokens in `quartz.config.ts`; on `/Thing`, the measured masthead
|
||||
height.
|
||||
brand tokens in `quartz.config.ts` (`--bodyFont`, `--darkgray`,
|
||||
`--secondary`); on `/Thing`, the measured masthead height.
|
||||
- **Outputs.** One masthead DOM on every page; `aria-current="page"` on the
|
||||
active route.
|
||||
- **Derived state.** The active route is derived from the slug (unchanged).
|
||||
|
|
@ -284,55 +272,49 @@ deck's own files; the engine is not edited:
|
|||
gutters; it decides nothing on other pages.
|
||||
- **Forbidden writers.** No rule paints a ground, border, radius or shadow on
|
||||
`.page-header > header` or `.gamecult-titlebar`; no `.gamecult-nav-chip`
|
||||
class or `999px` radius in the masthead; no slug-scoped masthead variant
|
||||
(the ritual-paper essays, colossus post, Graph and Thing all get the one
|
||||
masthead); no engine edit for the stacking (`renderPage.tsx`, `Header.tsx`
|
||||
untouched); no site rule inside `.thing-deck`.
|
||||
class, `999px` radius, border or fill in the masthead nav; no slug-scoped
|
||||
masthead variant (the ritual-paper essays, colossus post, Graph and Thing all
|
||||
get the one masthead); no engine edit for the stacking (`renderPage.tsx`,
|
||||
`Header.tsx` untouched); no site rule inside `.thing-deck`; no change to
|
||||
`.gamecult-repo-link` or `.gamecult-action` in this cut.
|
||||
- **Shared paths.** Every page renders the one `GameCultMasthead` through
|
||||
the engine's `Header`; `/Thing` uses the same slug-block mechanism as the
|
||||
Graph and colossus pages; deploy is the same `Deploy Quartz` workflow.
|
||||
- **Deletion line.** The card rule (`646-665`), the mobile card padding
|
||||
(`1439-1441`) and the chip rules (`730-751`) are deleted before any nav
|
||||
rule is written; the `gamecult-nav-chip` class is renamed in the component
|
||||
in the same commit.
|
||||
(`1439-1441` at `6d9daf7`; shifts with `deck-page-fixes`) and the chip rules
|
||||
(`730-751`) are deleted before any nav rule is written; the
|
||||
`gamecult-nav-chip` class is renamed in the component in the same commit.
|
||||
|
||||
## Questions (one fork each; the Self admits them)
|
||||
## Questions
|
||||
|
||||
### `campaign-home`
|
||||
Options: **new-campaign** (`site-masthead`, homed in gamecult-site) or
|
||||
**fold-into-thing**. Recommended: new-campaign (reasons above).
|
||||
Revision 1 put four forks to the operator. The operator dismissed them and
|
||||
ruled the nav direction directly; the Self recorded the defaults as
|
||||
`self-masthead-pills-first`. Their state:
|
||||
|
||||
### `nav-treatment`
|
||||
Options: **mono-labels** (A), **montserrat-rule** (B), **typeset-row** (C).
|
||||
Recommended: mono-labels. The spec `docs/masthead-cut-flat-nav.spec.json`
|
||||
assumes A; under B or C the same deletions apply and the `adds` entry for the
|
||||
nav rules is replaced by that option's block above.
|
||||
|
||||
### `pill-scope`
|
||||
The operator pointed at the masthead. The same pill recipe also dresses
|
||||
`.gamecult-repo-link` (project cards) and `.gamecult-action` (home CTAs).
|
||||
Options: **masthead-only** (this cut) or **all-pill-recipe** (repo links
|
||||
become mono labels in the card's own row; the CTAs become Montserrat 300 text
|
||||
links with an orange rule, the primary one orange-filled square-cornered).
|
||||
Recommended: masthead-only now, and `all-pill-recipe` as a second cut of the
|
||||
same campaign once the masthead is seen live, since "overused" is a judgment
|
||||
best made against the new masthead rather than the old one.
|
||||
|
||||
### `scrollbar-fix-home`
|
||||
`html { width: 100vw }` is the engine's. Options: **engine** (delete the line
|
||||
in `GameCult-Quartz/quartz/styles/base.scss:11`; one commit; ships to nine
|
||||
sites on their next deploy) or **site-override** (`html { width: auto }` in
|
||||
`custom.scss`; gamecult-site only; the other eight keep the bug). Recommended:
|
||||
engine; the owner of the rule is the right place to fix it and the fix is a
|
||||
deletion. Under `engine` the fix is its own one-line cut on the engine repo,
|
||||
not part of `deck-page-fixes`.
|
||||
- **`campaign-home`**: ruled, `self-masthead-pills-first`. The campaign is
|
||||
`site-masthead`, homed in `GameCult/gamecult-site`.
|
||||
- **`nav-treatment`**: ruled, `operator-nav-ubuntu-links`. None of revision
|
||||
1's three options; Ubuntu text links on the Delvehold recipe (above).
|
||||
- **`pill-scope`**: ruled, `self-masthead-pills-first`. Masthead only in this
|
||||
cut; `.gamecult-repo-link` and `.gamecult-action` in a later cut once the
|
||||
masthead is seen live.
|
||||
- **`scrollbar-fix-home`**: deferred, unruled. `html { width: 100vw }` is the
|
||||
engine's (`GameCult-Quartz/quartz/styles/base.scss:11`). Options remain
|
||||
**engine** (delete the line; one commit; ships to nine sites on their next
|
||||
deploy) or **site-override** (`html { width: auto }` in `custom.scss`;
|
||||
gamecult-site only). Recommended: engine. Not in `flat-nav` and not in
|
||||
`deck-page-fixes`; it waits for a ruling.
|
||||
|
||||
## Cut order
|
||||
|
||||
1. `thing` / `deck-page-fixes` (`F:\Projects\Eve\docs\thing-cut-deck-page-fixes.spec.json`):
|
||||
the stacking, the inset, the header-leak guard. Independent of the masthead.
|
||||
2. `site-masthead` / `flat-nav` (`docs/masthead-cut-flat-nav.spec.json`): card
|
||||
and pills deleted, mono labels in, brand doc amended. Lands after 1 so the
|
||||
two edits to the Thing block in `custom.scss` do not collide.
|
||||
3. Optional, after the operator has seen 2 live: `all-pill-recipe` if so ruled;
|
||||
the engine `width: 100vw` cut if ruled `engine`.
|
||||
Not landed at `6d9daf7`; Hands is on it.
|
||||
2. `site-masthead` / `flat-nav` (`docs/masthead-cut-flat-nav.spec.json`, r2):
|
||||
card and pills deleted, Ubuntu links in, brand doc amended. Lands after 1 so
|
||||
the two edits to the Thing block in `custom.scss` do not collide; the spec
|
||||
carries `depends_on: ["deck-page-fixes"]`.
|
||||
3. After the operator has seen 2 live: the other-pills cut
|
||||
(`.gamecult-repo-link`, `.gamecult-action`) under `self-masthead-pills-first`,
|
||||
mapped then; the engine `width: 100vw` cut if `scrollbar-fix-home` is ruled
|
||||
`engine`.
|
||||
|
|
|
|||
|
|
@ -1,18 +1,19 @@
|
|||
{
|
||||
"campaign": "site-masthead",
|
||||
"cut": "flat-nav",
|
||||
"revision": 1,
|
||||
"title": "The masthead sits on the page ground on every page: the card and its shadow deleted, the nav pills replaced by IBM Plex Mono tracked labels with an orange active rule, the brand doc amended",
|
||||
"revision": 2,
|
||||
"title": "The masthead sits on the page ground on every page: the card and its shadow deleted, the nav pills replaced by Ubuntu text links with orange hover and active, as on Delvehold; the brand doc amended",
|
||||
"repo": "GameCult/gamecult-site",
|
||||
"branch": "main",
|
||||
"base": "e906f0445b5e05c5b892af122a09bd786b49875f",
|
||||
"base": "90c2d94",
|
||||
"depends_on": [],
|
||||
"first": [
|
||||
"Map: docs/masthead-campaign.md, sections 'The operator's words', 'Body facts' B1-B5, 'The shape' > 'The masthead without the card' and 'What replaces the pills', 'The authority map'. The operator's words, verbatim: 'no card site-wide and let's get rid of those overused pill buttons while we're at it'. Rulings assumed: site-masthead:ruling:operator-ground-behind-masthead and site-masthead:ruling:operator-no-card-no-pills.",
|
||||
"Questions assumed: campaign-home = new-campaign (this spec's campaign slug); nav-treatment = mono-labels (option A in the map); pill-scope = masthead-only (.gamecult-repo-link and .gamecult-action are not touched here). Under nav-treatment B or C the deletions below stand and the nav rules in adds are replaced by that option's block in the map.",
|
||||
"Land after thing/deck-page-fixes so the two edits to the body[data-slug=\"Thing\"] block in custom.scss do not collide; rebase onto its landing head and re-read the line numbers below (they are from e906f04 and shift by that cut's delta inside the Thing block only; everything this cut edits is above line 1148 or in another file).",
|
||||
"Brand sources are canonical: site/quartz.config.ts configuration.theme (codeFont IBM Plex Mono, titleFont Montserrat; secondary #ff8a2a, tertiary #59b7ff, darkgray #b7c7d9, dark #eef5ff) and custom.scss. The brand doc docs/brand-design-language.md is a guide and is amended by this cut because it will otherwise be silent on a decision the operator made.",
|
||||
"The masthead component is site/quartz/components/GameCultMasthead.tsx; the nav anchors are rendered at lines 321-329 with class gamecult-nav-chip and active appended. The engine's Header.css sets header { display:flex; align-items:center; margin:2rem 0; gap:1.5rem }, which the site must still beat for the masthead with display:block and its own margin.",
|
||||
"Map: docs/masthead-campaign.md r2, sections 'The operator's words', 'Rulings in force', 'Body facts' B1-B5 and B9, 'The shape' > 'The masthead without the card' and 'The nav', 'The authority map'. The operator's words, verbatim: 'no card site-wide and let's get rid of those overused pill buttons while we're at it' and 'Ubuntu text links with brand orange hover, we've already done this with the Delvehold site'.",
|
||||
"Rulings in force: operator-ground-behind-masthead, operator-no-card-no-pills, operator-nav-ubuntu-links, self-masthead-pills-first (masthead pills only; .gamecult-repo-link and .gamecult-action are not touched here). No question is open for this cut; scrollbar-fix-home is deferred and is not in this cut.",
|
||||
"deck-page-fixes (thing campaign) landed at 8fb3dff and 90c2d94, so this cut has no dependency; the line numbers below are read from 90c2d94. That cut grew the body[data-slug=\"Thing\"] block (1148-) by 34 lines, which is why the $mobile numbers differ from r1. If main moves again before Hands starts, re-read by selector.",
|
||||
"Precedent: Delvehold c43d504, site/quartz/styles/custom.scss:115-131 (.delvehold-nav: flex wrap, gap 0.4rem 1.2rem; a { color: var(--darkgray); font-size: 0.92rem; font-weight: 500; white-space: nowrap }; a:hover, a.active { color: accent }) and site/quartz/components/DelveholdMasthead.tsx:27-32 (class active and aria-current=\"page\" on the active route). Two substitutions, both ruled: font-family var(--bodyFont) (Ubuntu) for Delvehold's header font, and var(--secondary) #ff8a2a for Delvehold's purple. Ubuntu 500 is loaded (site/quartz.config.ts:36). Delvehold does not set text-decoration; the engine's base a rule has it none, so this cut does not set it either.",
|
||||
"Brand sources are canonical: site/quartz.config.ts configuration.theme (body Ubuntu 300 400 500 700; secondary #ff8a2a, tertiary #59b7ff, darkgray #b7c7d9, dark #eef5ff) and custom.scss. The brand doc docs/brand-design-language.md is a guide and is amended by this cut because it will otherwise be silent on a decision the operator made.",
|
||||
"The masthead component is site/quartz/components/GameCultMasthead.tsx; the nav anchor is rendered at lines 181-188 with class gamecult-nav-chip (active appended) at 184 and target/rel for external routes at 185-186. The engine's Header.css sets header { display:flex; align-items:center; margin:2rem 0; gap:1.5rem }, which the site must still beat for the masthead with display:block and its own margin.",
|
||||
"Deploy is push to main -> workflow 'Deploy Quartz' -> GitHub Pages at gamecult.org; small commits; CI is the verifier. A local .\\scripts\\quartz\\quartz.ps1 build is optional on Starfire."
|
||||
],
|
||||
"deletes": [
|
||||
|
|
@ -24,26 +25,27 @@
|
|||
{
|
||||
"path": "site/quartz/styles/custom.scss",
|
||||
"lines": 22,
|
||||
"note": "Lines 730-751, .gamecult-nav-chip and its :hover/.active rule: deleted whole (999px radius, sky border and fill, orange hover fill). Replaced by the .gamecult-nav-link rules in adds."
|
||||
"note": "Lines 730-751, .gamecult-nav-chip and its :hover/.active rule: deleted whole (999px radius, sky border and fill, Montserrat 300, orange hover fill). Replaced by the .gamecult-nav-link rules in adds."
|
||||
},
|
||||
{
|
||||
"path": "site/quartz/styles/custom.scss",
|
||||
"lines": 3,
|
||||
"note": "Lines 1439-1441 in the $mobile block, the card's phone padding: deleted; there is no card to pad."
|
||||
"note": "The $mobile card padding rule, .page > #quartz-body .center > .page-header > header { padding: 0.95rem 0.95rem 1rem } (1473-1475): deleted; there is no card to pad."
|
||||
}
|
||||
],
|
||||
"keeps_moves": [
|
||||
"The masthead's structure and content are unchanged: title, tagline, community links (Patreon wordmark, GitHub, Discord with their sky glow), the nine routes and pickActiveRoute. Only the nav anchors' class and the surrounding styles change.",
|
||||
".gamecult-titlebar, -top, -copy, -title, -tagline, -nav, -community, -wordmark and -icon rules (custom.scss 667-729, 753-811) and their $mobile variants (1443-1485) are unchanged.",
|
||||
"The page-header margin-top rules (638, 1435) are unchanged; the masthead's distance from the top of the page is theirs.",
|
||||
"The masthead's structure and content are unchanged: title, tagline, community links (Patreon wordmark, GitHub, Discord with their sky glow), the nine routes, their external target/rel, and pickActiveRoute. Only the nav anchor's class and aria, and the surrounding styles, change.",
|
||||
".gamecult-titlebar, -top, -copy, -title, -tagline, -nav, -community, -wordmark and -icon rules (custom.scss 667-721, 753-811) and their $mobile variants are unchanged. .gamecult-titlebar-links (722-728) keeps its rule; only its gap changes.",
|
||||
"The page-header margin-top rules (638, 1469) are unchanged; the masthead's distance from the top of the page is theirs.",
|
||||
"The ritual-paper essays, the colossus post, Graph, Thing, tour and Pitch keep their slug blocks; none of them styled the card or the chips, so none changes here.",
|
||||
".gamecult-repo-link (960) and .gamecult-action (2168) keep their pill recipe under pill-scope = masthead-only."
|
||||
".gamecult-repo-link (960) and .gamecult-action (2206) keep their pill recipe under self-masthead-pills-first."
|
||||
],
|
||||
"adds": [
|
||||
"GameCultMasthead.tsx lines 321-329: class becomes gamecult-nav-link (active appended as before), and the anchor carries aria-current={active ? \"page\" : undefined}. No other change to the component.",
|
||||
"custom.scss, where the chip rules were (after .gamecult-titlebar-links at 722-728, whose gap becomes 0.45rem 1.5rem): .gamecult-nav-link { padding: 0.35rem 0; border-bottom: 1px solid transparent; color: rgba(183, 199, 217, 0.84); font-family: var(--codeFont); font-size: 0.78rem; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; } .gamecult-nav-link:hover, .gamecult-nav-link:focus-visible { color: var(--tertiary); } .gamecult-nav-link.active { color: var(--secondary); border-bottom-color: var(--secondary); } .gamecult-nav-link[target=\"_blank\"]::after { content: \" \\2197\"; }",
|
||||
"GameCultMasthead.tsx line 184: class becomes gamecult-nav-link (active appended as before), and the anchor carries aria-current={active ? \"page\" : undefined}. No other change to the component.",
|
||||
"custom.scss 722-728: .gamecult-titlebar-links gap becomes 0.4rem 1.2rem (Delvehold's); display, flex-wrap, min-width, align-items stay.",
|
||||
"custom.scss, where the chip rules were (730-751): .gamecult-nav-link { color: var(--darkgray); font-family: var(--bodyFont); font-size: 0.92rem; font-weight: 500; white-space: nowrap; } .gamecult-nav-link:hover, .gamecult-nav-link:focus-visible, .gamecult-nav-link.active { color: var(--secondary); } Nothing else: no padding, border, radius, fill, underline, transform or ::after.",
|
||||
"custom.scss 646: the surviving header rule reads .page > #quartz-body .center > .page-header > header { display: block; margin: 0 0 1.2rem; } and nothing else.",
|
||||
"docs/brand-design-language.md, a new section '## Masthead' after the Palette section (after line 84): the masthead sits directly on the page ground on every page, no card, border, radius or shadow; the nav is the mono-uppercase-tracked label device, active page in the orange accent with a 1px orange rule, hover in sky, external routes marked with an arrow; the title stays Montserrat 200 uppercase tracked. Six to ten lines; reference the rules by selector, not line number. Update the 'Written' line to name this revision's date."
|
||||
"docs/brand-design-language.md, a new section '## Masthead' inserted before the '## Ritual Paper' heading (line 86, after the Palette section's closing paragraph): the masthead sits directly on the page ground on every page, no card, border, radius or shadow; the nav is Ubuntu 500 at 0.92rem in --darkgray, hover and active in the orange accent and nothing else (no rule, fill or underline), after the Delvehold site's nav; the active route also carries aria-current=\"page\"; the title stays Montserrat 200 uppercase tracked. Six to ten lines; reference the rules by selector, not line number. The 'Written' line (15) gains ', revised 2026-10-02'."
|
||||
],
|
||||
"file_changes": [
|
||||
{
|
||||
|
|
@ -60,31 +62,31 @@
|
|||
"line": 722,
|
||||
"end_line": 751
|
||||
},
|
||||
"change": ".gamecult-titlebar-links gap becomes 0.45rem 1.5rem; the .gamecult-nav-chip rules are replaced by the .gamecult-nav-link rules."
|
||||
"change": ".gamecult-titlebar-links gap becomes 0.4rem 1.2rem; the .gamecult-nav-chip rules are replaced by the .gamecult-nav-link rules."
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"path": "site/quartz/styles/custom.scss",
|
||||
"line": 1439,
|
||||
"end_line": 1441
|
||||
"line": 1473,
|
||||
"end_line": 1475
|
||||
},
|
||||
"change": "the $mobile card padding rule deleted."
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"path": "site/quartz/components/GameCultMasthead.tsx",
|
||||
"line": 321,
|
||||
"end_line": 329
|
||||
"line": 181,
|
||||
"end_line": 188
|
||||
},
|
||||
"change": "class gamecult-nav-link (+ active); aria-current=\"page\" on the active route."
|
||||
},
|
||||
{
|
||||
"location": {
|
||||
"path": "docs/brand-design-language.md",
|
||||
"line": 84,
|
||||
"end_line": 84
|
||||
"line": 86,
|
||||
"end_line": 86
|
||||
},
|
||||
"change": "new '## Masthead' section inserted after the Palette section; the 'Written' line dated."
|
||||
"change": "new '## Masthead' section inserted before '## Ritual Paper'; the 'Written' line (15) dated."
|
||||
}
|
||||
],
|
||||
"authority_map": {
|
||||
|
|
@ -92,28 +94,29 @@
|
|||
"inputs": [
|
||||
"the route list and the current slug (GameCultMasthead.tsx)",
|
||||
"the page's tagline (gamecult.ts headerTagline)",
|
||||
"the brand tokens: --codeFont, --titleFont, --secondary, --tertiary, --darkgray, --dark"
|
||||
"the brand tokens: --bodyFont, --titleFont, --darkgray, --secondary"
|
||||
],
|
||||
"outputs": [
|
||||
"one masthead DOM on every page with <a class=\"gamecult-nav-link\"> routes and aria-current=\"page\" on the active one",
|
||||
"the masthead's type sitting on the page ground on /, /Projects, /Blog/*, the three ritual-paper essays, /Graph, the colossus post and /Thing"
|
||||
],
|
||||
"derived_state": [
|
||||
"the active route, derived from the slug by pickActiveRoute (unchanged)",
|
||||
"the external arrow, derived from target=_blank, which the component already sets for external routes"
|
||||
"the active route, derived from the slug by pickActiveRoute (unchanged); its only marks are the active class and aria-current, both set in the component",
|
||||
"the hover and active colour, derived from --secondary; no second orange is written"
|
||||
],
|
||||
"forbidden_writers": [
|
||||
"no rule paints a background, border, border-radius or box-shadow on .page-header > header or on .gamecult-titlebar",
|
||||
"no gamecult-nav-chip class in the component or the stylesheet; no 999px radius or sky fill in the .gamecult-nav-link rules",
|
||||
"no gamecult-nav-chip class in the component or the stylesheet; no radius, border, fill, padding, underline or ::after in the .gamecult-nav-link rules",
|
||||
"no slug-scoped masthead variant: every page gets the one masthead",
|
||||
"no engine edit (Header.tsx keeps its bare header rule; the site beats it with display:block and margin)",
|
||||
"no change to .gamecult-repo-link or .gamecult-action under pill-scope = masthead-only"
|
||||
"no engine edit (Header.tsx keeps its bare header rule; the site beats it with display:block and margin; the base a rule supplies text-decoration none)",
|
||||
"no change to .gamecult-repo-link or .gamecult-action under self-masthead-pills-first",
|
||||
"no scrollbar fix (html width) in this cut; scrollbar-fix-home is deferred"
|
||||
],
|
||||
"shared_paths": [
|
||||
"every page renders the one GameCultMasthead through the engine's Header",
|
||||
"the same Deploy Quartz workflow and Pages origin"
|
||||
],
|
||||
"deletion_line": "the card declarations (646-665), the mobile card padding (1439-1441) and the chip rules (730-751) are deleted in the first commit, with the component's class rename in the same commit, before the .gamecult-nav-link rules and the brand doc section are written."
|
||||
"deletion_line": "the card declarations (646-665), the mobile card padding (1473-1475) and the chip rules (730-751) are deleted in the first commit, with the component's class rename in the same commit, before the .gamecult-nav-link rules and the brand doc section are written."
|
||||
},
|
||||
"verification": {
|
||||
"builds": [
|
||||
|
|
@ -123,34 +126,34 @@
|
|||
"tests": [
|
||||
{
|
||||
"name": "computed style of .page-header > header on /, /Projects, /Blog/small-ritual-of-reach, /Graph, the colossus post and /Thing",
|
||||
"pins": "Pins operator-no-card-no-pills on every page type, including the scoped variants. Expect: computed style of .page > #quartz-body .center > .page-header > header on /, /Projects, /Blog/small-ritual-of-reach, /Graph, /Blog/the-sleeping-colossus-refuses-the-throne and /Thing: background-image none, background-color transparent, border-style none, border-radius 0px, box-shadow none, display block. operator-no-card-no-pills: no masthead card on any page type, including the scoped variants."
|
||||
"pins": "Pins operator-no-card-no-pills on every page type, including the scoped variants. Expect: computed style of .page > #quartz-body .center > .page-header > header on /, /Projects, /Blog/small-ritual-of-reach, /Graph, /Blog/the-sleeping-colossus-refuses-the-throne and /Thing: background-image none, background-color transparent, border-style none, border-radius 0px, box-shadow none, padding 0px, display block."
|
||||
},
|
||||
{
|
||||
"name": "screenshots of /, /Projects and /Blog/small-ritual-of-reach at 1440 and 375",
|
||||
"pins": "Pins operator-ground-behind-masthead. Expect: screenshots of /, /Projects and /Blog/small-ritual-of-reach at 1440 and 375: the title, tagline, community icons and nav sit on the page's own wash (the ritual essay's violet ground shows through where the navy card was). operator-ground-behind-masthead: the page ground runs up behind the masthead."
|
||||
"pins": "Pins operator-ground-behind-masthead. Expect: the title, tagline, community icons and nav sit on the page's own wash (the ritual essay's violet ground shows through where the navy card was); on /Thing, after deck-page-fixes, the hero's ground and rays run up behind the masthead."
|
||||
},
|
||||
{
|
||||
"name": "computed styles of the .gamecult-nav-link anchors on /Projects, active and inactive",
|
||||
"pins": "Pins nav-treatment = mono-labels as specified; the active page is told in the accent and to assistive tech. Expect: computed style of a .gamecult-nav-link on /Projects: font-family starts with IBM Plex Mono, font-size 12.48px, text-transform uppercase, letter-spacing about 1.75px, border-radius 0px, background-color transparent; the Projects link has class active, aria-current=\"page\", color rgb(255, 138, 42) and border-bottom-color rgb(255, 138, 42); the Studio link's color is rgba(183, 199, 217, 0.84). nav-treatment = mono-labels as specified; the active page is told in the accent and to assistive tech."
|
||||
"pins": "Pins operator-nav-ubuntu-links. Expect: computed style of a .gamecult-nav-link on /Projects: font-family starts with Ubuntu, font-size 14.72px, font-weight 500, white-space nowrap, text-transform none, text-decoration-line none, border-radius 0px, border-style none, background-color transparent, padding 0px; the Projects link has class active, aria-current=\"page\" and color rgb(255, 138, 42); the Studio link's color is rgb(183, 199, 217) and on :hover (emulated) rgb(255, 138, 42)."
|
||||
},
|
||||
{
|
||||
"name": "document.querySelectorAll('.gamecult-nav-chip').length is 0 on every page sampled; '.gamecult-nav-link' is 9; the Aetheria and Zyphos links' ::after content is the arrow",
|
||||
"pins": "no chip survives; external routes are marked."
|
||||
"name": "document.querySelectorAll('.gamecult-nav-chip').length is 0 on every page sampled; '.gamecult-nav-link' is 9; exactly one carries aria-current on /Projects and none on /Thing",
|
||||
"pins": "no chip survives; the active page is told to assistive tech the way Delvehold tells it."
|
||||
},
|
||||
{
|
||||
"name": "at 375 wide on /Projects: the nav wraps into at most three rows, no link is clipped, no horizontal scrollbar; the title is 1.9rem as before",
|
||||
"pins": "mobile behaviour: wrap, nothing hidden."
|
||||
"name": "at 375 wide on /Projects: the nav wraps into at most three rows, no link is clipped or broken mid-word, no horizontal scrollbar; the title is 1.9rem as before",
|
||||
"pins": "mobile behaviour: wrap, nowrap labels, nothing hidden."
|
||||
},
|
||||
{
|
||||
"name": "pickActiveRoute behaviour by sampling: / marks Studio, /Open-Source-Model marks Studio, /Projects/CultPong marks Projects, /Blog/project-thing marks Blog, /Thing marks nothing",
|
||||
"pins": "the active route is derived exactly as before; the component change is class and aria only."
|
||||
},
|
||||
{
|
||||
"name": "git diff base..head --stat: only site/quartz/styles/custom.scss, site/quartz/components/GameCultMasthead.tsx and docs/brand-design-language.md; custom.scss net lines negative",
|
||||
"name": "git diff base..head --stat for this cut's commits: only site/quartz/styles/custom.scss, site/quartz/components/GameCultMasthead.tsx and docs/brand-design-language.md; custom.scss net lines negative",
|
||||
"pins": "a subtraction cut: the card and chips leave, less comes back."
|
||||
},
|
||||
{
|
||||
"name": "docs/brand-design-language.md has a '## Masthead' section that names the no-card and mono-label decisions and matches the live rules by selector",
|
||||
"name": "docs/brand-design-language.md has a '## Masthead' section that names the no-card and Ubuntu-link decisions, the Delvehold precedent, and matches the live rules by selector",
|
||||
"pins": "the brand doc is not silent on a decision the operator made."
|
||||
}
|
||||
],
|
||||
|
|
@ -161,27 +164,31 @@
|
|||
},
|
||||
{
|
||||
"pattern": "border-radius: 22px|box-shadow:\\s*\\n?\\s*0 20px 44px",
|
||||
"scope": "site/quartz/styles/custom.scss: no match (the card's radius and shadow are gone; 22px elsewhere is .gamecult-overview-sidebar-inner at 1257 and stays)."
|
||||
"scope": "site/quartz/styles/custom.scss: no match (the card's radius and shadow are gone; 22px elsewhere is .gamecult-overview-sidebar-inner at 1286 and stays)."
|
||||
},
|
||||
{
|
||||
"pattern": "999px",
|
||||
"scope": "the .gamecult-nav-link and .gamecult-titlebar* rules in site/quartz/styles/custom.scss: no match."
|
||||
"pattern": "gamecult-nav-link[^{]*\\{[^}]*(border|background|padding|radius|text-transform|letter-spacing|::after|titleFont|codeFont)",
|
||||
"scope": "site/quartz/styles/custom.scss, multiline: no match (the link is type and colour only, in the body font)."
|
||||
},
|
||||
{
|
||||
"pattern": "page-header > header\\s*\\{[^}]*(background|border|box-shadow|padding)",
|
||||
"scope": "site/quartz/styles/custom.scss, multiline: no match."
|
||||
},
|
||||
{
|
||||
"pattern": "gamecult-repo-link|gamecult-action|width: auto|100vw",
|
||||
"scope": "git diff base..head of this cut's commits: no match (other pills and the scrollbar fix are out of this cut)."
|
||||
},
|
||||
{
|
||||
"pattern": "GameCult-Quartz|quartz/components/Header",
|
||||
"scope": "git diff --name-only base..head: no engine file."
|
||||
}
|
||||
],
|
||||
"operator": [
|
||||
"look at https://gamecult.org/, /Projects and /Thing on a desktop and a phone and say whether the masthead on the ground reads as the site's, and whether the mono labels are the nav you meant when you said no pills"
|
||||
"look at https://gamecult.org/, /Projects and /Thing on a desktop and a phone and say whether the masthead on the ground reads as the site's, and whether the Ubuntu links are the Delvehold treatment you meant"
|
||||
]
|
||||
},
|
||||
"estimate": {
|
||||
"lines_added": 30,
|
||||
"lines_added": 22,
|
||||
"lines_removed": 43,
|
||||
"dependencies_added": [],
|
||||
"dependencies_removed": [],
|
||||
|
|
@ -192,11 +199,9 @@
|
|||
},
|
||||
"rulings": [
|
||||
"site-masthead:ruling:operator-ground-behind-masthead",
|
||||
"site-masthead:ruling:operator-no-card-no-pills"
|
||||
"site-masthead:ruling:operator-no-card-no-pills",
|
||||
"site-masthead:ruling:operator-nav-ubuntu-links",
|
||||
"site-masthead:ruling:self-masthead-pills-first"
|
||||
],
|
||||
"questions": [
|
||||
"campaign-home: new-campaign (recommended, assumed by this spec's slug) or fold-into-thing.",
|
||||
"nav-treatment: mono-labels (recommended, assumed) or montserrat-rule or typeset-row; see the map for each option's CSS, mobile behaviour and active mark.",
|
||||
"pill-scope: masthead-only (recommended, assumed) or all-pill-recipe (.gamecult-repo-link and .gamecult-action in a second cut of this campaign)."
|
||||
]
|
||||
"questions": []
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue