帮助你创建、修改、调试并预览 IWSDK 应用中的 PanelUI 界面组件。
该技能被标注为 prompt-only 且无密钥、无声明远程端点,整体风险较低。其说明主要是指导代理在本地项目中查找、编辑和验证 UI 文件,但来源仓库社区采用度低、维护状态未知,供应链侧需留意。
材料明确标注无需密钥或环境变量,未见要求输入 API token、账号凭证或其他敏感认证信息,因此凭证泄露与滥用面较小。
材料声明无远程端点,README 也主要描述本地 UI 文件编辑、ECS 查询与截图验证流程,未见把用户数据外发到第三方服务的事实依据。
系统检查项已标注为 prompt-only;从材料看它提供的是操作流程说明,而非自带可执行二进制、安装脚本或额外系统权限请求。虽然描述中涉及修改代码与调试步骤,但未见超出普通技能提示范畴的执行红旗。
说明涉及定位 panel 实体、读取组件配置、编辑 `ui/` 下的 `.uikitml` 文件以及查看编译后的 `public/ui/*.json`,访问范围与其声明的 UI 面板开发用途一致,未见索取无关敏感数据或过度授权迹象。
正面因素是 GitHub 开源、源码可审计;但仓库 star 为 0、维护状态未知、许可证未声明,可信度与持续维护证据偏弱。当前更适合评为需留意,而非高风险。
复制安装指令,让 AI 自动完成配置 · 推荐新手
请帮我安装 askskill 上的 "iwsdk-ui" 技能: 1. 下载 https://raw.githubusercontent.com/facebook/immersive-web-sdk/main/packages/starter-assets/claude-injections/skills/iwsdk-ui/SKILL.md 2. 保存为 ~/.claude/skills/iwsdk-ui/SKILL.md 3. 装好后重载技能,告诉我可以用了
请为我的 IWSDK 应用创建一个设置面板,使用 UIKITML 实现,包含标题、音量滑块、语言下拉框和保存按钮,并给出清晰的组件结构。
生成可用于 IWSDK 的 PanelUI 结构与 UIKITML 示例,包含主要组件和布局说明。
请优化这个 IWSDK PanelUI:将按钮改为两列布局,增加顶部间距,统一字体大小,并保持移动端全屏预览效果良好。
返回调整后的布局建议、UIKITML 修改方案,以及适配全屏预览的说明。
我的 IWSDK 面板在 ScreenSpace 全屏预览时文字重叠、按钮超出边界。请帮我定位可能原因并提供可执行的修复方案。
给出问题原因分析、需要检查的样式或结构项,以及具体修复建议。
Efficiently develop and iterate on IWSDK PanelUI panels using ScreenSpace for full-screen 2D preview. The workflow has a required core (setup for iteration) and optional extensions (the actual UI work, driven by user intent).
User request is in $ARGUMENTS.
Find the panel entity and its UIKITML source file.
PanelUI component. Use ecs_find_entities with withComponents: ["PanelUI"] to find them.PanelUI component's config field with ecs_query_entity to find the JSON path (e.g., ./ui/welcome.json).ui/ with the same name but .uikitml extension (e.g., ui/welcome.uikitml).The ScreenSpace component positions a panel in front of the camera so it appears as a 2D UI — ideal for fast iteration.
If the entity already has ScreenSpace: Note the current settings so they can be restored later.
ecs_query_entity(entityIndex, components: ["ScreenSpace"]) → save the values
If the entity does not have ScreenSpace: You will need to add it in code.
Either way, set ScreenSpace to fill the entire viewport in code:
.addComponent(ScreenSpace, {
top: "0px",
left: "0px",
width: "100vw",
height: "100vh",
});
Setting this in code (not via ecs_set_component) ensures it persists across hot reloads.
Take a browser_screenshot to confirm the panel fills the screen and is ready for iteration.
This is where the user's request drives the work. Edit the .uikitml file in ui/.
mcp__iwsdk-reference__search_code to query for supported UIKITML element types and CSS properties. Search for things like "uikitml interpret container text" or specific element types you need.#id and .class (via PanelDocument's querySelector).width: 50 = 50cm). World space uses meters. 100cm = 1m..uikitml file. Changes are auto-compiled by the vite plugin and hot-reloaded..json file in public/ui/ should never be modified directly, but can be read for quick debugging to inspect the compiled element tree, class definitions, and properties.After each edit to the .uikitml file:
browser_screenshot to visually verify the change.public/ui/<name>.json) to debug layout issues or inspect computed properties.Repeat the edit-screenshot cycle as needed.
When done with UI work, always restore the ScreenSpace component to its original state.
If it had ScreenSpace before: Restore the original values that were noted in Step 2.
// Restore original settings
.addComponent(ScreenSpace, {
top: "20px",
left: "20px",
height: "40%",
// ... whatever was noted
});
If it did not have ScreenSpace before: Remove the ScreenSpace component addition from code.
Take a final browser_screenshot to confirm the panel is back to its normal state.
.uikitml, never the compiled .json — the JSON is auto-generated and will be overwritten.getElementById(id) or querySelector(selector) on the PanelDocument to access UI elements programmatically in systems. Elements can be named with .name = "id" to make them discoverable in the scene hierarchy.…
帮助规划 IWSDK 新功能、系统架构与代码模式,并提供最佳实践建议。
用于测试 XR 会话生命周期与模式切换,排查进入退出及状态异常问题。
帮助开发者高效开发、调试并优化 IWSDK 的 PanelUI 界面面板。
使用 iwsdk CLI 测试抓取系统的多种交互抓取模式
帮助开发者用 iwsdk CLI 测试 XR 交互与面板音频行为是否正常。
在 XR 场景中定位并点击目标对象,用于验证按钮与交互元素是否正常工作
使用 iwsdk CLI 针对 poke 示例测试 UI 系统行为与兼容性。
用于逐帧调试 WebXR 场景中的物理、动画与实时交互行为。
指导你在 IWSDK 项目中实现深度感知遮挡并排查显示异常问题
使用 iwsdk CLI 针对 poke 示例验证环境系统与组件配置是否正常
帮助开发者在 Web 视频场景中快速接入 Zoom 预置 React 通话界面。
指导在 IWSDK 项目中实现物理模拟、交互物体与碰撞调试。