Guided capture

Shoots one room as a set of pose-stamped frames. The lens is measured on this phone, in this grip, before anything else — every number after that derives from it, so nothing here assumes a camera.

This room

Not optional. The layout model returns metric room dimensions only by assuming a 1.6 m camera height; the measured value is what lets that scale be corrected, and it is the cheapest route to real-world scale for the whole pipeline.

This phone

Secure context
Orientation
Absolute heading
Update rate
Rate and arc sensors
Camera
Frame clock

An ultra-wide, where the phone has one, is the single biggest lever on how long this takes — roughly 15 shots against 38.

Exposure, white balance and focus

Exposure
White balance
Focus
Shutter reported
Photometric check

Locked before the first frame rather than watched afterwards. Exposure drifting across a sweep bands every seam, and the enhancement stage then corrects each frame differently, which compounds it. Whether a lock actually took is decided on the brightness of the picture, not on the camera agreeing that it took — a capability can be advertised and not implemented, and the settings a camera reports back are its own record of what was asked for.

Lens measured

Solved from the rotation the sensors reported and the distance the image actually moved. Everything downstream — the number of shots, the reticle, the blur budget — comes off these numbers.

Horizontal field of view
Vertical, from the frame shape
Focal length
Windows used
Spread across them
Off-axis correction
Image-shift direction
Shots this implies
Rings

Arc check — optional, 20 seconds

Sweeping the phone at arm's length moves the lens through an arc, and parallax between neighbouring frames is the one thing a stitcher cannot reconcile. This phone reports no camera translation, so the arc is measured from its centripetal acceleration instead. That substitution is untested on hardware — this check is how it gets tested, by giving it two cases it must tell apart.

Held close to the chest
Held at arm's length
Verdict

Room captured

Coverage

Judged per band, never as one number. A sweep can be 95% complete overall and still have missed every wall junction.

Frames — tap one to re-shoot it

Hand it over

One zip, unpacking to the folder layout the pipeline reads: frames/NNN.jpg beside capture.json.