Skip to content

docs(website): vendor the viewport spec that notes the two-row phone rail - #1033

Merged
gHashTag merged 1 commit into
gHashTag:mainfrom
dmitrii-f-t27:docs/vendor-viewport-spec-phone-rail
Sep 16, 2026
Merged

gHashTag merged 1 commit into
gHashTag:mainfrom
dmitrii-f-t27:docs/vendor-viewport-spec-phone-rail

Conversation

@dmitrii-f-t27

@dmitrii-f-t27 dmitrii-f-t27 commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

What

Companion of gHashTag/t27#3834. apps/website/public/t27/files/specs/ui/viewport.t27 is the byte-for-byte copy of that branch's specs/ui/viewport.t27: a dated note in its SOURCE section that a portrait phone lays the Queen rail out as a grid of two rows since #1032 (every tile in view, nothing scrolling, the head's tool row wrapping), and a sentence in the rail-capacity section stating that the RAIL_* numbers are the c881e7f reading of the 641–900 px strip, with thirteen views on the rail since TRI.

Comments only. node scripts/viewport-from-spec.mjs rewrote src/lib/viewport.generated.ts and src/styles/viewport.generated.css, and the only lines that change are the embedded spec sha256 (91c92354…eafbd926…); every value stays.

Checks

  • npm run check:viewport: up to date; spec tests 6, asserts 49, all hold.
  • npm run test:viewport-spec: 8/8.

Merge after gHashTag/t27#3834 (and independently of #1032, which changes only queen-phone.css / QueenCommand.tsx).

Do not merge without the owner's approval.

Work report

{
  "version": 1,
  "head_sha": "6ede8a5dddadae0453f73b7f84361d43b842fb4a",
  "summary": "Vendors the viewport spec from gHashTag/t27#3834 into the website byte for byte and regenerates viewport.generated.ts and viewport.generated.css; only the embedded spec sha256 changes and every value stays the same.",
  "changes": [
    "apps/website/public/t27/files/specs/ui/viewport.t27: byte-for-byte copy of specs/ui/viewport.t27 from the t27#3834 branch, adding a dated SOURCE note about the two-row portrait phone rail introduced by #1032 and a sentence on what the RAIL_* numbers measure.",
    "apps/website/src/lib/viewport.generated.ts and apps/website/src/styles/viewport.generated.css: rewritten by node scripts/viewport-from-spec.mjs; the only changed lines are the embedded spec sha256 (91c92354 to eafbd926)."
  ],
  "tests": [
    {
      "command": "npm run check:viewport",
      "result": "Generated viewport files are up to date with the vendored spec",
      "status": "passed",
      "evidence": "Local run 2026-09-16 after node scripts/viewport-from-spec.mjs; no drift reported"
    },
    {
      "command": "npm run test:viewport-spec",
      "result": "8 of 8 viewport spec assertions pass",
      "status": "passed",
      "evidence": "Local run 2026-09-16 on commit 6ede8a5d over origin/main fe4d5edc"
    }
  ],
  "limitations": [
    "Comments-only change to the spec; no CSS value, constant or layout rule changes on the site.",
    "Should be merged after gHashTag/t27#3834 so the vendored copy matches the canonical spec on t27 master.",
    "The website-checks step Explorer viewport contract is red on main since #1019 and is fixed separately in #1034."
  ],
  "tags": [
    "viewport",
    "specs",
    "website",
    "docs"
  ],
  "blog": {
    "title": "The viewport spec now describes the two-row phone rail",
    "summary": "A documentation-only vendoring of the t27 viewport spec onto the website, keeping the generated TypeScript and CSS in lockstep with the canonical source while changing no runtime value.",
    "outline": [
      "The Queen rail on a portrait phone changed shape in #1032, and the viewport spec on t27 gained a dated note describing the grid of two rows and what the RAIL_* constants actually measure on the 641 to 900 pixel strip.",
      "The website carries a vendored copy of that spec and generates TypeScript and CSS from it, so the copy has to be byte identical to the canonical file and the generated artefacts have to be regenerated even when only comments change.",
      "Both checks that guard this coupling, the viewport drift check and the eight viewport spec assertions, pass locally, and the merge order is documented: the t27 pull request first, then this companion on the site."
    ]
  }
}

🤖 Generated with Claude Code

…rail

The copy of specs/ui/viewport.t27 follows gHashTag/t27#3834: a dated
note that a portrait phone lays the Queen rail out as a grid of two rows
since gHashTag#1032, with every tile in view, and that the RAIL_* numbers are the
c881e7f reading of the 641-900px strip. Comments only, so
viewport.generated.ts and viewport.generated.css change in their embedded
spec hash and in nothing else (node scripts/viewport-from-spec.mjs;
check:viewport up to date; test:viewport-spec 8/8).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@gHashTag
gHashTag merged commit 0ffebc4 into gHashTag:main Sep 16, 2026
19 of 26 checks passed
github-actions Bot added a commit that referenced this pull request Sep 16, 2026
docs(website): vendor the viewport spec that notes the two-row phone rail (#1033)

The copy of specs/ui/viewport.t27 follows gHashTag/t27#3834: a dated
note that a portrait phone lays the Queen rail out as a grid of two rows
since #1032, with every tile in view, and that the RAIL_* numbers are the
c881e7f reading of the 641-900px strip. Comments only, so
viewport.generated.ts and viewport.generated.css change in their embedded
spec hash and in nothing else (node scripts/viewport-from-spec.mjs;
check:viewport up to date; test:viewport-spec 8/8).

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants