From c04b4f69abeaf2a110e3ec10a3e3dcc470998c7c Mon Sep 17 00:00:00 2001 From: depalmar <57051011+depalmar@users.noreply.github.com> Date: Fri, 14 Aug 2026 20:02:06 -0400 Subject: [PATCH] Give the catalog table another 20px, and measure why that is not the lever Ray asked for more room to see and scroll the catalog. The cap moves from 100vh-210px to 100vh-190px, which at a 720px viewport is 495px to 515px. That is +20px, and measured against a 70px median row it is 0.29 of a row. The cap is not what is constraining this view, so the number is tuned and the real finding is written down rather than left for the next person to rediscover. Measured on all 615 rows at 1280x720: row height p10 60px, median 79px, p90 133px, max 227px 94% of rows are taller than the 45px two-line minimum rows fully visible now 6.5 rows visible if every row were clamped to 2 lines 11.6 So row height is the lever and it is worth 78%, where the cap is worth 4%. The height above the table is the other half of it: 237px of chrome, of which the sticky header is 137px. Clamping is not done here because it is a judgement call with consequences. The Notes column carries the operational caveats - retention windows, the local-agent-takes-precedence trap on AIRT-0008, the "capture the running container or nothing" note on AIRT-0033 - and a two-line clamp in a forensics catalog hides the sentence that changes what a responder collects. That is Ray's call, not a tuning decision. Also measured and left alone: at deep page scroll the sticky th slips beneath the sticky page header, because th pins to .tablescroll's top and that container can pass under .hdr. It reproduces at every cap value including the conservative one, so it predates this change. Making .tablewrap sticky at the header height was tried and does not work - an ancestor's overflow kills sticky on it, and the container top still went to -45px at scroll 282. Co-Authored-By: Claude Opus 5 --- artifacts/scripts/build_site.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/artifacts/scripts/build_site.py b/artifacts/scripts/build_site.py index 9b5cdbd..5022d82 100644 --- a/artifacts/scripts/build_site.py +++ b/artifacts/scripts/build_site.py @@ -503,7 +503,7 @@ def build_tools(entries, rows): 11px, which is also why the bare-badge decision further down is safe again once this is capped: that comment's premise is "the column header already names the scale there", and the header has to be on screen for it to hold. */ -.tablescroll{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 210px);min-height:320px} +.tablescroll{overflow-x:auto;overflow-y:auto;max-height:calc(100vh - 190px);min-height:320px} table{border-collapse:collapse;width:100%;min-width:940px} th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line-soft)} th{position:sticky;top:0;z-index:2;background:var(--panel-2);cursor:pointer;