Repository navigation
Conversation
|
I'll fix CI failures and address comments from users with write access that start with 'Devin'.
|
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
from
October 8, 2026 17:34
96ce55c to
72dedff
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
from
October 8, 2026 17:56
72dedff to
6ee90e4
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
from
October 8, 2026 18:40
6ee90e4 to
fd428eb
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
from
October 8, 2026 20:39
fd428eb to
6437323
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
from
October 8, 2026 20:42
6437323 to
36455d0
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
from
October 8, 2026 20:47
36455d0 to
1387644
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
2 times, most recently
from
October 8, 2026 21:59
cf00d40 to
6fd411b
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
2 times, most recently
from
October 8, 2026 22:56
5bc349e to
0f08b91
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
from
October 8, 2026 23:09
0f08b91 to
4016385
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
from
October 8, 2026 23:41
4016385 to
be4907d
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
from
October 9, 2026 00:01
be4907d to
912bc5d
Compare
staging-devin-ai-integration
Bot
force-pushed
the
devin/1791477864-grid-lanes-dense
branch
from
October 9, 2026 01:04
912bc5d to
05b0bfa
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Objective
Third Grid Lanes PR:
densepacking (css-grid-3 §4.3 and §4.4 step 4). Stacked on #1272.After an item's normal placement and measurement, a dense container backfills it into the highest skipped space it fits into, provided the tracks of that space have the same total size as the tracks of its normal placement (so the measurement stays valid). Among spaces within the tie threshold of the highest one the start-most wins. A backfilled item leaves the auto-placement cursor and the running positions untouched; definitely placed items can backfill within their own tracks.
The dense keyword is read from
grid_auto_flow().is_dense(): the spec has not settled which property carries it (csswg-drafts#12803), Chromium uses a provisionalgrid-lanes-packproperty, and Blitz drives it fromgrid-auto-flow: denseon adisplay: grid-lanescontainer (DioxusLabs/blitz#1132). The fixtures set both properties so Chrome and Taffy agree.Context
Implementation in
src/compute/grid/lanes.rs, following Chromium's shape (GridLanesRunningPositions):TrackOpeningsper track (only allocated when dense): bounded skipped spaces plus the open end at the running position. Normal placement records a skipped space whenever a spanned track's running position is below the item's position; backfilling carves the item out of the opening (split, trim or remove).find_dense_placementtries every start line with the same spanned track size and intersects the openings across the span (lowest_opening_in_span, recursive like Chromium'sAccumulateTrackOpeningsToAccommodateItem); paths that end in the open end of every track are not skipped spaces. Two passes (highest, then first within the threshold that is above the normal placement) avoid a candidate allocation.outer size + stacking gapin the openings, matching the running-position bookkeeping.set_item_grid_axis_linesis the previous inline line-setting code, now shared by normal and dense placement.Tests: 9 new fixtures in
test_fixtures/grid_lanes/grid_lanes_dense_*.html(36 generated tests) covering backfill, the same-track-size rule, spanning backfill across adjacent openings, definite items, the tie threshold, gaps, margins, row direction and the no-opening fallback; all pass against Chrome 151 and the existing suites regenerated byte-identical.cargo test --all-features: 6869 passed.No shared grid code changes: everything is in the
grid_lanes-gatedlanes.rs, so default-feature grid layout is unaffected.Link to Devin session: https://dioxus.staging.devinenterprise.com/sessions/93f06aa5dd4e4bc18d2482197dbb9191
Open in Devin Desktop: https://dioxus.staging.devinenterprise.com/desktop/session/93f06aa5dd4e4bc18d2482197dbb9191?variant=devin-insiders
Requested by: @nicoburns