用途:在 facebook/immersive-web-sdk 的 poke 示例中,用 iwsdk CLI 验证关卡系统(LevelRoot、LevelTag、场景环境、场景层级、稳定性)。
主要能力:通过 npx @iwsdk/cli 子命令检查 ECS 实体与组件、运行时层级、浏览器日志,并据此断言。
使用方式:在示例工作区(cwd 为 $IWSDK_REPO_ROOT/examples/poke)执行。先运行 npm run fresh:install 安装依赖;再以 run_in_background 启动 npm run dev,轮询 Vite 就绪或 npx @iwsdk/cli dev status 直到 state.running 为 true;用 npx @iwsdk/cli ecs systems 验证连接。测试前依次执行 npx @iwsdk/cli browser reload --timeout 20000、sleep 3、npx @iwsdk/cli xr enter --timeout 20000、sleep 2,并检查日志无 error。随后按套件执行 ecs find、ecs query、scene runtime-hierarchy 等命令,解析 stdout 的 {ok, workspaceRoot, operation, result} JSON 做断言。结束时用 npx @iwsdk/cli dev down 关闭服务器,输出各套件 PASS/FAIL 汇总。
限制与注意:命令需逐条执行,不要串联;等待用独立 sleep;实体索引在重载后会变化,不可缓存;LevelSystem 每帧将关卡根变换重置为单位变换;实体 0 为持久场景根,不带 LevelTag;默认关卡 id 为 level:default,配置场景 URL 时以 URL 为 id。若出现非源码导致的瞬时错误,可重启服务器并重试一次,同一套件失败两次则记为 FAIL。