Commit Graph

689 Commits

Author SHA1 Message Date
SGavrl
20d31938a1 test: gate absolute static position 2026-07-23 17:30:49 +00:00
SGavrl
f6484f51c8 render: preserve absolute static position 2026-07-23 17:30:43 +00:00
SGavrl
fb87e87849 test: gate content alignment 2026-07-23 16:57:28 +00:00
SGavrl
ca685813de render: honor content alignment 2026-07-23 16:57:24 +00:00
SGavrl
4887e95f52 test: gate container item alignment 2026-07-23 16:49:27 +00:00
SGavrl
051e8e956e render: honor container item alignment 2026-07-23 16:49:22 +00:00
SGavrl
1387e7ffe4 test: gate item self alignment 2026-07-23 16:42:31 +00:00
SGavrl
ba92928ff5 render: honor item self alignment 2026-07-23 16:42:19 +00:00
SGavrl
c333619703 test: gate inline block flex geometry 2026-07-23 16:24:17 +00:00
SGavrl
2d1f84a29d render: preserve inline block inner flow 2026-07-23 16:24:13 +00:00
SGavrl
5b602259c6 test: gate flex text alignment geometry 2026-07-23 15:58:37 +00:00
SGavrl
bd9c161f55 render: separate text and item alignment 2026-07-23 15:58:37 +00:00
SGavrl
49541792ee test: gate background shorthand reset 2026-07-23 15:43:24 +00:00
SGavrl
201c5f6c6f render: reset omitted background layers 2026-07-23 15:43:24 +00:00
SGavrl
ea3ff7ca4f test: gate replaced wrapper geometry 2026-07-23 15:35:02 +00:00
SGavrl
f83bdd36cf render: contain responsive replaced wrappers 2026-07-23 15:34:57 +00:00
SGavrl
cedec298d5 test: require float clear fill available 2026-07-23 15:13:52 +00:00
SGavrl
6c77eb2383 render: preserve block fill beside floats 2026-07-23 15:13:40 +00:00
SGavrl
bbdb779de9 test: gate opposing float geometry 2026-07-23 15:04:03 +00:00
SGavrl
85613b741d render: place opposing floats in one band 2026-07-23 15:03:50 +00:00
SGavrl
c7438370db test: gate replaced grid geometry 2026-07-23 14:48:36 +00:00
SGavrl
9471591c6c render: preserve responsive image grid geometry 2026-07-23 14:48:27 +00:00
SGavrl
7ddf52eb27 test: gate font shorthand geometry 2026-07-23 14:25:14 +00:00
SGavrl
da5cc2cc2a render: honor font shorthand 2026-07-23 14:25:09 +00:00
SGavrl
944db4b104 test: gate float flow geometry 2026-07-23 14:10:02 +00:00
SGavrl
735375ee33 render: preserve float flow bands 2026-07-23 14:09:57 +00:00
SGavrl
1f85dfce6b test: gate flex item geometry 2026-07-23 13:34:19 +00:00
SGavrl
64b628404b render: ignore non-items in flex layout 2026-07-23 13:34:09 +00:00
SGavrl
f8aac61c0b test: gate contextual CSS math geometry 2026-07-23 12:53:23 +00:00
SGavrl
29628df548 render: resolve contextual CSS math 2026-07-23 12:53:11 +00:00
SGavrl
acc4422f48 test: gate responsive grid geometry 2026-07-23 12:42:08 +00:00
SGavrl
df9359ec87 render: honor responsive grid track syntax 2026-07-23 12:41:56 +00:00
SGavrl
1e71053169 test: report structural geometry deltas 2026-07-23 12:31:05 +00:00
SGavrl
ca31d39070 test: gate relative box edge geometry 2026-07-23 12:30:56 +00:00
SGavrl
b13a1e5e71 render: resolve relative box edge lengths 2026-07-23 12:30:44 +00:00
SGavrl
7d74c15f31 test: gate block auto margin geometry 2026-07-23 12:19:39 +00:00
SGavrl
b39ada2fc0 render: resolve block auto margins 2026-07-23 12:19:29 +00:00
SGavrl
2f559aeccf test: gate modern containing-block coordinates
Add exact Chromium coordinate checks for effect, containment, will-change,
and content-visibility triggers, with container-type as a pinned negative
control.
2026-07-23 12:03:05 +00:00
SGavrl
7827a6a788 render: honor modern containing-block triggers
Track transform, filter, backdrop-filter, perspective, containment,
will-change, and content-visibility triggers independently. Use the combined
state for absolute and fixed containing-block ancestry.
2026-07-23 12:02:55 +00:00
SGavrl
b44e59ef71 test: gate transformed positioning coordinates
Add an exact Chromium fixture for absolute and fixed descendants of
transformed boxes, an unsupported identity transform, and the viewport-fixed
control case.
2026-07-23 11:47:12 +00:00
SGavrl
bbeceb97ad render: honor transform containing blocks
Track every non-none transform as a containing-block trigger, including
unsupported visual transforms. Keep separate nearest-ancestor maps so
positioned boxes capture absolute descendants while only transforms capture
fixed descendants.
2026-07-23 11:47:00 +00:00
SGavrl
1526d02200 test: assert absolute placement coordinates
Add a portable containing-block fixture covering start, end, percentage, and
fixed insets. Extend solid-color component checks to validate coordinates as
well as dimensions.
2026-07-23 11:34:31 +00:00
SGavrl
6ea1739121 render: position inset boxes against CSS containers
Reparent inset-positioned absolute boxes to the nearest non-static ancestor
and fixed boxes to the initial containing block. Keep auto-axis boxes on the
existing static-position path, distinguish fixed from absolute, and blockify
positioned inline boxes and floats.
2026-07-23 11:34:23 +00:00
SGavrl
d36809058f test: gate modern hydration contracts
Add portable checks for live attribute maps, parser script moves, element
scrolling, and streamed codec transforms. Capture Chromium references through
Playwright's pinned browser and record the exact version and lifecycle.
2026-07-23 11:00:11 +00:00
SGavrl
5de5d07c24 render: support streamed framework hydration
Make attribute maps live, preserve parser script execution state, and expose
element scrolling used by React commit callbacks. Connect fallback web streams
so React Router and Remix hydration payloads flow through codec transforms.
2026-07-23 10:59:51 +00:00
SGavrl
571c419e51 test: add deterministic render parity checks 2026-07-23 10:07:04 +00:00
SGavrl
4979606a2f render: respect CSS box sizing 2026-07-23 10:06:55 +00:00
SGavrl
a11f87d0c9 test: fail render repros on missing screenshots 2026-07-22 13:00:08 +00:00
SGavrl
3d7a8e2582 render: honor important cascade priority 2026-07-22 12:59:55 +00:00
SGavrl
b7c3d086bf docs: render handover, fix plan, and repro fixtures
Adds docs/render with a handover covering what shipped on this branch,
the verification methodology, build gotchas, and the prioritized list of
remaining work, alongside the phase plan and the index of the Gecko
layout study that informed it.

Adds render-repros: one HTML fixture per bug fixed here (absolute fills,
mixed inline+block layout, carousel clipping, z-index order, clear,
tables, image density and alt fallback) plus run.sh to render them all
in obscura and Chromium for side-by-side checking. Run before and after
any layout or paint change.
2026-07-22 12:32:25 +00:00