References — bi-08 Layout
Primary sources first. In-tree Chromium docs beat any external source, including these modules.
Specifications
- CSS Display Level 3 — formatting contexts
- CSS Box Sizing Level 3 —
min-content,max-content,fit-content; measured in fe-06 (sibling project) - CSS Flexible Box Level 1 — including §4.5, the
min-width: autorule behind "my flex item won't shrink" - CSS Grid Level 2 — grid and
subgrid - CSS Positioned Layout Level 3 — containing blocks
- CSS Containment Level 3 — container queries and their containment requirement
Source — LayoutNG
third_party/blink/renderer/core/layout/- LayoutNG design document — the rewrite's goals: fragment-based, re-entrant, side-effect-free
block_layout_algorithm.cc— note theng_prefix was removed; older write-ups still use itconstraint_space.h— the input to every layout algorithmphysical_fragment.h— the immutable output
Background
- Life of a Pixel — layout section
- Ian Kilpatrick — LayoutNG — BlinkOn talks explaining why the rewrite was necessary
Related modules
- fe-06 — Layout (sibling project) — measured: 1.4× across six layout modes; absolute positioning slowest
- fe-01 — Execution model (sibling project) — forced synchronous layout, 86–98× measured
- bi-09 — Paint — what layout hands downstream
When a claim here proves stale, record it in PROGRESS.md section 7.