Stage Preflight
stage_preflightVerifies a VR stage is ready for a session or demo by running ordered checks, reporting PASS, BLOCKED, or SKIPPED steps, and showing the verdict in VR or as a caption.
Instructions
Check the stage before a VR session or a demo, on a scratch scene of its own (_preflight, hidden from the page's scene list, overwritten on every run; nothing else is loaded over, moved or deleted). Checks, in order: server (it answers), presence (is someone in VR), allow_rule and guard_hook (read ~/.claude/settings.json and the project's .claude/settings.json and settings.local.json; never writes them), scratch (make or refresh the scratch scene), load (a headless, muted browser opens it and the page's selftest passes), hot_swap (stage_asset_install of a new scene.glb, answered by the page's reload), live_insert (stage_world update= and stage_set_load unload then load, each answered by the page), say (stage_say on the scratch page, a caption) and listen (a synthetic event, marked synthetic, goes round the inbox and stage_listen returns it). Each line is PASS, BLOCKED (with the next step) or SKIPPED. While someone is in VR only the checks that change nothing they see run, and the rest say SKIPPED. The verdict ("Preflight: pass." or "Preflight blocked: .") is shown on the stage: in VR the headset says it out loud; otherwise it is a caption on the open page, never spoken on the computer. port= the stage server (default: the newest one serving a real scenes folder); say=False keeps the verdict off the stage; wait= seconds the test page may take to load; headless=False opens no browser (a page you opened on ?scene=_preflight is used).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| say | No | ||
| port | No | ||
| wait | No | ||
| headless | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |