Keep track of SVGs without intrinsic dimensions so a viewBox-only icon
stretches along the available inline axis instead of acquiring a fixed
150px natural size. Preserve author dimensions, aspect ratios, box insets,
and intrinsic percentage contributions; resolve absolute sizing probes
against their containing block and positioning insets.
Add Chromium-calibrated geometry and paint coverage for search icons,
padded containers, explicit and constrained sizes, absolute positioning,
and shrink-to-fit containers. Correct the older SVG paint expectation
that assumed the same 150px fallback.
Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast (18,310 passed, 13 skipped)
- Replayed the original Google document through moli serve: both the plus
and apps icons are 24x24 instead of 150x150.
Index each row's cell range and row-group boundary to remove repeated
placement scans. Cache complete table measurement outputs, including
baselines, in an eight-entry LRU with layout cache invalidation.
Preserve caption minima, Flex table heights, percentage padding bases,
anonymous table behavior and the existing vertical layout path. Extend
the Chromium geometry fixtures and refresh the full WPT-cross case lists.
Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast: 18180 passed, 13 skipped
- WPT-cross all: 8779/12906 passed; table: 535/716 passed
- Table results unchanged by index/cache optimization; 28 full-run
differences checked twice per binary with no stable new regression
Move inline content that cannot fit beside floats to the first suitable slot,
and retain that clearance in CSS baseline and container-height calculations.
This places GitHub's full-width Show more activity button below its timeline.
Update Taffy to e4e8f77c for float segment extension and content-slot fallback.
Preserve whitespace collapsing around out-of-flow loading hints and cover
float placement, staggered heights, and pre/nowrap behavior in regressions.
Upgrade wuff to 0.2.9 with compatible version requirements in the layout
and renderer test dependencies. Add a regression proving that corrupt
Brotli data returns a decode error and preserves an existing font.
Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast: 17574 passed, 13 skipped
- Release verification: the previous SIGABRT sample renders with fallback;
valid-font screenshots remain byte-identical
Move Fontconfig matching, substitution policy, and the Fontique lookup cache into moli-system-fonts. Keep CSS family adaptation in moli-layout, migrate tests and fixtures, and retain the Skia notice in source comments.
Memoize a single-element property batch without building a full index, and derive one temporary sizing lookup per Document for multi-element observations. Route DOMSnapshot style collection through the shared observation and keep all projections scoped to the synchronous read.
Cover query counts, missing boxes, cold and mock reads, snapshot replacement, iframe isolation, and Inspector and DOMSnapshot capture paths.
Retain the sampled CSS sizing basis alongside frozen geometry. Resolve width and height only from an existing snapshot for the owning Document, without creating or refreshing layout; preserve style-only fallbacks otherwise.
Cover sizing boxes, zoom, replaced elements, Chromium-derived cases, and demand-driven snapshot lifecycles with renderer, layout, and CLI regressions.