Commit Graph
429 Commits
Author SHA1 Message Date
SGavrl 40a34639ca render: size native input controls 2026-07-23 21:30:35 +00:00
SGavrl 706e110a24 render: preserve forced line break geometry 2026-07-23 21:07:10 +00:00
SGavrl 15d67b0a18 render: derive normal line height from font metrics 2026-07-23 20:46:26 +00:00
SGavrl 94897724d8 render: resolve CSS round length math 2026-07-23 20:09:19 +00:00
SGavrl e90ea7eacc test: gate BFC float continuation 2026-07-23 19:56:32 +00:00
SGavrl fa471bce43 render: propagate float bands through blocks 2026-07-23 19:56:24 +00:00
SGavrl 3ea5ea0b2b test: gate constrained replaced geometry 2026-07-23 19:23:31 +00:00
SGavrl 07d2c6691f render: clamp intrinsic replaced sizing 2026-07-23 19:22:27 +00:00
SGavrl 436b69f50f test: gate right-float navigation geometry 2026-07-23 19:01:54 +00:00
SGavrl 4b4d7007d9 render: place right-float navigation bands 2026-07-23 19:01:50 +00:00
SGavrl 567ba48649 test: gate list and mixed float geometry 2026-07-23 18:42:21 +00:00
SGavrl eff74fc38c render: correct list and mixed float geometry 2026-07-23 18:42:15 +00:00
SGavrl 3863833ca4 test: gate legacy center geometry 2026-07-23 18:06:03 +00:00
SGavrl 8422cfccd0 render: honor legacy center layout 2026-07-23 18:05:41 +00:00
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 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 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 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 29628df548 render: resolve contextual CSS math 2026-07-23 12:53:11 +00:00
SGavrl df9359ec87 render: honor responsive grid track syntax 2026-07-23 12:41:56 +00:00
SGavrl b13a1e5e71 render: resolve relative box edge lengths 2026-07-23 12:30:44 +00:00
SGavrl b39ada2fc0 render: resolve block auto margins 2026-07-23 12:19:29 +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 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 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 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 4979606a2f render: respect CSS box sizing 2026-07-23 10:06:55 +00:00
SGavrl 3d7a8e2582 render: honor important cascade priority 2026-07-22 12:59:55 +00:00
SGavrl 22f33e4dec render: z-index paint layers and clear ending float zones
Paint order was pure tree order, so a dropdown/overlay declared before a
later sibling lost to it and a z:-1 decorative backdrop covered its own
content. A positioned element with a non-zero z-index now lifts its
whole subtree into a separate paint layer: negative layers under the
normal flow, positive above it, each sorted ascending with tree order
preserved within equal z. Nested z roots paint inside their ancestor
root's subtree in tree order, the pragmatic core of CSS stacking
contexts.

clear (left/right/both, previously unparsed) now ends the float zone,
so a clearfix element drops below the float at full width instead of
joining the flow column beside it.

Repro-verified: an earlier z:10 overlay paints over a later sibling, a
later z:-1 backdrop paints under earlier content, and the clear repro
matches Chromium within 3px on every measure. Spot set unchanged or
slightly improved; obstacle course 33/33.
2026-07-16 13:10:28 +00:00