Repository navigation
feat(website): phase 2.A — seven body sections + page gradient - #20
Merged
Merged
Conversation
…ng snippet Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Phase 2.A of the website pivot. Inserts seven static AI-startup-landing body sections between the existing
<PlaygroundSection />and<Footer />, plus a vertical page-level gradient implementing the cool → warm → cool emotional arc.What ships
Seven new server components under
apps/website/app/components/:<Problem />— "Other grids stall on the read-heavy wedge." (cold-indigo beat — only place using indigo accent)<Solution />— "Pretable renders the wedge at 60fps." (cyan answer + 3-bullet row)<ReceiptsBand />— "Receipts, not claims." (port from playground; transparent bg for page gradient)<ComparisonTable />— semantic<table>4-adapter scorecard, pretable asFASTESTitalic-cyan column<FeatureGrid />— six receipts: 60fps perf, stream-aware, selection survival, wrapped text, deterministic engine, no-flash hydration<CodeExample />—shiki@4.0.2server-rendered LLM-streaming snippet (no client JS for highlighting)<CtaSection />— "Check the receipts." final ask with anchor up to live grid + GitHub linkPage-level vertical gradient in
globals.css: 4-stoplinear-gradient(180deg, var(--pt-bg-page) 0%, #0d1426 35%, #0f1518 60%, var(--pt-bg-page) 100%)withbackground-attachment: fixed. Cool navy → cooler navy → subtle warm undertone → cool navy. Body sections render againstbg-transparentso the gradient bleeds through.shiki@4.0.2added as runtime dep for compile-time syntax highlighting in CodeExample. Top-levelawait codeToHtml(...)runs once at build time; result is baked into the static prerender.--color-text-dimtoken added toglobals.css@theme inlineto enable italic dim styling forn/acells in ComparisonTable.All seven sections are stateless server components. No new
"use client", no new hooks, no client-bundle impact beyond what shiki ships (server-only).Editorial notes
TODO(bench-numbers): refresh from latest bench:matrix runmarkers in code; Phase 2.C / D wires dynamic.Out of scope (Phase 2.B / 2.C)
docs/superpowers/specs/2026-04-21-pretable-visual-system-design.md— Phase 2.CTest plan
pnpm install --frozen-lockfile— only shiki@4.0.2 addedpnpm test— green (no test changes; no behavior changes outside website)pnpm typecheck— clean across 16 workspacespnpm lint— clean (the two pre-existing layout.tsx warnings persist; not new)pnpm format— cleanpnpm build— website builds;/prerenders; shiki runs at module load with no client costpnpm --filter @pretable/app-website dev— full landing renders, gradient subtly visible (warm undertone around mid-page), all 9 sections in spec order, code highlighted, CTA scrolls to gridKnown follow-ups (not blocking)
pretableWins: truefield on every row, never read by JSX. YAGNI cleanup or wire to a visual signal.border-text-primaryused as a top-rule color on ReceiptsBand stats and CtaSection's secondary button — works visually, semantically odd. Cosmetic.