v3: the journal mosaic closes its rows — dense auto-flow was papering over a tiler that didn't tile: a 2-column banner meeting a 1-column gap wrapped, left a hole, and dense filled it by pulling a later card up out of rank order. So the composer now walks its own occupancy grid in reading order and clamps each footprint to the run of cells actually free to the right of the cursor (a banner that meets one cell becomes a square rather than wrapping), plus drops the second row of a portrait within a row of the end, where nothing is left to fill the cells beside it. Four columns close on every row, no gap to backfill, and the order read is the order ranked — dense stays only below the full width, where four-column tiling no longer describes the grid and a hole is the worse alternative. The page also leads with art now: when the hottest dump is a bare note, the first picture within three places of it takes the front instead, since the top few sit within noise of each other on score and which one opens a section front is an editorial call. nyt's frameless block follows: rules overshoot their cell so neighbours meet and read continuous, which leaves ticks around the outside of the grid, and one page-coloured frame as thick as the art inset cuts them all back at once — replacing the two strips that only masked the first column and first row.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
11
src/App.css
11
src/App.css
@@ -5439,7 +5439,10 @@ body.has-player .chat-fab {
|
||||
A composed scrapbook: one hero feature plus an asymmetric mix of
|
||||
banners, portraits, squares and pull-quotes. Footprints are set by the
|
||||
layout composer; how a card paints (image / quote / text) follows its
|
||||
content. Dense auto-flow backfills the gaps the varied spans leave. */
|
||||
content. The composer clamps every footprint to the cells left in its row,
|
||||
so the four columns close on every row with no gap to backfill — and
|
||||
without `dense` moving a later card up into one, the order cards are read
|
||||
in stays the order they were ranked in. */
|
||||
.journal-grid {
|
||||
list-style: none;
|
||||
margin: 0 auto;
|
||||
@@ -5447,7 +5450,6 @@ body.has-player .chat-fab {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
grid-auto-rows: 9rem;
|
||||
grid-auto-flow: dense;
|
||||
gap: 0.75rem;
|
||||
max-width: 1180px;
|
||||
width: 100%;
|
||||
@@ -5715,9 +5717,14 @@ body.has-player .chat-fab {
|
||||
opacity: 0.55;
|
||||
}
|
||||
|
||||
/* Below the full width the composer's four-column tiling no longer describes
|
||||
the grid, so a banner can meet a single free cell and wrap. Dense auto-flow
|
||||
comes back to backfill what that leaves — worth the reordering here, where
|
||||
the alternative is a hole. */
|
||||
@media (max-width: 980px) {
|
||||
.journal-grid {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
grid-auto-flow: dense;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user