Skip to content

feat(compare): replace pair card grid with per-model GPU matrix#397

Open
Oseltamivir wants to merge 2 commits into
masterfrom
feat/compare-pair-matrix
Open

feat(compare): replace pair card grid with per-model GPU matrix#397
Oseltamivir wants to merge 2 commits into
masterfrom
feat/compare-pair-matrix

Conversation

@Oseltamivir
Copy link
Copy Markdown
Contributor

@Oseltamivir Oseltamivir commented May 27, 2026

Summary

  • Each model's index card on /compare and /compare-per-dollar now renders an N×N GPU matrix instead of three separate vendor-bucketed card grids.
  • Header chips and cells are tinted by vendor — NVIDIA green (#76b900), AMD red (#ed1c24). Cross-vendor cells split on the 135° diagonal with each vendor's tint on its half.
  • Diagonal cells are inert (); cells without benchmark data render as faint outlines so it's easy to see what isn't covered yet.
  • Drops the unused ComparePairCardLink component.

Test plan

  • pnpm typecheck && pnpm lint && pnpm fmt clean
  • pnpm test:unit — 1946 / 1946 passing
  • Local: curl /compare and /compare-per-dollar return 200; GPU labels and per-cell colors render; cell links resolve to the canonical comparison slugs
  • Preview: skim each model's matrix; confirm header chips are color-keyed; confirm cross-vendor cells show the diagonal split

Note

Low Risk
Presentation-only change to compare navigation; availability filtering and destination URLs are unchanged.

Overview
On /compare and /compare-per-dollar, each model section no longer uses three vendor-bucketed card grids. Comparable pairs are flattened from bucketComparePairsByVendor and shown in a shared ComparePairMatrix: an N×N grid of GPUs with vendor-tinted headers, diagonal placeholders, faint cells where no benchmark pair exists, and clickable cells linking to the same comparison slugs as before. A CompareMatrixLegend was added to the top intro card on both index pages.

ComparePairCardLink was removed; navigation and analytics now live in the matrix (compare_index_matrix_clicked instead of compare_index_pair_clicked). Duplicate per-page groupPairsByVendorForModel helpers were deleted in favor of the matrix component.

Reviewed by Cursor Bugbot for commit 25f3834. Bugbot is set up for automated code reviews on this repo. Configure here.

Each model's index card now renders an N×N GPU matrix. Headers and cells
are tinted by vendor — NVIDIA green, AMD red, cross-vendor cells split
on the 135° diagonal — so users can scan vendor combos at a glance
instead of reading three separate "NVIDIA vs NVIDIA / AMD vs AMD /
cross" sections. Diagonal cells are inert; cells without benchmark data
render as faint outlines.

Applies to both /compare and /compare-per-dollar indices. Drops the
ComparePairCardLink component (no remaining callers).
@vercel
Copy link
Copy Markdown

vercel Bot commented May 27, 2026

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

Project Deployment Actions Updated (UTC)
inferencemax-app Ready Ready Preview, Comment May 27, 2026 3:15am

Request Review

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 044a049. Configure here.

style={{
background: `linear-gradient(135deg, ${AMD_BG_STRONG} 0%, ${AMD_BG_STRONG} 50%, ${NVIDIA_BG_STRONG} 50%, ${NVIDIA_BG_STRONG} 100%)`,
borderColor: 'rgba(160, 160, 160, 0.35)',
}}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Legend cross-vendor gradient is reversed from matrix cells

Medium Severity

The CompareMatrixLegend cross-vendor swatch hardcodes AMD (red) on the top-left and NVIDIA (green) on the bottom-right of its 135° gradient. However, compareGpus sorts NVIDIA GPUs first (rank 0) and AMD second (rank 1), so in the upper-right triangle of the matrix — the most prominent cross-vendor region — PairCell renders NVIDIA (green) on the top-left and AMD (red) on the bottom-right, which is the exact opposite gradient orientation from the legend. The legend only matches the lower-left triangle cells.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit 044a049. Configure here.

Empty colored rectangles felt visually weird. Each pair cell now shows
the two GPU short labels (NVL72 suffix dropped to fit) stacked with a
small "vs" separator, each tinted in its vendor's brand color. The
cell's vendor-tint background still carries the same×same / cross-vendor
signal; the in-cell labels add information density and make the matrix
readable without retracing the axes when scrolled.
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