Skip to content

overhaul: homepage + the composed section vocabulary - #22

Open
CS-5 wants to merge 1 commit into
overhaul/midpoint-checkinfrom
overhaul/06-homepage
Open

overhaul: homepage + the composed section vocabulary#22
CS-5 wants to merge 1 commit into
overhaul/midpoint-checkinfrom
overhaul/06-homepage

Conversation

@CS-5

@CS-5 CS-5 commented Aug 31, 2026

Copy link
Copy Markdown
Member

Phase 06. Rebuilds the homepage from DESIGN.md with legacy's copy (D8), and lands the ui/ components the rest of the site reuses: Hero, Section, FeatureCard, FeatureGrid, SponsorStrip, CtaBanner.

Section carries the atmosphere device as a single-valued prop, because §2 allows exactly one per boundary and says "never stacked" — two on one section is unrepresentable rather than merely discouraged. The page cycles them: ghost numerals 01-03, a tint band on the FIRST interlude, an ambient pool on the video, a ruler divider before the sponsors, registration marks on the closing pocket.

The hero takes its media through a slot: legacy's homepage hero is a photograph, so D20's video handling belongs to the FRC page in Phase 07 rather than shipping unused here. Five join cards lay out as DESIGN.md §5's own worked 2+3 example, via a feature-grid-2-3 utility — slotted children and token breakpoints, the two reasons a style leaves a component.

The homepage's images moved into src/assets/ so astro:assets processes them, and the source optimizer re-encoded the seven that qualified (1.33 MB).

Preview, mobile: Lighthouse 100 accessibility / 100 SEO / 100 best practices; LCP 1369 ms and CLS 0.00 on Slow 4G + 4x CPU.

Also fixes the format-lint hook, which routed .css to oxlint — a linter with no CSS rules, which exits 1 on "No files found to lint" and so blocked every edit to global.css.

Claude-Session: https://claude.ai/code/session_01VjVuZTwNY6hNyq9c7eN9rU

Phase 06. Rebuilds the homepage from DESIGN.md with legacy's copy (D8), and
lands the `ui/` components the rest of the site reuses: Hero, Section,
FeatureCard, FeatureGrid, SponsorStrip, CtaBanner.

Section carries the atmosphere device as a single-valued prop, because §2
allows exactly one per boundary and says "never stacked" — two on one section
is unrepresentable rather than merely discouraged. The page cycles them: ghost
numerals 01-03, a tint band on the FIRST interlude, an ambient pool on the
video, a ruler divider before the sponsors, registration marks on the closing
pocket.

The hero takes its media through a slot: legacy's homepage hero is a
photograph, so D20's video handling belongs to the FRC page in Phase 07 rather
than shipping unused here. Five join cards lay out as DESIGN.md §5's own worked
2+3 example, via a `feature-grid-2-3` utility — slotted children and token
breakpoints, the two reasons a style leaves a component.

The homepage's images moved into `src/assets/` so astro:assets processes them,
and the source optimizer re-encoded the seven that qualified (1.33 MB).

Preview, mobile: Lighthouse 100 accessibility / 100 SEO / 100 best practices;
LCP 1369 ms and CLS 0.00 on Slow 4G + 4x CPU.

Also fixes the format-lint hook, which routed .css to oxlint — a linter with no
CSS rules, which exits 1 on "No files found to lint" and so blocked every edit
to global.css.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VjVuZTwNY6hNyq9c7eN9rU
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.

1 participant