Skip to content

US2: summary-card rails + full-screen detail overlays (screen-only; PDF unchanged) - #218

Merged
brunogbv merged 1 commit into
003-deckfrom
003-us2
Jul 4, 2026
Merged

brunogbv merged 1 commit into
003-deckfrom
003-us2

Conversation

@brunogbv

@brunogbv brunogbv commented Jul 4, 2026

Copy link
Copy Markdown
Owner

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 :target detail overlay (a card on a dimmed/blurred backdrop). The PDF
stays 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-rail of summary cards, screen-only
cv-detail overlays (full content), and the original linear .cv-card.cv-entry entries marked
.print
(in place — no wrapper — so the print DOM is unchanged). Screen chrome is @media not print

  • .screen; combined with the emulateMedia('print') fix on 003-deck, none of it reaches the PDF.
    Verified in the pinned image: make visual 8/8, PDF baseline unchanged, 6 screen baselines regenerated.

Overlay a11y (progressive enhancement)

overlay.js layers dialog semantics on the :target baseline: focus move-in / trap / return, inert
background (feature-detected → aria-hidden fallback), 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

  • Rails + overlay eyeballed (rail with peek; overlay geometry probed — covers viewport, centred 640px card).
  • Independent code-review: one finding (close × scrolled away on long content) fixed by anchoring it
    to .cv-detail-inner.
  • Lint verified directly (not the worktree false-green): overlay.js Standard-clean, styles.css
    stylelint-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 → main ships the full redesign.

🤖 Generated with Claude Code

…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]>
@github-actions

github-actions Bot commented Jul 4, 2026

Copy link
Copy Markdown

🔺 Vercel preview: https://cv-6glrswf03-bruno-valerios-projects.vercel.app

commit 35d0e95 · updated 2026-07-04 21:17 UTC

@brunogbv
brunogbv merged commit 7b8ed68 into 003-deck Jul 4, 2026
13 checks passed
@brunogbv
brunogbv deleted the 003-us2 branch July 4, 2026 21:18
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

1 active deployment
preview-pr-218 — 35d0e953 Deployed Jul 4, 2026 by github-actions[bot]
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