There is an internal field `\Magento/Framework/View/Layout/Builder::$isBuilt` https://github.com/magento/magento2/blob/ffa02d82c6344c76ea6de8b50d9612b3200ea2c7/lib/internal/Magento/Framework/View/Layout/Builder.php#L61 Need a public method. There is an event `layout_generate_blocks_after`: https://github.com/magento/magento2/blob/ffa02d82c6344c76ea6de8b50d9612b3200ea2c7/lib/internal/Magento/Framework/View/Layout/Builder.php#L133 But it is inconvenient to listen for the event while an extension just need to get the current layout state: built or not.