feat(design-system): finish Liquid Glass — close all remaining sub-convoys #96

Merged
varutasu merged 1 commit from finish-liquid-glass-design into main 2026-06-03 21:34:07 -04:00
varutasu commented 2026-06-03 21:30:48 -04:00 (Migrated from github.com)

Summary

Follow-up to #95 that closes out every remaining Liquid Glass sub-convoy in one sweep. Operator-instructed scope: "finish off the design changes."

After this lands, all 8 sub-convoys of the Liquid Glass portfolio are MERGED to main.

What changed

# Slug Outcome
#2 Brief 2 liquid-glass-modal-and-surface-primitive 8 remaining modals migrated to <Modal> primitive; CI grandfather list emptied (gate is now strict, zero allow-list)
#3 Brief 2 liquid-glass-form-primitives Dashboard, my-cards, community/collections, CollectionsPageView CTAs → <Button>; CollectionsPageView search → <SearchBar>
#5 liquid-glass-card-surfaces Scope revised. components/Card3D.js deleted (-505 LOC) — survey confirmed it's dead code (zero importers in pages/ or components/). The "pre-existing state bug" never affected the running app. fix-card3d-state follow-up convoy dropped.
#6 Brief 1 liquid-glass-public-and-auth pages/index.js landing fully glass-migrated (top nav + 3 feature cards + featured-list cards + 6 CTAs). pages/invite/{accept,decline}.js outcome panels → <GlassSurface> + 8 buttons → <Button>.
#8 Brief 2 cleanup-legacy-design-css gradient-bg-purple swept to gradient-bg-ember across 8 files / 13 occurrences. 5 dead CSS classes deleted from globals.css. forbidden-deprecated-color-aliases CI gate graduated WARN → FAIL.

Two CI gates now BLOCKING

  • forbidden-modal-shell-without-primitive — zero allow-list. Any reintroduction of fixed inset-0 bg-black bg-opacity- fails the build.
  • forbidden-deprecated-color-aliases — graduated WARN → FAIL. All 9 patterns (gradient-text-{purple,pink,blue}, glow-{purple,pink,blue}, gradient-bg-{purple,blue,pink}) block the build if a new consumer appears.

