Repository navigation
mgbrowser v0.9.27 Experimental Preview
mgbrowser v0.9.27 Experimental Preview
CSS layout fidelity, anti-aliased border-radius rendering and rounded clipping,
full CSS 2.1 Appendix E stacking contexts and z-index paint order, position: absolute hypothetical static positioning across block/inline/flex/grid and
position: sticky clamping, direction: rtl, CSS Sizing 4 aspect-ratio,
linear calc(% + px) in flex/grid, CSS 2.1 float/clear and BFC float
avoidance, overflow: auto | scroll and table-cell clipping, general
::before/::after pseudo-elements, visibility: collapse, and CSSOM
container-query length units. Honest upstream WPT coverage advances from 339
to 528 PASS / 421 FAIL / 62 UNSUPPORTED of 1,011 (+189 net new passes,
zero losses) on the static reftest lane and from 15/16 (77/79) to 16/16
files and 79/79 final subtests (100%) on the Window parsing lane.
Exact-source publication and public-install receipts are recorded in the dated
work log.
Linux x86_64 / X11 or XWayland, glibc 2.35 or newer. Rust 1.91.1, locked
dependencies, Apache-2.0 license, and pure-Rust implementation backends (zero
new crate dependencies).
CSS Layout Fidelity & WPT Coverage (v0.9.27)
- Rounded Corners & Clipping (
crates/mg-sparkle/src/paint.rs,styled_layout.rs):- Implements CSS Backgrounds 3 §4.5 elliptical corner resolution, overlap
scale factorf, inner padding/content radii, 4×4 supersampled boundary
anti-aliasing without outer background bleed, diagonal per-side corner
borders, and stackable roundedCanvasClipmasking across fills, text,
gradients, images, andoverflow != visible, while preserving an exact
zero-overhead fast path when all outer radii are zero.
- Implements CSS Backgrounds 3 §4.5 elliptical corner resolution, overlap
- Stacking Contexts & CSS 2.1 Appendix E Painting Order (
crates/mg-sparkle/src/styled_layout/stacking.rs):- Establishes stacking contexts for
opacity < 1.0,position: fixed | sticky,
and numericz-indexon positioned boxes and flex/grid items, ordering own
backgrounds/borders, negativez-indexchild contexts, in-flow blocks,
floats, inline/atomic-inline andorder-sorted flex/grid items, DOM-ordered
z-index: autopositioned pseudo-contexts interleaved withz-index: 0
contexts, and positivez-indexchild contexts with clip-safe paint and hit
reordering.
- Establishes stacking contexts for
- Positioned & Sticky Layout (
crates/mg-sparkle/src/styled_layout/positioned.rs,formatting.rs):- Computes hypothetical static positions for
position: absolute | fixedwith
autoinsets across block, inline, flex, and grid formatting contexts (LTR
and RTL), plusposition: stickyclamping within scrollports and containing
block content boxes.
- Computes hypothetical static positions for
- RTL,
aspect-ratio, Flex/Gridcalc(), Floats, Overflow, Pseudo-Elements & Collapse:direction: rtlacross block horizontal margins, bidi inline runs, table
columns, and Taffy flex/grid axes; CSS Sizing 4aspect-ratiotransfer and
automatic minimum sizing; linearcalc(% + px)in flex/grid; CSS 2.1 §9.5
float/clearand BFC float avoidance;overflow: auto | scrolland
table-cellpadding-box clipping; general::beforeand::after
pseudo-element cascade and layout materialization; andvisibility: collapse
flex struts and table tracks.
- CSSOM Container-Query Units & Upstream WPT Scores (
crates/mg-sparkle/src/style/declarations.rs):- Supports
cqw,cqh,cqi,cqb,cqmin, andcqmaxin CSSOM
CSSStyleDeclarationparsing and serialization without C++ bindings,
bringing the pinned WPT Window parsing lane to 16/16 passing files and
79/79 passing final subtests, while lifting the pinned WPT static flexbox
reftest lane to 528 PASS / 421 FAIL / 62 UNSUPPORTED of 1,011 (+189
new passes,0regressions).
- Supports