验证与证据边界
自动化矩阵
| 层 | v6 / v7 证据 |
|---|---|
| Web | TypeScript、clearance、Vitest、Vite 构建通过;v7 为 18 文件 / 141 测试 |
| 纯 C++ | 11 组经济黄金快照、手势、存档、电源、IMU、音频/OLED policy |
| 渲染 | 8 场景 × 30 帧增量等同全量;FX/reduced/粒子/反馈合同 |
| 视觉 | v6 initial/endgame × 三页,114,546 测试像素/页,100% 调色板一致 |
| 构建 | ESP-IDF 正式 app、分区余量、资产哈希 |
| 实板启动 | ESP32-S3、16 MiB Flash、8 MiB PSRAM、CO5300、CST9217、QMI8658、RTC、NVS |
| 稳定性 | 无 WDT、Guru Meditation、assert、brownout、coredump 或持续内存下降 |
固件产物
v6 正式固件大小 1,342,416 bytes,应用分区约 84% 空闲;v7 当前固件 1,536,336 bytes,约 82% 空闲,SHA-256 ec2229…00e6c。资产包 v7 为 710,740 bytes,SHA-256 9fbefa…aa93。
性能
- v6 最终:29.61–29.83 FPS。
- v7 普通验收:29.20–29.33 FPS。
- v7 当前复杂存档:26.17–26.70 FPS。
- reduced:14.89–14.96 FPS。
- ambient:2.00 FPS。
性能数字都与具体场景绑定,不用一次空白页面的峰值冒充所有进度状态。
人工证据与自动证据
自动化能证明:控制器握手、IRQ、坐标、公式、像素输出、序列时序、存档读回、IMU 方向数值和 PCM 软件链。
自动化不能完全证明:
- AMOLED 玻璃遮挡、色度与真实亮度观感;
- 长按三个阈值是否“手感舒服”;
- 外缘与内环在手指摩擦下是否易用;
- 外接扬声器的声压、失真与音量偏好;
- HIGH 倾斜的主观视差是否过强。
项目记录没有把“串口没有报错”写成“人眼与人手已经满意”。操作者确认过游戏完整运行和声音恢复;其余未逐项口述的项目仍保持人工边界。
可复验命令
bash
npm run check
bash firmware/tools/run_host_tests.sh
bash firmware/tools/render_host_snapshots.sh
idf.py -C firmware/pocket-star build
./firmware/tools/verify_device.sh /dev/cu.usbmodem1101 16最后一条会构建、烧录、校验、复位并检查实板标记;需要正确端口和已连接目标板。