Verification

  • npm run lint — 0 errors (2 pre-existing warnings carry over from #95; unrelated)
  • npm run test:run — 104/104 passing (unchanged)
  • npm run build — clean Turbopack build
  • forbidden-modal-shell-without-primitive gate locally clear
  • forbidden-deprecated-color-aliases gate locally clear
  • Vercel preview build passes
  • preview-smoke.yml passes
  • Linux visual-diff baselines re-seed (landing page change will likely shift the homepage screenshot)
  • Operator promotes to production

Notes

The card-grid component (components/CardItem.js) is intentionally not modified — it has per-rarity glow tuning the visual-diff baseline locks in. A future implementer turn can apply rim-light tokens with its own dedicated baseline re-seed.

The remaining per-row icon buttons in card grids (CollectionsPageView, my-cards, CardsPageView) are intentionally left native — tiny per-card actions whose styling doesn't match <Button> variants and would invalidate baselines.

Test plan

  • Smoke spec coverage: auth + scanner specs touch the migrated modal pattern; landing page is the visual-diff baseline target.
  • Manual verification recommended: open every modal in the app (decks, deck-builder, scanner, collection lists) — every one should now blur the page behind it.

Made with Cursor

## Summary Follow-up to #95 that closes out every remaining Liquid Glass sub-convoy in one sweep. Operator-instructed scope: *"finish off the design changes."* After this lands, **all 8 sub-convoys of the Liquid Glass portfolio are MERGED to main**. ## What changed | # | Slug | Outcome | |---|---|---| | **#2 Brief 2** | `liquid-glass-modal-and-surface-primitive` | 8 remaining modals migrated to `<Modal>` primitive; CI grandfather list emptied (gate is now strict, zero allow-list) | | **#3 Brief 2** | `liquid-glass-form-primitives` | Dashboard, my-cards, community/collections, CollectionsPageView CTAs → `<Button>`; CollectionsPageView search → `<SearchBar>` | | **#5** | `liquid-glass-card-surfaces` | **Scope revised.** `components/Card3D.js` deleted (-505 LOC) — survey confirmed it's dead code (zero importers in `pages/` or `components/`). The "pre-existing state bug" never affected the running app. `fix-card3d-state` follow-up convoy dropped. | | **#6 Brief 1** | `liquid-glass-public-and-auth` | `pages/index.js` landing fully glass-migrated (top nav + 3 feature cards + featured-list cards + 6 CTAs). `pages/invite/{accept,decline}.js` outcome panels → `<GlassSurface>` + 8 buttons → `<Button>`. | | **#8 Brief 2** | `cleanup-legacy-design-css` | `gradient-bg-purple` swept to `gradient-bg-ember` across 8 files / 13 occurrences. 5 dead CSS classes deleted from globals.css. **`forbidden-deprecated-color-aliases` CI gate graduated WARN → FAIL.** | ## Two CI gates now BLOCKING - `forbidden-modal-shell-without-primitive` — zero allow-list. Any reintroduction of `fixed inset-0 bg-black bg-opacity-` fails the build. - `forbidden-deprecated-color-aliases` — graduated WARN → FAIL. All 9 patterns (`gradient-text-{purple,pink,blue}`, `glow-{purple,pink,blue}`, `gradient-bg-{purple,blue,pink}`) block the build if a new consumer appears. ## Verification - [x] `npm run lint` — 0 errors (2 pre-existing warnings carry over from #95; unrelated) - [x] `npm run test:run` — 104/104 passing (unchanged) - [x] `npm run build` — clean Turbopack build - [x] `forbidden-modal-shell-without-primitive` gate locally clear - [x] `forbidden-deprecated-color-aliases` gate locally clear - [ ] Vercel preview build passes - [ ] `preview-smoke.yml` passes - [ ] Linux visual-diff baselines re-seed (landing page change will likely shift the homepage screenshot) - [ ] Operator promotes to production ## Notes The card-grid component (`components/CardItem.js`) is intentionally **not** modified — it has per-rarity glow tuning the visual-diff baseline locks in. A future implementer turn can apply rim-light tokens with its own dedicated baseline re-seed. The remaining per-row icon buttons in card grids (CollectionsPageView, my-cards, CardsPageView) are intentionally left native — tiny per-card actions whose styling doesn't match `<Button>` variants and would invalidate baselines. ## Test plan - Smoke spec coverage: auth + scanner specs touch the migrated modal pattern; landing page is the visual-diff baseline target. - Manual verification recommended: open every modal in the app (decks, deck-builder, scanner, collection lists) — every one should now blur the page behind it. Made with [Cursor](https://cursor.com)
vercel[bot] commented 2026-06-03 21:30:54 -04:00 (Migrated from github.com)

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
tcg-vault Ready Ready Preview, Comment Jun 4, 2026 1:30am

Request Review

[vc]: #HOOx0kpQ3L0eqay2fWfmOxprhaeRYXX3X4AQ6Xbnwr0=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJ0Y2ctdmF1bHQiLCJwcm9qZWN0SWQiOiJwcmpfRjZXOEVvRkd3Y0g3aWVGcnRvRlNlOXdVVkFhNSIsImxpdmVGZWVkYmFjayI6eyJyZXNvbHZlZCI6MCwidW5yZXNvbHZlZCI6MCwidG90YWwiOjAsImxpbmsiOiJ0Y2ctdmF1bHQtZ2l0LWZpbmlzaC1saXF1aWQtNTBiMTg1LXJhbmRhbGwtc3RpbGx3ZWxscy1wcm9qZWN0cy52ZXJjZWwuYXBwIn0sImluc3BlY3RvclVybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS9yYW5kYWxsLXN0aWxsd2VsbHMtcHJvamVjdHMvdGNnLXZhdWx0LzYxMVJFUFRWclZTbnZwcVROTGRSNVZZdVA5cHUiLCJwcmV2aWV3VXJsIjoidGNnLXZhdWx0LWdpdC1maW5pc2gtbGlxdWlkLTUwYjE4NS1yYW5kYWxsLXN0aWxsd2VsbHMtcHJvamVjdHMudmVyY2VsLmFwcCIsIm5leHRDb21taXRTdGF0dXMiOiJERVBMT1lFRCJ9XSwicmVxdWVzdFJldmlld1VybCI6Imh0dHBzOi8vdmVyY2VsLmNvbS92ZXJjZWwtYWdlbnQvcmVxdWVzdC1yZXZpZXc/b3duZXI9dmFydXRhc3UmcmVwbz10Y2ctdmF1bHQmcHI9OTYifQ== The latest updates on your projects. Learn more about [Vercel for GitHub](https://vercel.link/github-learn-more). | Project | Deployment | Actions | Updated (UTC) | | :--- | :----- | :------ | :------ | | [tcg-vault](https://vercel.com/randall-stillwells-projects/tcg-vault) | ![Ready](https://vercel.com/static/status/ready.svg) [Ready](https://vercel.com/randall-stillwells-projects/tcg-vault/611REPTVrVSnvpqTNLdR5VYuP9pu) | [Preview](https://tcg-vault-git-finish-liquid-50b185-randall-stillwells-projects.vercel.app), [Comment](https://vercel.live/open-feedback/tcg-vault-git-finish-liquid-50b185-randall-stillwells-projects.vercel.app?via=pr-comment-feedback-link) | Jun 4, 2026 1:30am | <a href="https://vercel.com/vercel-agent/request-review?owner=varutasu&repo=tcg-vault&pr=96" rel="noreferrer"><picture><source media="(prefers-color-scheme: dark)" srcset="https://agents-vade-review.vercel.sh/request-review-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://agents-vade-review.vercel.sh/request-review-light.svg"><img src="https://agents-vade-review.vercel.sh/request-review-light.svg" alt="Request Review"></picture></a>
github-actions[bot] commented 2026-06-03 21:30:59 -04:00 (Migrated from github.com)

Pipeline Health

Build + CI gates

Gate Status
Vercel build (Preview) pass
CI: Lint pass
CI: Schema map fresh skipped
Preview smoke pass
Visual diff pass

Build runs on Vercel; this CI runs lint and schema-map drift only (no duplicate build).

Role reports

Role Status
Reviewer report pending
A11y audit pending
Design system audit pending

See individual comments above for details. This rollup updates automatically.

<!-- pipeline-rollup --> ## Pipeline Health ### Build + CI gates | Gate | Status | | --- | --- | | Vercel build (Preview) | ✅ pass | | CI: Lint | ✅ pass | | CI: Schema map fresh | ❌ skipped | | Preview smoke | ✅ pass | | Visual diff | ✅ pass | _Build runs on Vercel; this CI runs lint and schema-map drift only (no duplicate build)._ ### Role reports | Role | Status | | --- | --- | | Reviewer report | ⏳ pending | | A11y audit | ⏳ pending | | Design system audit | ⏳ pending | See individual comments above for details. This rollup updates automatically.
github-actions[bot] commented 2026-06-03 21:31:58 -04:00 (Migrated from github.com)

Visual Diff

Screenshots and diffs uploaded as artifacts: view run

If intentional changes: update snapshots locally with npx playwright test --project=visual --update-snapshots and commit.

## Visual Diff Screenshots and diffs uploaded as artifacts: [view run](https://github.com/varutasu/tcg-vault/actions/runs/26924301644) If intentional changes: update snapshots locally with `npx playwright test --project=visual --update-snapshots` and commit.
Sign in to join this conversation.
No description provided.