fix anchor sample: anchor creation timing #202
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
According to https://immersive-web.github.io/anchors/#anchor-updates
when an anchor is created, during the next "update anchor" task:
trackedAnchors
set on the frameThis sample makes the assumption that when iterate through the trackedAnchors on every frame, the anchor context already exists. This is incorrect.
the
context
is created inaddAnchoredObjectToScene
, which runs after the anchor creation promise resolves (not immediately, but executed asynchronously in the next microtask queue). It is possible that when iterating through the trackedAnchors on frame, theaddAnchoredObjectToScene
has not executed yet, and thecontext
object won't exist, causing the logic to crash.