使用 iwsdk CLI 对比示例场景,测试滑动、瞬转、传送与跳跃移动系统。
该技能材料主要是用于本地测试的操作说明,未声明任何密钥或远程业务端点,整体风险偏低。需要注意的是其要求执行 npm/npx 命令、安装依赖并启动本地开发服务器,因此更适合作为需留意的本地开发类技能看待。
材料明确写明“需要的密钥/环境变量:(无)”,README 中也未要求 API key、token 或账号凭证;从已给信息看不存在直接的凭证收集或泄露面。
未声明任何远程业务端点,未见将用户数据发送到特定第三方服务的描述;但说明中包含 `npm run fresh:install`、`npx iwsdk`、启动 dev server、browser/xr 操作,这类流程通常会产生常规网络访问(如拉取依赖或本地开发联通),应留意实际出站目标。
README 明确要求执行多条本机命令,包括 `npm run fresh:install`、`npm run dev`、`npx iwsdk ...` 以及后台启动进程和 `sleep`;这意味着存在本地代码执行与进程启动能力,但这与其声明的测试/开发用途一致,未见额外越权迹象。
操作被限定在 `$IWSDK_REPO_ROOT/examples/locomotion` 工作区内,预期会读取示例工程、安装依赖、生成构建产物、读取浏览器日志和查询示例运行状态;材料未显示其需要访问超出该工作区的敏感文件,但依赖安装和开发工具通常具备对工作区读写能力。
正面因素是来源为 GitHub 开源仓库,源码原则上可审计;但许可证未声明、社区采用度为 0 star、维护状态未知,且文档要求通过 npm/npx 安装与执行依赖,存在常规供应链不确定性。因此更适合评为需留意而非高风险。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "test-locomotion" 技能: 1. 下载 https://raw.githubusercontent.com/facebook/immersive-web-sdk/main/.claude/skills/test-locomotion/SKILL.md 2. 保存为 ~/.claude/skills/test-locomotion/SKILL.md 3. 装好后重载技能,告诉我可以用了
请使用 test-locomotion 技能,通过 iwsdk CLI 将当前项目的移动系统与 locomotion example 对比测试,重点检查 slide、snap turn、teleport、jump 是否按预期工作,并汇总异常项。
一份测试结果摘要,说明各移动功能是否通过,并列出发现的异常或差异。
我刚修改了角色移动逻辑。请运行 test-locomotion,对照 locomotion example 做一次回归测试,并指出哪些行为与示例不一致。
一份回归测试报告,突出修改后受影响的移动行为和与示例不一致的部分。
请用 test-locomotion 检查为什么 teleport 模式测试失败,基于与 locomotion example 的对比,给出可能原因和排查建议。
包含失败模式、可能原因及后续排查建议的诊断结果。
Run 6 test suites covering slide movement, snap turn, teleport, jump, system registration, and stability.
Configuration:
$IWSDK_REPO_ROOT/examples/locomotionTool calls: every tool call is npx iwsdk <subcommand> [--input-json '<JSON>'] [--timeout <ms>], run from inside the example workspace (cwd $EXAMPLE_DIR). The CLI auto-discovers the IWSDK app root from cwd, so no path tricks are required. Run npx iwsdk mcp inspect from the example to discover available tools and their CLI subcommands.
<JSON> is a JSON object string. Omit --input-json if no arguments are needed.{ok, workspaceRoot, operation, result}. Parse it to check assertions.--timeout 20000 for operations that may take longer (reload, xr enter, screenshot).IMPORTANT: Run each Bash command one at a time. Parse the JSON output and verify assertions before moving to the next command. Do NOT chain multiple CLI commands together.
IMPORTANT: When the instructions say "wait N seconds", use sleep N as a separate Bash command.
cd $IWSDK_REPO_ROOT/examples/locomotion && npm run fresh:install
Wait for this to complete before proceeding.
Start the dev server as a background task using the Bash tool's run_in_background: true parameter:
cd $IWSDK_REPO_ROOT/examples/locomotion && npm run dev
IMPORTANT: This command MUST be run with run_in_background: true on the Bash tool — do NOT append & to the command itself.
Once the background task is launched, poll the output for Vite's ready message (up to 60s). You can also run npx iwsdk dev status from the example directory until state.running becomes true. You do not need to extract or manage the port yourself; subsequent commands resolve the active runtime through the CLI automatically.
If the server fails to start within 60 seconds, report FAIL for all suites and skip to Step 5.
npx iwsdk ecs systems 2>/dev/null
This must return JSON with a list of systems. If it fails:
Run these commands in order:
npx iwsdk browser reload --timeout 20000 2>/dev/null
Then: sleep 3
npx iwsdk xr enter --timeout 20000 2>/dev/null
Then: sleep 2
npx iwsdk browser logs --input-json '{"count":20,"level":["error","warn"]}' 2>/dev/null
Assert: No error-level logs.
npx iwsdk ecs find --input-json '{"withComponents":["LocomotionEnvironment"]}' 2>/dev/null
Assert: At least 1 entity. Save as <env>.
npx iwsdk ecs query --input-json '{"entityIndex":<env>,"components":["LocomotionEnvironment"]}' 2>/dev/null
Assert: _initialized = true, _envHandle > 0.
npx iwsdk ecs systems 2>/dev/null
Assert:
| Action | Controller | Input | Tool |
|---|---|---|---|
| Slide forward | Left | Thumbstick Y = -1 | npx iwsdk xr set-gamepad-state axes [{0, 0}, {1, -1}] |
| Slide backward | Left | Thumbstick Y = 1 | npx iwsdk xr set-gamepad-state axes [{0, 0}, {1, 1}] |
| Snap turn right | Right | Thumbstick X = 1 (edge) | npx iwsdk xr set-gamepad-state axes [{0, 1}, {1, 0}] |
| Snap turn left | Right | Thumbstick X = -1 (edge) | npx iwsdk xr set-gamepad-state axes [{0, -1}, {1, 0}] |
…
帮助规划 IWSDK 新功能、系统架构与代码模式,并提供最佳实践建议。
帮助开发者用 iwsdk CLI 测试 XR 交互与面板音频行为是否正常。
用于逐帧调试 WebXR 场景中的物理、动画与实时交互行为。
指导你在 IWSDK 项目中实现深度感知遮挡并排查显示异常问题
使用 iwsdk CLI 测试 Havok 物理系统的重力与刚体行为表现
在 XR 场景中定位并点击目标对象,用于验证按钮与交互元素是否正常工作
使用 iwsdk CLI 测试抓取系统的多种交互抓取模式
使用 iwsdk CLI 对关卡层级、标签与默认灯光配置进行测试验证。
通过 iwsdk CLI 验证 ECS 核心功能与示例运行状态,辅助快速测试排障。
使用 iwsdk CLI 针对 poke 示例测试 UI 系统行为与兼容性。
使用 iwsdk CLI 针对 poke 示例验证环境系统与组件配置是否正常
使用 iwsdk CLI 测试音频示例的加载、播放状态、停止与空间音频功能。