Skip to content

feat: align homepage with goal.md, refine UI, and add light mode - #21

Merged
Teakowa merged 10 commits into
mainfrom
feat/goal-aligned-site
Sep 27, 2026
Merged

Teakowa merged 10 commits into
mainfrom
feat/goal-aligned-site

Conversation

@e54-bot

@e54-bot e54-bot commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Rewrites the homepage copy around docs/goal.md and reworks the UI with Apple-style interaction and typography rules.

Copy / structure (src/lib/site.ts)

  • New order: Hero → Tooling → Developers & agents → Languages & compatibility → Install → Ecosystem. This follows the question order from Reframe homepage around Native Workshop, OverPy/OSTW, and AI agent workflows #10: what it is, whether it fits my workflow, what it does, how it's organized.
  • The hero leads with Wright as the product and tooling first (principles 1–2). The terminal now shows real wright 0.2.40 output instead of prose.
  • The compatibility section now states principle 7: the upstream compiler is the spec, and both outputs are compared as canonical Workshop programs on rule order, element identities, control flow, condition shape, value construction, variable names/indices, and element cost. The old "S/D/N/E, not compiler-output identity" block contradicted the goal and is gone.
  • The agent section separates what ships today (--format json envelope, stable codes/exit codes, validated edit transactions, the wright Agent Skill) from the intent-driven loop (inspect → edit → check → assess → report), which is labelled as direction (principles 4–5).
  • Adds the goal's boundaries: no runtime guarantee, no game-design judgement, small core, non-goals.
  • Fixes stale facts: del-rs → deltin-rs, workshop-agent → skills, drops hard-coded versions (0.2.8, v0.1.0). The CI pin now uses --version "$WRIGHT_VERSION".
  • Removes the duplicated "Source & licenses" list, which is merged into Ecosystem, and keeps WIR/HIR/provider terminology off the homepage.

UI

  • Size-specific tracking and leading tokens (text-hero, text-title, text-lead), plus text-balance/text-pretty.
  • Continuous radii (rounded-card, rounded-control, pill buttons), translucent header with a scroll-edge fade instead of a hard divider, and .surface cards.
  • Wayfinding: the nav highlights the current section (aria-current="location").
  • Mobile menu: dimming scrim, symmetric enter/exit, and reduced motion falls back to a cross-fade. The hamburger animates transforms only, and the menu closes automatically when the viewport reaches desktop width.
  • Install platform picker: segmented control with a sliding indicator, roving tabindex, and Arrow/Home/End keys.
  • Copy button: immediate press feedback, completion state, and an aria-live announcement.
  • Hover styles only apply on hover-capable devices. Reduced-motion, reduced-transparency, and increased-contrast fallbacks are kept.
  • Stops tracking the generated static/install.ps1, which is now gitignored like install.sh.

Appearance: light, dark, and system

  • Every ink token is a light-dark() pair (50 = strongest text, 950 = page background), so components don't branch on the theme. Light mode darkens the text accent (#c2410c) to keep contrast, and the primary button keeps dark text on orange.
  • A System / Light / Dark switcher (ARIA radiogroup with arrow keys) sits in the header and in the mobile menu. System follows prefers-color-scheme; an explicit choice is stored in localStorage (wrightkit-theme) and applied by an inline script in app.html before first paint, so there is no flash.
  • Switching cross-fades through the View Transitions API, and applies instantly under reduced motion. theme-color metas follow the resolved appearance.
  • The hero terminal stays dark in both appearances. Tailwind's CSS lowering resolves light-dark() once on :root, so a nested color-scheme can't flip the tokens; the terminal uses fixed colors instead.

Why

The site described WrightKit mostly as a set of implementations, and its compatibility model contradicted goal principle 7. Several links and versions were also stale.

Verification

  • pnpm check: 0 errors, 0 warnings. pnpm build (including verify-build.mjs) passes.
  • Capability claims were checked against current origin/main of wright, opy-rs, deltin-rs, and workshop-rs, and against the v0.2.40 release assets. Terminal output comes from running released wright 0.2.40 check/lint on a sample OPY file.
  • Theme: checked system light, system dark, explicit Light/Dark overriding the opposite system setting, persistence across reload, arrow-key switching back to System, and theme-color updates.
  • Browser check at 1440×900 and 390×844:
    • no horizontal overflow
    • the mobile menu opens, closes on Escape, and restores body scroll
    • arrow keys move focus and selection in the platform picker
    • the copy button reaches its copied state

Notes

View in Indent
Tag @indent to continue the conversation here.

Teakowa and others added 3 commits September 27, 2026 17:58
Co-authored-by: Indent <noreply@indent.com>
…ed install.ps1

Co-authored-by: Indent <noreply@indent.com>
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
wrightkit-dev f74e8d1 Commit Preview URL

Branch Preview URL
Sep 27 2026, 10:41 AM

Teakowa and others added 3 commits September 27, 2026 18:16
Co-authored-by: Indent <noreply@indent.com>
Co-authored-by: Indent <noreply@indent.com>
@e54-bot e54-bot changed the title feat: align homepage with goal.md and refine UI feat: align homepage with goal.md, refine UI, and add light mode Sep 27, 2026
Teakowa and others added 4 commits September 27, 2026 18:35
…crolls under it

Co-authored-by: Indent <noreply@indent.com>
…scrolled state

Co-authored-by: Indent <noreply@indent.com>
Co-authored-by: Indent <noreply@indent.com>
Declaring both backdrop-filter and -webkit-backdrop-filter made Lightning
CSS keep only the prefixed form, which Chromium ignores. Declare the
standard property and let the build add the prefix.

Co-authored-by: Indent <noreply@indent.com>
@Teakowa
Teakowa merged commit 16b1480 into main Sep 27, 2026
2 checks passed
@Teakowa
Teakowa deleted the feat/goal-aligned-site branch September 27, 2026 10:50
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