No capture selected
Pick a capture on the left, or install the Android app and walk a room.
Download the Android appMeasured accuracy
These numbers are not a claim, they are a test result. The solver is run against a
synthetic capture of a flat whose true dimensions are known to the inch, with an
ARCore-realistic noise and drift model. Re-run it with
go run ./cmd/validate.
How to get an accurate scan
- Calibrate scale first. Tap two points on one wall and type the real distance between them. Visual odometry has no absolute scale; one tape measurement removes a 1–3% error from every dimension in the result.
- Sweep, do not spin. Depth comes from parallax between frames. Standing still and rotating gives the phone no baseline. Step sideways as you pan.
- Hold at chest height, tilt slowly. The floor and ceiling fix level and storey height; both need to be seen at a decent angle, not edge on.
- Pause in every corner. Corners are where the Manhattan constraint gets its evidence. Two seconds each is enough.
- Walk through every doorway. Doors are found by rays that pass through a wall plane, so walking the opening is what carves it.
- Aim at windows deliberately. Depth returns nothing through glass; that absence is the signal, but only where the phone actually looked.
- Close the loop. Finish where you started. Drift is redistributed rather than accumulated, which is worth roughly 3× on final accuracy.
- Flag mirrors. A mirror reads as a hole into a room that is not there. Tap it so the depth behind it is discarded.