Skip to content

perf: isolate layout in Logs virtual viewports - #24

Draft
smiggleworth wants to merge 1 commit into
mainfrom
fix/logs-layout-containment
Draft

smiggleworth wants to merge 1 commit into
mainfrom
fix/logs-layout-containment

Conversation

@smiggleworth

Copy link
Copy Markdown
Contributor

Draft checkpoint

Isolate layout in the two existing fixed-height Logs virtual scroll viewports. The necessary synchronous restoration reads remain in place; the proposed containment boundary may let those reads avoid laying out unrelated page content.

Product changes are two app class props and one contain: layout declaration. There are no package, public API, ref timing, scheduler, cache, state, observer, or performance-budget changes.

Evidence already qualified

  • npm run check passed: 53 unit tests, types, lint and build. This command does not include full browser acceptance.
  • Nine containment mechanism cases were RED on the unchanged baseline and GREEN on this candidate across Chromium, Firefox and WebKit. These assert the CSS mechanism, not a speed improvement.
  • 45 distinct native cases passed: nine final containment cases, 30 existing row/token cases, three existing mobile popup cases and three existing dense Chromium controls. Repeated setup runs are not added to this count.
  • Settled scoped geometry/style witnesses match the baseline except for containment, including retained viewport rectangles and window scroll. An unchanged WebKit repeat matches its baseline control.
  • The frozen patch passed independent source review. All 461 committed files match the qualified source manifest; 458 unrelated files are unchanged.
  • Published Core 0.4.3, UI 0.4.3 and Themes 0.4.2 remain pinned. All 2,126 target package files and the other 130 physical package pins match the baseline.

Optimization gate and limitations

Native source-bound traces identify getter-triggered style/layout work at the List and Table restoration reads. They establish request sites and observed cost; they do not prove the preceding invalidation owner, the historical failure cause, or any avoided cost from this candidate.

Legibility cost: one named app class shared by two existing roots and one CSS declaration. There is one runtime path. If a browser ignores the declaration, it retains the existing uncontained CSS path; equivalence in such an unsupported browser has not been tested.

Pending before adoption: measured native benefit, full acceptance with the unchanged <100ms maximum-action and maximum-long-task gates, canonical appearance checks, and complete optimization-gate qualification. Source approval covers this draft checkpoint only.

The existing CSS zoom 2 popup positioning defect is independently confirmed on the unchanged baseline and remains unresolved. The normal popup bounds control explicitly resets to zoom 1; containment does not claim to fix zoom 2 overflow.

This PR remains a draft at the user's requested stopping point. No merge, release, or publication is proposed yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant