> 历史存档:关卡版 v1,已由连消畅玩版替换。当前规则见 [GDD](../GDD.md)。 # 验证记录 日期:2026-09-15。当前实现的验证范围如下;未将浏览器触摸模拟称为实体手机测试。 ## 自动检查 `npm run check` 全部通过: - 两套 TypeScript 检查通过,其中 `src/` 不含 DOM / Node 类型。 - **23 项测试**通过:规则、升降序、拒绝非法链、落点、最后一步成功、确定性重试、撤销、快速划线、取消、打乱、死局、失败、存档容错、十关触摸路线、帧率无关动画。 - **10 / 10 关**使用固定种子逐步回放通过;验证同时经过 `Gesture`,避免“规则上合法、实际划线无法选中”的假解。 - **1,225 个稳定盘面**通过边界与圆形重叠检查,含 **1,046 次随机合成**;最大数值穿透 **0.772 逻辑像素**(验收阈值 2px)。随机自由局自然结束;这批样本中最长连续局为 18 次合成。 - 所有挑战关的开局与补球数字都在 1–4,最终通过正常合成得到 8。 - 生产构建成功,JS 约 **33 KB**(未 gzip),不包含开发观察端口。 - 独立 `release/` 正式包在端口 8003 实际完成第一关触摸合成(1,200 分,余 2 步),确认无开发观察端口,并已清理测试成绩、恢复第一关开局。见 [production.json](../qa/production.json)。 详细关卡逐步数字、球 ID、分数、步数与压力检查统计见 [validation.json](../qa/validation.json)。搜索给出的是一条可行路线,非唯一解、非最优解证明。 ## 浏览器触摸验收 Ego Chromium,390 × 844 移动视口,使用 CDP `Input.dispatchTouchEvent` 产生浏览器输入: - 从 **第 1 关实际连续游玩到第 10 关**,没有直接修改分数、盘面或过关状态。 - 验证两颗松手不扣步、TOUCH_CANCEL 不提交、滑回上一颗撤回。 - 确认十关依次解锁、最终结果为 10 / 10、存档记录 30 / 30 星。 - 页面错误和未处理 Promise 拒绝记录为 **0**。 - 后续刷新验证成绩保留;实际点按钮验证撤销和重走完全一致、打乱不扣步且保留数字、撤销恢复打乱库存。 - 自由模式实际完成合成且步数保持无限;帮助面板可用 Escape 关闭。 - 抽取动画为跨平台模块后,再次通过浏览器验证合成、撤销、重走和打乱。 结果见 [browser.json](../qa/browser.json)、[layout.json](../qa/layout.json)。`tools/browser-*.mjs` 是本次验收脚本,使用 `GARDEN_SPACE` 指定当前已有的 Ego QA 空间、`GARDEN_QA_DIR` 指定输出目录;应使用独立测试存档,先跑通关脚本再跑布局脚本。 ## 尺寸检查 | 视口 | 结果 | |---|---| | 320 × 568 | 无横向溢出;页面高 650px,可纵向滚动触及底栏 | | 360 × 740 | 完整布局,主要按钮 ≥ 44px | | 390 × 844 | 完整布局,触摸通关主测试尺寸 | | 430 × 932 | 完整布局,主要按钮 ≥ 44px | | 844 × 390 | 横屏仍可操作,可纵向滚动 | | 1280 × 900 | 居中竖屏游戏面板与桌面背景 | 截图:[开局](../qa/mobile-initial.png) · [后段关卡](../qa/mobile-level8.png) · [帮助](../qa/mobile-help.png) · [选关](../qa/mobile-level-select.png) · [全通关](../qa/mobile-all-clear.png) · [桌面](../qa/desktop.png)。 ## Cocos 迁移检查 `npm run cocos:check` 通过: - 生成独立的 Creator 导入目录。 - 使用本机 **Cocos Creator 3.8.8 的真实 `cc.d.ts`** 检查核心、数据与适配组件,非手写模拟类型。 - 球槽坐标转换、Graphics、Label、触摸 API 均通过类型检查。 **仍需后续移植阶段完成**:Creator 场景实际运行、Cocos UI 面板搭建、原生 Android/iOS 与目标小游戏平台验收。当前不宣称这些工作已完成。 ## 难度判断的范围 难度梯度由教学目标、解的步数、容错余量、长链和多轮合成要求制定,已验证全部关卡可通关。尚未做多人试玩统计,平均通关耗时、提示使用率、玩家卡关分布需要后续试玩采样。