xr-mode-test

作者: facebook

测试XR会话生命周期和模式切换。用于验证XR进入/退出行为、测试模式相关功能或调试会话状态问题。

npx skills add https://github.com/facebook/immersive-web-sdk --skill xr-mode-test

XR Mode Toggle Test

Test the XR session lifecycle by entering and exiting XR mode, verifying state transitions at each step.

Test Flow

1. Check Initial State

Use mcp__iwsdk-dev-mcp__xr_get_session_status to confirm starting state:

  • In 2D mode: no active session
  • Already in XR: note current state before proceeding

2. Enter XR Mode

Use mcp__iwsdk-dev-mcp__xr_accept_session to enter XR.

3. Verify XR Session Active

Use mcp__iwsdk-dev-mcp__xr_get_session_status to confirm:

  • Session is active
  • visibilityState is "visible"

4. Optional: Verify Input Devices

Use mcp__iwsdk-dev-mcp__xr_get_device_state to check:

  • Controllers are connected
  • Headset position is valid

5. Exit XR Mode

Use mcp__iwsdk-dev-mcp__xr_end_session to leave XR.

6. Verify Session Ended

Use mcp__iwsdk-dev-mcp__xr_get_session_status to confirm:

  • No active session
  • Back to 2D mode

7. Check Application State

Use mcp__iwsdk-dev-mcp__browser_get_console_logs to verify:

  • Any mode-switch logs fired correctly
  • Application state reset as expected (if applicable)

Arguments

If $ARGUMENTS is provided, use it as a log pattern filter for step 7.

Example: /xr-mode-test "MODE|RESET" will filter logs for "MODE" or "RESET" patterns.

Expected Results

Report:

  • Whether each step passed or failed
  • Any unexpected state or errors
  • Time taken for session transitions
  • Relevant log messages from the application