Commit Graph
31 Commits
Author SHA1 Message Date
ldm0 7b42fa6440 perf(layout): share source lookup within geometry batches
Build an operation-local source lookup for batches of rectangle queries and use it in the renderer Range path. Keep tiny batches on direct lookup and retain renderer-specific metric and viewport handling.

Compare batch results for missing sources, display contents, inline continuations, and text ranges. A 516-query fixture reduces box visits from 33024 to 64 without retaining an index.

Validation: cargo fmt --all; cargo clippy --workspace --all-targets --all-features -- -D warnings; cargo nextest run --no-fail-fast (18833 passed, 16 skipped on the final change set).
2026-09-29 02:36:54 +08:00
ldm0 011340a8a1 fix(cli): publish layout before fetch eval with --layout
Publish one layout-only snapshot after page readiness and delay for --eval and --eval-file. Keep geometry getters on the last published snapshot during script execution.
2026-09-26 17:13:28 +08:00
ldm0 4b24590ce6 fix(layout): isolate PDF print layout from interactive snapshots 2026-09-25 10:19:22 +08:00
ldm0 179241dedd refactor(layout): publish layout only through explicit visual output
Make geometry, input and observers read the latest published layout without
cold-start or invalidation-triggered layout. Only screenshot, screencast and
PDF output can build and publish a new tree.

Connect WebDriver page screenshots to the shared output pipeline, explain how
to initialize layout in errors, and migrate fixtures to explicit publication.
Remove obsolete read policies and embedded-frame completeness metadata.
2026-09-25 10:19:22 +08:00
lanyue-llk bcf420f622 revert: undo split PR 640 merges (#734-#740) 2026-09-22 20:02:07 +08:00
mini llk c5ac254058 fix(layout): refresh geometry and preserve inline fragments (#735) 2026-09-22 19:42:55 +08:00
ldm0 61669e8740 perf(layout): reject point misses before shared clip checks 2026-09-17 14:53:54 +08:00
ldm0 29b5a36d5f perf(layout): stream point hit candidates before ordering results 2026-09-17 14:53:54 +08:00
ldm0 636d97e21c perf(layout): keep hit results free of unused box models 2026-09-17 14:53:54 +08:00
ldm0 43dd80a890 perf(layout): answer specialized geometry queries once 2026-09-17 14:53:54 +08:00
ldm0 5b7d151a78 fix(layout): avoid eager geometry for hit-test misses 2026-09-17 02:16:44 +08:00
ldm0 0e14d82486 perf(cssom): reuse size projections within style observations
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.
2026-09-05 21:31:57 +08:00
ldm0 5ee69560fc fix(cssom): resolve logical sizes from sampled layout axes 2026-09-05 21:31:57 +08:00
ldm0 e02b58d0df fix(cssom): read used sizes from existing layout snapshots
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.
2026-09-05 21:31:57 +08:00
ldm0 b09fee1df2 feat(layout): expose resolved Grid tracks 2026-08-30 05:41:30 +08:00
ldm0 6c4103eefc perf(layout): localize overflow feedback projection 2026-08-30 00:55:04 +08:00
ldm0 112cfda8cb perf(layout): cull paint outside captures 2026-08-30 00:55:04 +08:00
ldm0 13a0609ffa perf(layout): reuse numeric scrollbar feedback 2026-08-30 00:55:04 +08:00
ldm0 4117a16f2d perf(renderer): trace per-frame rendering phases 2026-08-28 15:18:42 +08:00
ldm0 65f53b667e fix(layout): resolve CSSOM metrics in absolute zoom space 2026-08-28 11:28:23 +08:00
ldm0 de242fbaec Fix one-dimensional inline offset geometry 2026-08-27 19:22:08 +08:00
ldm0 ce0a6157e2 Model inline offset geometry from fragments 2026-08-27 19:22:08 +08:00
ldm0 d0b3d4ef0a Expose image coordinates in untransformed root space 2026-08-27 00:52:15 +08:00
ldm0 12820a5203 Preserve structural ancestry through block-in-inline 2026-08-27 00:42:38 +08:00
ldm0 ac477b86f7 fix(layout): align viewport and scrollbar behavior 2026-08-23 03:49:48 +08:00
ldm0 d823999dc0 fix(renderer): fence screencast resource races
Split screenshot and screencast capture contracts, publish one shared visual resource generation, and collect CSS image references during the real layout traversal. Add asynchronous publication and multi-session screencast regressions.
2026-08-22 19:44:54 +08:00
ldm0 03a80259eb Reuse composite layout snapshots for iframe input 2026-08-22 19:44:54 +08:00
ldm0 f481bfa192 Fix transformed iframe input routing 2026-08-22 19:44:54 +08:00
ldm0 3a8e52ba99 Implement classic scrollbars 2026-08-22 19:44:54 +08:00
ldm0 c09656bf3b feat: implement default wheel scrolling 2026-08-18 01:04:04 +08:00
ldm0 9e364b9299 Split frozen layout tree into focused modules 2026-08-14 20:03:29 +08:00