Repository navigation
Redesign jcamd.com as a title sequence: opening card, work as frames, one accent, light + dark - #19
Merged
Conversation
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
The game-suite links were removed from index.html on purpose; the smoke list still required all six, so smoke failed on master. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
One display face (self-hosted Jost) for titles and labels, a tuned system stack for text, a single accent, and composed light and dark palettes. Shared header with theme toggle and mobile menu, shared footer, focus, selection, scrollbar, reduced-motion gate and print styles. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
Name set as an opening title card over a one-point-perspective field, flagship projects as numbered centred frames, a ledger timeline, principles, lab, stack and a closing contact card. Same links and copy as before; the chips page now also appears in the Lab. 404 page in the same system. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
Aliases the drafting-board tokens onto the shared palette so the page follows light/dark, swaps heavy borders and block shadows for hairlines, sets titles and labels in the display face, and centres the hero as a title card with an on-page contents row. Shared header/footer; all tool behaviour unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
Restyles the viewer on the shared tokens in both themes, gathers the header badges into one quiet facts row, labels the inputs, and re-renders the vis-network graph with theme colours when the theme changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
Text sections follow the shared light/dark theme; the 3D stage and scale canvases re-declare the dark token set so they stay composed as screens. Scopes the 3D label class so it no longer collides with shared labels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
jcdavis131
marked this pull request as ready for review
September 23, 2026 17:27
jcdavis131
pushed a commit
that referenced
this pull request
Sep 23, 2026
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
This branch was successfully deployed
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.


What changed and why
Every page now sits on one shared design layer,
assets/frame.css+assets/frame.js. The home page opens on the principal's name, set like a title card, and the work follows as a sequence of composed frames. All real links and claims are kept. No clients or metrics were invented.Shared layer (all pages)
cubic-bezier(.2,.7,.1,1)) and one accent (#c23a22in light,#e8553bin dark). Both palettes are checked for AA contrast.prefers-color-schemeby default. A header toggle saves the viewer's choice inlocalStorage, and a head script applies it before first paint so there is no flash.font-display: swap, so the CSP is unchanged. It is used only for tracked titles and labels. Body text uses a tuned system stack with tabular numerals.favicon.ico, apple-touch icon, 192/512 icons,site.webmanifest). Each page gets a 1200×630 OG/Twitter card.Home (
index.html,assets/portfolio.css)404 (
404.html, new)Uses the same opening-card composition, is marked noindex, and Vercel serves it automatically.
Family (
family/)Graphify (
graphify/)Chips (
chips/).labelclass is scoped so it no longer collides with the shared labels.Smoke (
scripts/smoke.py)It now also checks every page for title, description, viewport, skip link and OG image. It also checks that every local asset a page references exists, and that each indexable page is in
sitemap.xml.Screenshots
docs/redesign/{home,chips,family,graphify,404}-{desktop,mobile}-{light,dark}.png(1440×900 and 390×844).Verification
python3 scripts/smoke.py→smoke ok: 22 links, 3 required present, no retired hosts, 5 pages checkedpython3 -m http.serverand captured every page with Playwright (Chromium) at 1440 and 390, in light and dark.scrollWidthequals the viewport on every page (no horizontal scroll), with no page or console errors.Notes
🤖 Generated with Claude Code
https://claude.ai/code/session_01WH1hPpf3u1xWecEhS6AHD2
Generated by Claude Code