Repository navigation
WS5: rooms nobody tested — doors/windows, late planes, Move stage here, room tests - #12
Merged
karanheart96 merged 4 commits intoNov 11, 2026
Conversation
… data, close walls - Walls are labelled wall / wall face (any spelling) or unlabelled; doors and windows on a wall keep the stage off them (sliding it at most 20 degrees aside). - The paper screen stands in front of anything nearer than 2 m straight ahead (never nearer than 0.9 m). - Room data arriving after the 4 s fallback still moves the stage onto the wall, within the first 12 s only. - Re-placing on request waits 1.5 s so the player can turn toward the new spot. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… by pinch, UI field of view Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…s for rooms and UI field of view 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.
WS5 (P1): rooms nobody tested.
What changed
src/wall-choice.ts: pure geometry, unit-tested (18 tests), and shared by the runtime and the emulator tests. For plain walls the rules are unchanged: a vertical wall 0.6–4 m away, turned less than 40° from the view, with the spot straight ahead on its outline, and the stage about 33° wide.wall,wall faceorWALL_FACEin any spelling, or with no label. Before, only an exactwallwas accepted, so a Quest that reportswall facewould never get the stage on a wall. Doors and windows are recognised by those words. Anything else (invisible wall face,wall art,screen, furniture) is not used as a wall.vlabels, shown on the summary'splaced:line), so the first device session settles the label question.__sp.room(planes)for fake planes,__sp.view()for placement and UI angles from straight ahead, and__sp.where(name).Emulator results (
node scripts/sim/rooms.mjs --gpu): 17/17 passBug caught on the way
During the refactor, the new plane reader reused the stage-normal scratch vector. When the room had a floor plane, the paper screen came out facing the ceiling.
view()caught it, and it's fixed (planeNormal).Trade-offs (conservative option chosen)
initiateRoomCapture(asking Quest to run Space Setup when no planes exist). It would interrupt the experience; the paper screen is the fallback.Verified
npm test(now includestests/wall-choice.test.mjs) andnpm run buildpass.playtest.mjs --gpu: six personas, no stalls, no errors, 60 fps, performance budget ok.live-family.mjs: passes with no errors. The Wi-Fi dropout recovered in about 2.5 s, and the story ended on the child's screen. With 30 s phases, the duet turn reached the child but didn't come back before the phase ended (the known 12 s idle timing). With 45 s phases it went to the child and came back.Device items added (docs/DEVICE-TEST.md)
🤖 Generated with Claude Code