用途:在 Immersive Web SDK 的 poke 示例中,对已编写的环境系统(DomeGradient、IBLGradient 及组件 schema)执行端到端验证。
主要能力:覆盖 6 个测试套件——已编写环境验证、系统注册、组件注册、场景层级、ECS 数据修改、稳定性。所有工具调用通过 npx @iwsdk/cli <subcommand> [--input-json '<JSON>'] [--timeout <ms>] 在示例工作区(cwd 为 $IWSDK_REPO_ROOT/examples/poke)执行,CLI 会从 cwd 自动发现 IWSDK 应用根目录。输出为 stdout 上的 JSON:{ok, workspaceRoot, operation, result}。
使用方式:先安装依赖(npm run fresh:install),再以后台任务启动开发服务器(npm run dev),轮询 Vite 就绪信息或用 npx @iwsdk/cli dev status 确认 state.running。随后用 npx @iwsdk/cli ecs systems 验证连通性,再按顺序执行各套件:用 ecs find 动态查找 LevelRoot,用 ecs query 校验组件字段,用 ecs systems、ecs components 检查注册,用 scene runtime-hierarchy 检查层级,用 ecs set-component 修改数据,最后用 browser logs 检查错误与警告。每条 Bash 命令单独执行,解析 JSON 并断言后再继续,不要串联命令。
限制:通过 ecs set-component 修改渐变颜色只更新 ECS 数据,不会更新 Three.js shader uniform,测试仅限数据验证;_needsUpdate 会被 EnvironmentSystem 立即消费并重置为 false;环境组件需由场景显式编写,LevelSystem 不会自动合成;实体索引在重载后会变化,不可缓存;布尔字段必须传 JSON 布尔值(true),传字符串会静默失败。若出现非源码缺陷的瞬时错误,可重启开发服务器并重试一次,同一套件失败两次则标记 FAIL。