用于逐帧调试 WebXR 场景中的物理、动画与实时交互行为。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "iwsdk-debug" 技能: 1. 下载 https://raw.githubusercontent.com/facebook/immersive-web-sdk/main/packages/starter-assets/claude-injections/skills/iwsdk-debug/SKILL.md 2. 保存为 ~/.claude/skills/iwsdk-debug/SKILL.md 3. 装好后重载技能,告诉我可以用了
请帮我调试这个 WebXR 场景里的碰撞问题。使用 pause、step、snapshot 和 diff 逐帧检查两个物体接触前后的位置、速度、碰撞体状态,找出角色穿过墙体的原因,并给出修复建议。
逐帧碰撞分析、异常状态定位,以及防止穿模的修复建议。
请暂停并单步执行这个 WebXR 场景,分析角色从待机切换到抓取动作时的动画状态机变化。对比关键帧快照,找出动画混合、触发条件或 ECS 组件更新顺序的问题。
动画状态切换过程说明、问题发生帧,以及具体修复方向。
请对这个实时交互场景的游戏循环做逐帧调试,检查输入处理、物理更新和渲染同步是否一致。通过 snapshot diff 找出某一帧开始出现对象抖动或延迟响应的根因。
对游戏循环关键阶段的检查结果、异常起点帧和根因分析。
Real-time behavior (physics, animations, collisions, game loops) happens too fast for an agent to observe directly. By the time you take a screenshot, the action is over. This skill uses ECS time-control tools to freeze, step, and diff state frame by frame.
User request is in $ARGUMENTS.
Every debugging session follows this pattern:
ecs_pause — freeze ECS updates right before the interesting momentecs_snapshot({ "label": "before" }) — capture state before the actionecs_step(count, delta) — advance a few frames at fixed timestepbrowser_screenshot — visually verify what happenedecs_snapshot({ "label": "after" }) — capture state after steppingecs_diff({ "from": "before", "to": "after" }) — see exactly what changedecs_resume — return to normal execution when doneThe key insight: pause BEFORE triggering the action, not after. If you pause after, you've already missed the first frames.
| Tool | Purpose |
|---|---|
ecs_pause | Freeze all ECS system updates. Render loop continues — screenshots still work. |
ecs_step({"count":N,"delta":SECONDS}) | Advance N frames with fixed timestep (seconds). Must pause first. |
ecs_resume | Resume normal execution. First frame uses capped delta to avoid physics explosions. |
ecs_snapshot({"label":"..."}) | Capture full ECS state. Stores up to 2 snapshots. |
ecs_diff({"from":"...","to":"..."}) | Compare two snapshots. Shows added/removed entities and field-level value changes. |
ecs_toggle_system({"name":"...","paused":true}) | Pause/resume a single system. Use ecs_list_systems to discover names. |
browser_screenshot | Visual verification — works while paused since the render loop continues. |
delta is in seconds. Common values: 0.016 (60fps), 0.0139 (72fps/Quest refresh rate).Short domain-specific tips. Apply the core workflow above, plus these hints.
delta: 0.016 to catch initial acceleration.PhysicsBody._linearVelocity and PhysicsBody._angularVelocity to see motion direction and speed.Transform.position to track movement.PhysicsBody (Static) and PhysicsShape (TriMesh for complex geometry).ecs_query_entity to inspect PhysicsShape and PhysicsBody on both the falling object and the surface.PhysicsBody._linearVelocity shows the throw direction and speed.PhysicsBody with state: Dynamic.delta matching your target framerate.…
帮助规划 IWSDK 新功能、系统架构与代码模式,并提供最佳实践建议。
帮助开发者用 iwsdk CLI 测试 XR 交互与面板音频行为是否正常。
指导你在 IWSDK 项目中实现深度感知遮挡并排查显示异常问题
使用 iwsdk CLI 测试 Havok 物理系统的重力与刚体行为表现
在 WebXR 场景中模拟抓取物体,便于交互测试与搬运操作验证。
在 XR 场景中定位并点击目标对象,用于验证按钮与交互元素是否正常工作
指导在 IWSDK 项目中实现物理模拟、交互物体与碰撞调试。
通过 iwsdk CLI 验证 ECS 核心功能与示例运行状态,辅助快速测试排障。
帮助你创建、修改、调试并预览 IWSDK 应用中的 PanelUI 界面组件。
帮助开发者高效开发、调试并优化 IWSDK 的 PanelUI 界面面板。
使用 iwsdk CLI 对比示例场景,测试滑动、瞬转、传送与跳跃移动系统。
使用 iwsdk CLI 针对 poke 示例验证环境系统与组件配置是否正常