Visera — built on Apple ARKit and LiDAR

How an ARKit paint app actually sees your wall.

Visera is an ARKit paint app: it uses Apple's augmented reality framework, backed by the LiDAR scanner on iPhone Pro, to track a room and render paint colour onto its walls in real time. Here's the mechanism underneath that, in plain terms.

Download Visera on the App Store

The framework

What ARKit brings to a paint app

ARKit is Apple's framework for tracking a device's position and understanding a scene through the camera. Two of its capabilities matter most for a paint app: world tracking, which fuses the camera image with the iPhone's motion sensors to know exactly where the phone is in the room from one frame to the next; and vertical-plane detection, which looks for flat vertical surfaces in the camera's view and proposes them as candidate walls. On its own, ARKit can get a paint preview roughly onto a wall. It's the LiDAR scanner that makes it reliable.

The sensor

What LiDAR adds on top of ARKit

Camera-only vertical-plane detection has to infer a flat surface from visual features — edges, corners, contrast. That works well on a wall with a picture frame or a power point nearby, and much less well on a plain, evenly lit, texture-free wall, which is exactly the kind of wall people repaint. LiDAR removes the guesswork: it measures depth directly, point by point, and ARKit uses that data to build an actual triangle mesh of the room's surfaces. Each face of that mesh can then be classified as wall, floor, ceiling, window or door, which is a structural understanding of the room rather than a visual guess.

Depth, not inference

LiDAR measures distance to every surface directly, instead of estimating a plane from camera features alone.

Works in low light

Because it doesn't depend purely on visual contrast, LiDAR-backed tracking holds up better on plain walls and in dim rooms.

A real 3D mesh

The output is a measured mesh of the room, which is what makes true-size furniture placement possible alongside paint.

The detail that matters

Paint that stops at the trim

Because the LiDAR mesh is classified surface by surface, the faces belonging to a window or a door are excluded from the paintable area automatically — the way a painter cuts in around glass and trim rather than rolling straight over it. This only works because the room was measured first. An app working from a single flat photo has no mesh to classify, so it either paints over openings or relies on much rougher, error-prone edge detection to guess where they are.

How it works

From scan to paint, in four steps

  1. TrackARKit's world tracking fuses the camera and motion sensors to fix the phone's position in the room, frame to frame.
  2. ReconstructLiDAR measures depth across the visible scene and ARKit assembles that into a triangle mesh of the room's surfaces.
  3. ClassifyEach mesh face is labelled wall, floor, ceiling, window or door, so the app knows what it's looking at.
  4. CompositeThe chosen colour renders live onto the wall-classified faces in the camera feed — not a new generated image.

Important details

What this mechanism requires

What you need

Accurate room mapping requires a supported iPhone Pro with LiDAR and iOS 26 or later. Results can vary with lighting, reflective surfaces, occlusion and how much of the room the camera can see.

What tracking doesn't replace

The mesh gives a solid working estimate of wall area and shape, but it's a visualisation tool, not a certified measuring instrument. Confirm exact measurements before ordering paint or fixtures.

Questions

ARKit paint app — questions people ask

What is ARKit and how does an ARKit paint app work?

ARKit is Apple's augmented reality framework for iOS. It tracks your iPhone's position in a room by fusing the camera image with motion-sensor data, and it can detect flat vertical surfaces such as walls. An ARKit paint app like Visera uses that tracking to lock a paint colour onto a wall in the live camera view, so the colour stays put on the wall as you move the phone around.

Does an ARKit paint app need LiDAR to work?

ARKit's camera-based vertical-plane detection can approximate flat walls without LiDAR, but it struggles on plain, low-texture walls and in dim light. LiDAR adds a depth-measured mesh of the room with per-surface classification, which is far more reliable for finding walls, floors, ceilings, windows and doors. Visera's room mapping and most accurate placement both rely on the LiDAR scanner on iPhone Pro.

How does the app know where the walls are?

As you move your iPhone Pro around the room, LiDAR builds a triangle mesh of every surface it can see, and ARKit's scene-geometry classification labels each part of that mesh as wall, floor, ceiling, window or door. Paint is only rendered onto the mesh faces classified as wall.

How does the app stop paint from covering windows and doors?

Because the LiDAR mesh is classified surface by surface, the faces belonging to a window or door are excluded from the paintable area automatically. This only works because the room was measured first — an app working from a flat photo has no mesh to classify, so it has to guess at the opening's edges instead.

Is ARKit accurate enough to estimate paint quantity?

A LiDAR-built mesh gives a reasonable working estimate of wall area for quantity purposes, and Visera uses this for its paint-quantity guidance. It's still a visualisation tool, not a certified measuring instrument — confirm exact quantities against your own measurements before ordering paint.

Keep reading