Repository navigation
WS6: first five minutes and pause/resume - #14
Merged
karanheart96 merged 5 commits intoNov 11, 2026
Merged
Conversation
- The Quest menu, headset off or a hidden page pauses story, narration, sound and Live voice, from the visibility events themselves (a hidden session runs no frames). 'hidden' now pauses too (only 'visible-blurred' did); the caption says just 'Paused.'; the story's step is capped so returning does not skip ahead. - The first shape a session asks for shows the ghost hand after 2 s (then the hint setting applies; Off is respected). - A returning player's chapter card says 'Welcome back. Continuing from ...'. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… entering XR Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…irst creature in diagnostics Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The stage is 'ready' in the 2D view before the session starts; reading the eye height then shifted the fake planes, so doors and windows fell below eye level and were ignored (a test bug: 4 cases failed depending on timing). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
WS6 (P1): the first five minutes, and pause/resume.
1. Time from Enter XR to the first creature (bots, fresh first launch)
node scripts/sim/first-minutes.mjs --gpuThe opening runs about 50 s before the rabbit is asked for:
A child who copies the shape quickly is under 60 s. The bots can't model a real first-timer learning the rabbit, so I improved the teaching rather than cutting story lines (the conservative choice):
first creature: N s after entering XR(device item A9).Options I didn't take: shortening the chapter cards (saves about 1.4 s) or cutting intro lines (changes the story). If the headset numbers come in over 60 s, cutting the "lighthouse" line or the Chapter One card would be the next step, and I'd ask first.
2. The first payoff
On waking, a creature already gets a chime, the puppet comes alive, and the narration answers ("A rabbit! Quick, and kind."). New: the lamp light swells warmly and settles over about a second whenever a creature wakes.
3. Pause and resume
visible-blurred(the Quest menu) paused the story.hidden(headset off, app in the background) didn't. Fixed.src/away.tssignal is set from the visibility events themselves (XR visibility plus pagevisibilitychange). Narration, sound effects and the lamp hum (the AudioContext is suspended) and Live voice all pause on it immediately. For Live voice, the context is suspended, so the mic isn't sent, and incoming voice is dropped rather than queued.Paused.It used to say "Pinch the lamp switch to continue", which was wrong behind the Quest menu.4. Accessibility from the first screen
One-hand mode and Forgiving shapes are now one tap each on the first screen, before Enter XR, under the family chip. They write the same Settings the in-headset panel uses, are remembered, and are reflected in the headset.
On phone-width screens the family chip used to sit under the Enter XR button (this predates WS6); both chips now sit below it.
Tests
node scripts/sim/session-life.mjs --gpu: 6/6.Paused.and narration silent; it resumes on the same line.npm testandnpm run buildpass.playtest.mjs --gpu: six personas, no stalls, 0 errors, 60 fps, budget ok.live-family.mjs --seconds-per-phase 45: pass. Dropout recovered in 2.1 s; turn there and back; the story ended on the child's screen.rooms.mjs --gpu: 17/17. A test bug was fixed along the way: it read the eye height before the XR session started, which shifted the fake doors and windows below eye level. It now waits for the session and refuses to run otherwise.Device items (docs/DEVICE-TEST.md)
🤖 Generated with Claude Code