Skip to content

The walk card changes every ~3 s, and target distances jump backwards #84

Open

Description

@AidenJohnston

During the walk, the instruction card changes about every 3 s (tilt up, tilt down, walk, step back), and aim targets can jump backwards behind the phone.

Seen in. Device field test of TestFlight build 4.1 (beta at 45017ba), iPhone 14 without LiDAR, iOS 26.6.2, 2026-09-26. Run 2 (the indoor mock wall), the walk to the right at 1:49–3:15 in the recording. Report ID A41-2015-09 in run2-2015.md.

What happens. Over the 20 ft walk the card changed 22 times in 86 s, and most cards were held for exactly 3.0–3.1 s. An excerpt:

walk → tilt up 2 ft 3 in → walk → tilt down 4 ft 9 in → walk → tilt up 7 ft 6 in → walk → tilt down 12 ft 3 in → 11 ft 3 in → 9 ft 3 in → tilt up 9 ft 9 in → tilt down 9 ft 3 in → walk → tilt up 11 ft 9 in → walk → tilt down 14 ft → step back → tilt down 14 ft 3 in → walk → tilt down 17 ft 3 in → tilt up 19 ft 3 in → step back → "Is this the right end?"

  • Between 2:23 and 2:32 the target moved backwards, from 12 ft 3 in to 9 ft 3 in, while the phone stood at about 12 ft.
  • The tester read each card aloud, then gave up following them: "I don't know exactly what it wants from me" (2:21).
  • The walk did finish and most tasks were met, so it works. It just feels random.

Cause. From the code; the exact switching reasons weren't logged, so this part is inferred.

  • minDwell is 3 s (GuidancePlanner.swift#L26-L29). After 3 s, an unmet task gives way to whatever the preferred task is now (#L79-L95). The preferred task is recomputed every frame from the camera, so the minimum hold is in practice also the maximum.
  • The order is step back, then hidden cells, then ground by the meter, then a lagging band, then walk (#L127-L149). As the phone moves, one band catches up (walk), the other falls behind (tilt), and so on.
  • laggingBand looks ±1 m around the camera and aims at the middle of the lagging cells (#L186-L201), so the target can land up to about 3 ft behind the phone. sameStretch only treats two aim tasks as one when they are within 0.3 m (#L173-L184), so a 1 ft shift is a new card.

Fix direction.

  • Hold one instruction until it is met or clearly impossible, not for a fixed 3 s.
  • Combine "tilt up" and "tilt down" at the same spot into one "look up and down here" card.
  • Don't aim behind the phone during the walk. Send the homeowner back only when the gap is behind them and they are about to finish.

Related.

Screen recordings are in the comment below.

Activity

  1. added
    bugSomething is broken or behaving incorrectly.
    size:M30-99 effective changed lines.
    on Sep 27, 2026
  2. AidenJohnston commented on Sep 27, 2026

    @AidenJohnston
    CollaboratorAuthor

    Screen recordings from the build 4.1 field test (TestFlight 4.1, iPhone 14 without LiDAR). Click a link to play.

    Times are in each run's recording. Full analyses: PR #60.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething is broken or behaving incorrectly.size:M30-99 effective changed lines.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions