/// - After layout pass: Call `finalize_pending_focus_changes()` to actually initialize the cursor
/// Flag indicating that cursor initialization is pending (set during focus, consumed after layout)
/// - When hitting a node boundary, we either return `None` (at DOM boundary) or move to the next
/// - The outer loop only continues when we switch DOMs, which is bounded by the finite number of