使用 iwsdk CLI 测试 Havok 物理系统的重力与刚体行为表现
该技能材料显示其主要是用于测试物理示例的提示/操作说明,且系统已标注为 prompt-only、无密钥、无远程端点,整体风险较低。需注意文档中包含本地命令执行与依赖安装指引,但这更像测试流程说明;在未实际授予执行能力前,未见明确高风险红旗。
材料明确写明无需密钥或环境变量,未见要求提供账号、token 或其他敏感凭证,因此凭证泄露与滥用面较低。
系统检查项显示无远程端点;文档描述主要围绕本地示例目录与本地开发服务交互,未声明向第三方主机发送用户数据。
README 明确指引运行 npm、npx、sleep 等本地命令,并启动开发服务器与测试命令;本机进程启动/命令执行属于此类技能的常规能力,应留意执行环境与命令来源,但仅凭这一点不足以上升为高风险。
文档要求在本地示例工作区内运行,并可能读取项目目录、日志和测试结果;这意味着对本地工作区数据有常规访问需求,但材料未显示超出声明用途的过度授权。
正面因素是其声明开源且来源为 GitHub,可一定程度审计;但仓库 star 为 0、许可证未声明、维护状态未知,且 README 提到通过 npm/npx 安装或调用依赖,供应链透明度与持续维护信号偏弱,建议谨慎验证仓库与依赖完整性。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "test-physics" 技能: 1. 下载 https://raw.githubusercontent.com/facebook/immersive-web-sdk/main/.claude/skills/test-physics/SKILL.md 2. 保存为 ~/.claude/skills/test-physics/SKILL.md 3. 装好后重载技能,告诉我可以用了
请用 iwsdk CLI 运行 physics example,测试 Havok 物理系统中的重力效果,并说明物体下落是否符合预期。
返回重力测试结果,说明物体是否正常下落及是否存在异常。
请使用 iwsdk CLI 对 physics example 进行测试,比较 Havok 中静态刚体和动态刚体的行为差异,并总结碰撞表现。
输出静态与动态刚体的行为对比,以及碰撞响应是否符合预期。
请运行 physics example 的 Havok 测试,检查重力、刚体和碰撞设置是否有异常,并列出可能的问题点。
给出测试诊断结果,指出异常现象、潜在原因和后续排查方向。
Run 5 test suites covering gravity, static body verification, PhysicsBody state, system/component registration, and stability.
Configuration:
$IWSDK_REPO_ROOT/examples/physicsTool 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/physics && 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/physics && 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.
Find all physics bodies:
npx iwsdk ecs find --input-json '{"withComponents":["PhysicsBody"]}' 2>/dev/null
Assert: At least 1 entity.
For each entity found, query to identify dynamic vs static:
npx iwsdk ecs query --input-json '{"entityIndex":<N>,"components":["PhysicsBody"]}' 2>/dev/null
Check state field: "DYNAMIC" or "STATIC".
Save the dynamic entity as <sphere> and any static entity as <floor>.
Verify PhysicsSystem:
npx iwsdk ecs systems 2>/dev/null
Assert: PhysicsSystem at priority -2, physicsEntities count >= 1.
Test 1.1: Verify Dynamic Entity Exists
npx iwsdk ecs query --input-json '{"entityIndex":<sphere>,"components":["PhysicsBody","Transform"]}' 2>/dev/null
Assert:
state: "DYNAMIC"_engineBody: > 0 (Havok body created)gravityFactor: 1Note: By the time you query, the sphere may have already fallen and come to rest.
Test 1.2: Deterministic Gravity Test
Reset the sphere position, then use pause/step to observe fall:
npx iwsdk ecs pause 2>/dev/null
…
帮助规划 IWSDK 新功能、系统架构与代码模式,并提供最佳实践建议。
帮助开发者用 iwsdk CLI 测试 XR 交互与面板音频行为是否正常。
用于逐帧调试 WebXR 场景中的物理、动画与实时交互行为。
指导你在 IWSDK 项目中实现深度感知遮挡并排查显示异常问题
在 WebXR 场景中模拟抓取物体,便于交互测试与搬运操作验证。
在 XR 场景中定位并点击目标对象,用于验证按钮与交互元素是否正常工作
使用 iwsdk CLI 对比示例场景,测试滑动、瞬转、传送与跳跃移动系统。
使用 iwsdk CLI 对关卡层级、标签与默认灯光配置进行测试验证。
指导在 IWSDK 项目中实现物理模拟、交互物体与碰撞调试。
使用 iwsdk CLI 测试音频示例的加载、播放状态、停止与空间音频功能。
使用 iwsdk CLI 针对 poke 示例测试 UI 系统行为与兼容性。
使用 iwsdk CLI 测试抓取系统的多种交互抓取模式