Skip to content

fix(proposal): stack the hero until the two-column layout fits - #29

Merged
scheemunai merged 1 commit into
mainfrom
fix/proposal-hero-overflow
Sep 5, 2026
Merged

fix(proposal): stack the hero until the two-column layout fits#29
scheemunai merged 1 commit into
mainfrom
fix/proposal-hero-overflow

Conversation

@scheemunai

Copy link
Copy Markdown
Owner

The defect, with the element named

proposal overflows horizontally at 545–599, up to 49px.

.page > .hero > p.note > b   "41 minutes"   width 68px, right edge 595 in a 560 viewport

.hero is grid-template-columns: minmax(0,auto) minmax(0,1fr). The figure column claims ~470px, so the note column resolves to 0–49px until 600:

width columns overflow
544 512px (stacked) 0
545 465px 0px 49
560 470.375px 9.625px 40
590 470.375px 39.625px 10
600 470.375px 49.625px 0

The stack rule was inside the 34rem block, so the hero stacked only to 544 and 545–599 was left with a two-column layout that does not fit. Moved to its own 37.5rem block.

Verification

320–700  step 1  (381 widths)   overflow 0 at every width
700–1920 step 2  (611 widths)   overflow 0 at every width

innerWidth asserted before each recorded measurement; the harness refuses rather than records if the viewport does not read back.

width before after
390 2,687 2,687
768 1,995 1,995
1,440 2,060 2,060

Heights at the contract widths are unchanged. This is horizontal overflow only — the narrow-width height band is out of scope pending the threshold re-derivation.

Provenance of the finding

I first reported this band as 320–346, which was wrong: that was the template's height band, transcribed into the overflow row. The orchestrator swept 320–350, correctly found nothing, and asked me to re-check with the offending element named. The finding was real and its location was not — the band is 545–599 and the element is the <b> above.

🤖 Generated with Claude Code

The hero is `grid-template-columns: minmax(0,auto) minmax(0,1fr)`. The
figure claims ~470px, so between 545 and 599 the note column resolves to
between 0 and 49px and its `41 minutes` runs past the viewport edge:
49px of horizontal overflow at 545, 40px at 560, 0 from 600.

The stack rule lived in the 34rem block, so the hero stacked only to 544
and the 545-599 band was left with a two-column layout that does not fit.
Moved to its own 37.5rem block.

Horizontal overflow only. The narrow-width height band is out of scope by
instruction pending the threshold re-derivation.

  overflow  545-599: up to 49px  ->  0 at all 992 widths swept
            (320-700 step 1, 700-1920 step 2, innerWidth asserted)
  390       2,687  unchanged
  768       1,995  unchanged
  1,440     2,060  unchanged

Co-Authored-By: CRHQ <noreply@crhq.ai>
@scheemunai
scheemunai merged commit a681dee into main Sep 5, 2026
5 checks passed
scheemunai added a commit that referenced this pull request Sep 5, 2026
… type fluid (#34)

The 34rem block toggled type scale and spacing while declaring nothing
structural, so a reader between 545 and 599 received a measure set for a
layout they did not have.

I caused that. #29 lifted `.hero{grid-template-columns}` out of the 34rem
block into its own 37.5rem block to fix a horizontal overflow, which left
the old boundary purely typographic. Before #29 that block did declare
layout.

Rather than give the old boundary a structural rule it does not need, the
spacing moves to 37.5rem where the hero actually restructures, and the two
stepped type sizes become `clamp()` so there is no step to misplace. That
is the shape `runbook` and `changelog` already use: one breakpoint, fluid
type.

  media blocks           2 -> 1
  structural decls in it 1
  font-size in any block 0
  step at 540..550       none
  remaining boundary     600->601, +541, and it restructures

  390    2,687 -> 2,687   unchanged
  768    1,995 -> 1,987   8px better
  1,440  2,060 -> 2,060   unchanged
  overflow  0 across 992 widths (320-700 step 1, 700-1920 step 2),
            innerWidth asserted before every recorded measurement

Nothing removed, no line-height touched.

Co-authored-by: builder-1 <noreply@crhq.ai>
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.

2 participants