Repository navigation
Conversation
…DF unchanged) The three content-dense sections become horizontal rails of short summary cards; activating a card opens the full entry in a full-screen :target detail overlay (a card on a dimmed/blurred backdrop). Screen-only — the PDF stays pixel-identical. - index.html: each dense section (Professional Experience / Additional / Competitions) now has (a) a screen-only cv-rail of cv-summary cards, (b) screen-only cv-detail overlays (role=dialog, namespaced ids e#/x#/c#, backdrop + visible close, all target="_self"), and (c) the ORIGINAL linear .cv-card.cv-entry entries repeated as print-only (.print) so the PDF is unchanged. - styles.css (@media not print): cv-rail (x scroll-snap + peek, overscroll-behavior:contain + touch-action:pan-x pan-y so rail swipes don't disturb the vertical deck snap), cv-summary, cv-detail overlay (:target show, body:has scroll-lock, blurred backdrop, pinned close ×). - overlay.js (new): dialog a11y layered on the :target baseline — focus move-in/trap/return, inert background (feature-detected), Escape closes to the overlay's own section. No-JS baseline (open/close via :target) intact; screen-only (never runs meaningfully in the PDF). Verified in the pinned image: make visual 8/8 (pdf-visual ✓, PDF baseline UNCHANGED; 6 screen baselines regenerated). Overlay geometry probed (covers viewport, centred 640px card). Lint verified directly: overlay.js standard-clean, styles.css stylelint-clean. Code-reviewed — the one finding (close × scrolled out of view on long content) fixed by anchoring it to .cv-detail-inner. Closes #189 Closes #190 Closes #191 Closes #192 Closes #193 Closes #194 Closes #195 Closes #196 Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>
|
🔺 Vercel preview: https://cv-6glrswf03-bruno-valerios-projects.vercel.app commit |
brunogbv
added a commit
that referenced
this pull request
Jul 4, 2026
Ships feature 003 (interactive editorial deck: full-viewport snap sections, summary-card rails + detail overlays, editorial restyle with vendored fonts, a11y/no-JS/reduced-motion, and the Through-Line signature) plus the US2 detail-overlay interaction fix. Screen-only; PDF unchanged. Integration branch 003-deck (US1 #214, US3+US2 #217/#218, US4 #219, US5 #220, overlay fix e5e713e).
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
The three content-dense sections (Professional Experience / Additional Experience / Robotics
Competitions) become horizontal rails of short summary cards; activating a card opens the full
entry in a full-screen
:targetdetail overlay (a card on a dimmed/blurred backdrop). The PDFstays pixel-identical.
Closes #189, #190, #191, #192, #193, #194, #195, #196.
How PDF fidelity is kept
Each dense section renders three ways: a screen-only
cv-railof summary cards, screen-onlycv-detailoverlays (full content), and the original linear.cv-card.cv-entryentries marked.print(in place — no wrapper — so the print DOM is unchanged). Screen chrome is@media not print.screen; combined with theemulateMedia('print')fix on003-deck, none of it reaches the PDF.Verified in the pinned image:
make visual8/8, PDF baseline unchanged, 6 screen baselines regenerated.Overlay a11y (progressive enhancement)
overlay.jslayers dialog semantics on the:targetbaseline: focus move-in / trap / return,inertbackground (feature-detected →
aria-hiddenfallback), Escape closes to the overlay's own section.Overlay ids are namespaced per section (
e#/x#/c#); every anchor (card, backdrop, visible close)uses
target="_self". No-JS baseline intact — overlays open/close purely via:target.Verification
to
.cv-detail-inner.overlay.jsStandard-clean,styles.cssstylelint-clean.
Scope
Into
003-deck(integration branch — no production deploy). Remaining: US4 (a11y / no-JS /reduced-motion hardening across the whole deck) and US5 (the Through-Line signature). Then
003-deck→mainships the full redesign.🤖 Generated with Claude Code