Until build 266, a destination on another floor of a building only worked if you were already on that floor. Build 266 changes that. ICIDO now works out which floor you are on first, tells you where the destination is from there, and follows you up or down to it.
Build 266 went to TestFlight as part of the work on version 1.4. The version on the App Store is 1.3.
A building is several maps, not one
In ICIDO, a building is a group of places, stacked as floors. Each place keeps its own ARKit world map and its own coordinate frame, and a session relocalizes against exactly one map at a time. A single map is one floor by design. So a building is grouping plus switching, never one merged model.
That has a consequence for any route between floors. There is no shared frame. A point on Floor 3 has no meaning in Floor 1's coordinates, and it can't be converted into them.
Searching only the floor you were sent to
A building's tagged spots and Siri open the navigation screen on the destination's floor. That is the right map to end on. It was the wrong map to start on.
Standing on another floor, the search for your position only ever tried the destination floor's maps. The screen stayed on "Finding where you are..." and nothing moved on until you had climbed there without help. For someone relying on the app to say where they are, that is a dead end.
Finding your floor first
The search now has a second stage. It tries the destination place's own maps first. Then the building's other places join the rotation, one window each, loaded only when their turn comes. When one of them locks, ICIDO adopts that place in the same session. There is no second relocalization to wait through. This applies to buildings whose floors are stacked in order.
The destination itself is held exactly as it was given: the place, plus the spot or point within it. It is never converted, because floors share no frame. It waits until the destination floor's own map has found you.
Found on a different floor, ICIDO shows a banner and says which floor you are on and which way to go. For example: "You're on Floor 1. Hall stage is on Floor 3, 2 floors up." Asking "how far?" or saying "stop" covers the trip to another floor too.
Noticing the floor change
Arriving on the right floor switches the map to it. There are two ways ICIDO notices.
The first is the barometer. Air pressure falls as you go up, and a phone's pressure sensor can measure the change across one storey. ICIDO reads relative altitude from it at about 10 cm resolution, and treats a sustained change of 2 m or more as a change of floor. It works in a lift, where the camera sees nothing useful and the phone does not move relative to the car. For this trip, a settled change in the right direction switches to the destination's floor.
The second is the fallback without the barometer: the drift of the phone's tracked height away from the floor it was found on. And if neither has fired, "I'm there" switches by hand.
One fix came with this. The barometer's starting point could be taken before ICIDO had found you. Open Floor 3 while standing on Floor 1, and climbing to Floor 3 raised "Looks like you changed floors". The starting point is now taken only once ICIDO has found you.
Choosing a spot on another floor
The second half of the work is about starting that trip from inside navigation.
Before, the Go-to list and the voice commands only offered the floor you were on. Now the Go-to list has an "On other floors" section, placed after this floor's own spots. The order is deliberate: with VoiceOver, the spots you can walk to now come first. Each spot on another floor carries its floor and how far it is, such as "one floor up" or "2 floors up". Another place on your own floor is listed too, under "Elsewhere in this building".
Choosing one ends any route on this floor, makes the spot the pending destination, and says the way. From there the trip runs as described above.
The flag button that opens the list now appears on a floor with no tagged spots of its own, as long as other floors have some. Without that, the new section could not be reached from an empty floor.
Asking by voice
"Take me to" follows the same order. It tries this floor's tags and rooms first, then the spots on other floors. When two floors have a spot with the same name, the nearest floor wins. The reply is the same trip sentence.
If a name matches nothing at all, the reply now says it was not found anywhere in this building. Before, it said nothing was tagged here yet, which was untrue when the spot existed one floor up.
What did not change
Each floor is still its own map, and routes are still drawn within one floor at a time. What changed is what happens between them: ICIDO finds the floor you are on, tells you the way, and picks the route up again when you arrive.