core::cell::RefCell<std::collections::HashMap<NodeId, crate::solver3::getters::ComputedScrollbarStyle>>,
debug_warning!(ctx, "Scrollbar reflow loop hit limit of {} iterations, breaking to avoid infinite loop", MAX_SCROLLBAR_REFLOW_ITERATIONS);
// +spec:positioning:a831e8 - inline content width uses pre-relative-offset positions (satisfied by post-layout relative adjustment)
// +spec:positioning:e2647b - Relative positioning applied after line height calculation, so line height is not adjusted for relative offsets
// +spec:positioning:77a2d2 - Relatively positioned boxes considered without their offset during auto height
// +spec:positioning:b47ac2 - Relatively positioned boxes considered without their offset for block auto height
// Relative offsets applied AFTER layout, so auto-height calculation sees normal-flow positions.
cache.previous_positions = std::mem::replace(&mut cache.calculated_positions, calculated_positions);
// +spec:containing-block:159830 - Containing block chain: parent content-box for in-flow, viewport for initial containing block
// +spec:containing-block:22fbaa - computes the element's original containing block (before positioning effects)
// +spec:containing-block:238fc5 - containing block dimensions calculated here (CSS 2.2 §9.1.2 forward ref to §10)
// +spec:containing-block:263629 - block element's content-box establishes the containing block for its line boxes
// +spec:containing-block:2a5280 - boxes act as containing blocks for descendants; CB = parent's content box
// +spec:containing-block:6776cb - boxes positioned w.r.t. containing block but not confined; overflow allowed
// +spec:containing-block:718894 - CB derived from parent content-box edges; root uses initial CB (viewport)
// +spec:containing-block:a2aa37 - box edges act as containing block for descendants; initial containing block = viewport
// +spec:containing-block:e23b3f - CSS 2.2 §10.1: initial containing block = viewport; static/relative = parent content-box; fixed = viewport
// +spec:positioning:acc663 - containing block definition: element boxes positioned relative to containing block
// +spec:containing-block:c205e5 - writing mode of containing block used for inner_size (orthogonal flow awareness)
// +spec:containing-block:1eed60 - Initial containing block establishes a BFC; viewport is the ICB
// +spec:containing-block:99866f - Containing block is a rectangle for sizing/positioning; ICB from viewport
// +spec:containing-block:22f09b - viewport serves as initial containing block for root element
// Root element's containing block is the initial containing block (CSS 2.2 §10.1, CSS Display 3 §2.8).
// +spec:containing-block:2fd7b1 - ICB equals viewport; principal writing mode propagated to ICB
// Root element's containing block is the initial containing block (CSS 2.2 §10.1, CSS Display 3 §2.8).
// The principal writing mode is propagated to the ICB and viewport (css-writing-modes-4 §8.1).
// +spec:containing-block:5efb84 - Root element's containing block is the initial containing block
// +spec:containing-block:6278fb - initial containing block is the viewport; also serves as initial fixed containing block
// Root element's containing block is the initial containing block (CSS 2.2 §10.1, CSS Display 3 §2.8).