A little suggestion from my own research on this: just remember that the main point in matterport viewer is how smooth the transition looks between locations in walking mode. This is due to the fact that there is a 3d model underneath, onto which a mix of env maps are being projected. From time to time this questions pop-ups here, in this link you can see a post regarding how this mix gets calculated.
Considering that, your questions can be further narrowed
-
Dollhouse view is basically this rough group of simple surfaces, textured with a spherical projection shader, in turn fed with equirectangular images. Three.js does provide the main aspects but you will have to write a couple of things (i.e. that spherical shader)
-
Measuring is being made in a very conventional way: ray casting points onto the meshes and performing the distance between them. Just remember that there is no need in rendering those surfaces directly, so for instance in walking mode the user could be presented with nothing but the panoramas, although behind that there are 3d faces with position, normal direction (… and not a single UVMap )
Best