Skip to content

perf(flex): optimize flex measurement and relayout boundaries#889

Merged
andycall merged 8 commits intomainfrom
feat/layout_optimize
Mar 22, 2026
Merged

perf(flex): optimize flex measurement and relayout boundaries#889
andycall merged 8 commits intomainfrom
feat/layout_optimize

Conversation

@andycall
Copy link
Member

Summary

  • skip speculative flex run-metric work for simple rows and reuse safe flow/text-heavy measurements during _computeRunMetrics()
  • establish tighter relayout boundaries through flex/widget wrapper layout paths and move intrinsic-measurement invalidation onto targeted style/content changes
  • fix centered column flex scroll overflow to use aligned child offsets and add focused regression coverage
  • add opt-in flex profiling flags/helpers used to diagnose fast-path and anonymous/text-heavy measurement reuse

Testing

  • cd integration_tests && flutter build macos --debug
  • cd integration_tests && npm run integration -- --skip-build specs/css/css-flexbox/flex-grow-chat-layout-issue-520.ts specs/css/css-flexbox/flex-shrink-001.ts
  • Focused rebuilt integration slices were run during development for popup/widget flex, anonymous/text-wrapper flex, pseudo-hover-active, translate, and dynamic-bsize regressions

Notes

  • This PR includes only committed changes on feat/layout_optimize through c6c07bd2b
  • Additional local worktree changes in this checkout are not part of the PR

@vercel
Copy link

vercel bot commented Mar 22, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
use-case Ready Ready Preview, Comment Mar 22, 2026 7:27pm
vue_usecase Ready Ready Preview, Comment Mar 22, 2026 7:27pm

Request Review

@andycall andycall merged commit 9ea0244 into main Mar 22, 2026
30 of 35 checks passed
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