Skip to content

Give the catalog table another 20px, and measure why that is not the lever - #65

Merged
depalmar merged 1 commit into
mainfrom
tune/table-height
Aug 15, 2026
Merged

depalmar merged 1 commit into
mainfrom
tune/table-height

Conversation

@depalmar

Copy link
Copy Markdown
Owner

Ray asked for more room to see and scroll the catalog. The cap moves 100vh-210px → 100vh-190px: at a 720px viewport, 495px → 515px.

That is +20px, or 0.29 of a row against a 70px median. The cap is not what constrains this view, so the number is tuned and the real finding is written down.

Measured on all 615 rows at 1280×720

Metric Value
Row height p10 / median / p90 / max 60 / 79 / 133 / 227 px
Rows taller than the 45px two-line minimum 94%
Rows fully visible now 6.5
Rows visible if every row clamped to 2 lines 11.6

Row height is worth +78%. The cap is worth +4%. The other half is the 237px of chrome above the table, of which the sticky header is 137px.

Why clamping is not done here

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. A two-line clamp in a forensics catalog hides the sentence that changes what a responder collects.

That is a judgement call with consequences, not a tuning decision, so it is Ray's.

Measured and deliberately left alone

At deep page scroll the sticky th slips beneath the sticky page header — 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.

Gates

All pass. One CSS value changed.

🤖 Generated with Claude Code

…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 <noreply@anthropic.com>
@depalmar
depalmar merged commit 17a934e into main Aug 15, 2026
4 checks passed
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