Commit Graph
19 Commits
Author SHA1 Message Date
ldm0 5a1c1cd7ab fix(layout): project scroll overflow in physical coordinates
Aggregate physical descendants once instead of treating Taffy's logical
scroll origin as a physical top-left corner. Share reachable scroll bounds
between scrollbar admission and final projection, including vertical writing
modes and reversed flex flows.

Preserve grid track areas, per-axis clipping, transformed borders, normal-flow
margins and end padding. Anchor vertical RTL block flow at the physical bottom
while keeping relative insets physical.

Add five native browser guards and a live Chromium differential covering
140 fixtures, two scrollbar modes and three fresh-document rounds.

Validation: root fmt, strict workspace/all-target/all-feature Clippy, and
Nextest (20380 passed, 18 skipped); Release; 840 Chromium comparisons;
960 flex geometry controls; MOL-463-468 probes; full 13631-case WPT Cross.
Three old/new control rounds found no new stable case, assertion or harness
regression. Cases are refreshed in the following commit.

Original-commit: d433653f0d
2026-10-21 17:55:02 +08:00
ldm0 a9c763c8c4 ci(pdf): verify rendered pixels text and links with MuPDF 2026-10-13 00:34:09 +08:00
ldm0 fbbafa49f7 fix(cli): retain CSS backgrounds in PDF exports 2026-10-13 00:34:09 +08:00
ldm0 53d16780d5 feat(pdf): render searchable PDFs with Krilla
Route CDP Page.printToPDF and CLI PDF dumps through an owned snapshot PDF
backend with embedded subset fonts and logical text cluster mappings.

Preserve print layout isolation, page selection, and bounded local raster
fallbacks. Pin Krilla to upstream Git and share its font parsing dependencies
with the existing rendering stack where version constraints allow.

Add PDF extraction, pagination, graphics, and print lifecycle regressions,
fixed font fixtures, and reader and CDP smoke checks.

Refs #279.
2026-10-12 21:33:26 +08:00
ldm0 417946cc5f fix(iframe): centralize document load delivery 2026-10-12 02:11:34 +08:00
ldm0 6e70b3f1cf perf(accessibility): keep uncommon AX fields out of line
Group ignored reasons, values and nonempty properties behind one optional box. Use nonzero backend IDs and serialize fixed role/name kinds on demand, reducing the common AX node from 296 to 96 bytes while preserving payload shape and field order.

Add reproducible CLI and native construction benchmarks. Generated 40000-row text dumps use 382.6 to 341.5 MiB peak RSS; 200000-row text dumps use 1753.5 to 1612.8 MiB. Record the roughly 5.5 percent native construction cost for dense ignored nodes alongside the memory gains.

Validation: cargo fmt --all; workspace clippy with all targets/features and warnings denied; cargo nextest run --no-fail-fast (19890 passed, 17 skipped). All 188 formal benchmark samples match their corresponding before/after outputs.
2026-10-11 17:37:40 +08:00
ldm0 d05c1f7fee test(layout): record Chromium table height distribution oracle 2026-09-18 16:19:13 +08:00
ldm0 09257c15cf refactor(fonts): extract system font matching crate
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.
2026-09-12 04:13:15 +08:00
ldm0 107edf1680 Simplify repository license metadata 2026-08-19 00:14:42 +08:00
Donough Liu d002fc2c66 fix(release): use standard version flag 2026-08-17 14:49:08 +08:00
ldm0 6914c609ca ci(release): add ARM64 Linux and Windows artifacts 2026-08-17 12:10:38 +08:00
ldm0 69a5f3a716 fix(allocator): disable jemalloc on Windows 2026-08-17 03:31:17 +08:00
ldm0 be85a67d54 refactor(cli): remove help and version subcommands 2026-08-17 01:23:02 +08:00
ldm0 021816be9a docs: move localized readmes into docs 2026-08-16 15:12:53 +08:00
ldm0 5d2231d516 Add Moli skills and release installers 2026-08-14 02:22:38 +08:00
ldm0 fadbbe13f9 Remove useless sha256 files in Github release 2026-08-11 22:07:25 +08:00
ldm0 f57c8d90a9 ci: build native releases across platforms 2026-08-11 13:25:54 +08:00
ldm0 f1bf28c6c0 ci: add manual release workflow 2026-08-11 11:46:32 +08:00
ldm0 27b5135cb6 Public preview 2026-08-11 00:10:12 +08:00