Reserved regions come in two kinds, and the distinction matters. A division region splits an area in two. An occlusion region sits on top of an area and hides what is under it. The under-display FaceTime camera on the inner display is an occlusion region.
The API
GeometryReader { proxy in
let regions = proxy.reservedRegions(kind: .occlusion)
let frames = regions.map(\.frame)
}
Treat these frames the way you already treat the safe area: background and decorative content may pass beneath them, but anything the user needs to read or tap should be laid out clear of them.
// Background art may extend under an occlusion region
BackgroundArtwork()
.ignoresSafeArea()
// Interactive content should not
ControlsView()
.padding(.top, occlusionInset)
Why not just use the safe area?
The safe area already accounts for standard system furniture, and for most apps that is enough. Query occlusion regions when you are drawing your own full-bleed surface — a camera preview, a map, a canvas, a game — where you have deliberately opted out of the safe area and are now responsible for the geometry yourself.
Same as division regions, occlusion regions have active and inactive states, and options: .includeInactive returns the ones that are not currently in effect.
How to verify
Show a full-bleed screen on the inner display and check the area around the camera. Nothing tappable should be underneath it, and any text that passes near it should remain fully legible.