wandering1
|
13f784430d
|
docs(UI): 内容页黄金参考 40 → 47 页补齐剩余当前态(模拟器 README 与 lvgl-simulator skill)
上一笔 31ca4a1f 的「全仓同步」漏了几处当前态计数,按实测真值补齐:
simulator/tests/ref/shot_*.bin 实测 47 张、check_content_pages.py 的 PAGES 47 项。
· simulator/README.md 文件职责表「内容页 40 页」→ 47 页
· simulator/README.md 脚本表「③ 40 页无头截图」→ 47 页
· simulator/tests/README.md 文件表「40 页 × 3200 B」→ 47 页
· .dsh/skills/lvgl-simulator/SKILL.md 五步门禁「11 页黄金参考」→ 47 页
(同一计数的更早残留,一并改成真值)
不改:各文档变更记录里的「27 → 40」历史行,以及 UI_自动化测试流程里
「覆盖当时 40 页中的 37 页」的 2026-10-26 测量口径——当时就是那个数。
零源码改动,golden 参考本体未动。
|
2026-10-27 07:43:46 +08:00 |
|
wandering1
|
b24b2b5f31
|
docs(计数): 内容页黄金参考 27 → 40 全仓同源改写,含钩子显示名这最后一处不同码
CI / L0 静态门禁 (pre-commit) (push) Failing after 49s
CI / L0.5 主机侧单测 (MSVC) (push) Failing after 45s
UI 三页落地后机器真值变了,文档却还写着 27 页——这不是笔误,是会骗人的现在时。
作者(batch-auditor)先自己从机器面取数再动笔:git ls-files 里 ref/*.bin = 40、
PAGES 40 项、TEXTS 37 页 310 条、ABSENT 16 页 29 条、池 5448 B 与常驻堆 5368 B 未变、
字库 183 字未扩。**它还纠了我一个数**:我报 ABSENT +19,实测 11 → 29 = +18;作者按
实测写文档,并且不在文档里写 ABSENT 总数,免得把我这个差 1 的数固化成第二真源。
改写面(现在时陈述,共 12 + 3 处):AGENTS.md 的 ui-golden 半句、门禁说明 ui-golden.md
(标题与「拦不住什么」段)与索引行、simulator/tests/README.md、simulator/README.md 两处、
UI_自动化测试流程.md(310 条 / 40 页 / PASS 文案 / 覆盖面)、内容页架构.md、页面补齐规划.md、
主机单测覆盖率口径.md、自动化测试流程.md、测试开发标准流程.md,外加
.pre-commit-config.yaml 里 ui-golden 的显示名——那是「声明 / 文档 / 实跑」三数同源的最后
一处不同码:AGENTS 与门禁说明都已 40,配置里还写着 27。
两条纪律作者都自证了,不是口头:
· **历史数字一律保留**:8 处变更记录行里的 27 / 242 / 24 / 11 原样未改;两处带日期的
验证记录只加限定语(「该下限此后已扩至 40 页,双次逐字节一致需按同口径重跑回填」),
没有把 27 改成 40 去造连续性。
· **同名不同义的数字不许全局替换**:页面补齐规划.md:12 与 :157、页面扩充详细方案.md:649
里的「27」是**空叶子口径**,与黄金参考数无关——三处故意没动。这条比改对更值钱。
· 余量自证(回退名下 12 文件复跑同一扫描器):refs +0 / dec +0 / und +0 / 比值 +0.00pp /
错误 +0,本笔零消耗,也未新增任何编号引用;simulator/tests/ref/ 下 40 个 .bin 零改动。
闸线现状照实挂着:id-check 不可判定 1,162 / 上限 1,166,**余量只剩 4**(吃进者是今天
UI 那笔的注释引用,账在 Lead)。清账之前任何人新增编号都可能直接撞闸。
|
2026-10-27 00:16:07 +08:00 |
|
wandering1
|
a38f862fb9
|
chore(ui-golden): 像素黄金参考 ref/*.bin 入库(把门禁改成可移植)
问题:ui-golden 是逐字节比对(check_content_pages.py 里 data == refdata),
而基准 simulator/tests/ref/ 整目录被 .gitignore 忽略、从未入库。后果不是
"少几个文件",而是这条门禁在任何新克隆 / 新并行工作树里必然报「缺黄金
参考」——只在有老副本的机器上它才是真的回归门禁。本会话已两次实测踩到
(并行工作树里只能现场 --update 造基准,而现场造出来的基准恰好失去意义)。
入库前先证明基线可复现,否则等于把一条天天误报的门禁写进仓库:
- 主树 ref/ 生成于 2026-10-11,其间合入 B6~B9 与 UI 令牌化等多次改动;
今天用刚重建的 lvgl_sim 重跑 → 11 页 + 开页-关页往返池水位逐字节全过
- 主树与新工作树两份**独立构建**的 lvgl_sim(不同构建目录、不同绝对路径)
各自生成基准 → 11 个 .bin 的 SHA-256 全部一致
即渲染是 CPU 侧确定性输出,可以当仓库内容。
改动:
- .gitignore:整目录忽略 → 只忽略派生的目检 PNG。另加一条
!simulator/tests/ref/*.bin 反选——第 115 行的全仓 *.bin 兜底(挡
sim_netcfg.bin 之类运行产物)会把基线一起挡掉,且反选必须排在它之后
才生效
- 不引入 LFS:11 x 3200 B = 34.4 KB(160x160 单色打包)。走 LFS 反而新增
失效面——没拉 LFS 的克隆会拿 pointer 文本去比像素,把"缺基准"换成
"比不中"。.gitattributes 已有 *.bin binary,check-attr 确认 text unset,
不会被行尾转换改写
- 基线不会被改写型钩子毁掉:trailing-whitespace / end-of-file-fixer 声明
types: [text],位图含 NUL 被判二进制 → 实测 Skipped;索引 blob、磁盘、
主树参照三方哈希 11/11 一致
- 新增 11 个基线;同步 5 份文档与 3 处脚本口径:缺基准的提示从"首次/换机
请加 --update"改为"检出不完整 → git checkout -- simulator/tests/ref/ 取回,
不要用 --update 就地造基准"(旧提示正是自我实现型基准的来源)
- 顺带修掉 simulator/tests/README.md 两处与实现不符的描述:基准写成 PNG
(实为 .bin)、regen_ref_png.py 写成"重建黄金参考"(它只出目检图,基准
由 check_content_pages.py --update 刷)
- .pre-commit-config.yaml 只改注释(原文明确断言 ref/ "永远不会进 git
索引",已被本改动推翻);ui-golden 的 files 面覆盖 simulator/tests/,
基线被改即触发回归,刷参考从此在 git diff 里显形
历史口径按纪律冻结:UI_自动化测试流程 2026-09-10 的"整目录不入库"等 6 处
变更记录行不改写,以新行登记反转。
实测:@build 0 错 0 警(Code=213520,与内存台账一致);ui-golden Passed;
pre-commit run --all-files = 36 Passed / 0 Failed(RC=0)。
|
2026-10-22 06:17:00 +08:00 |
|
wandering1
|
39bd06adea
|
为自建代码目录补齐 README,建立目录级导航体系
- 新增 26 份目录 README:App/(+log,task,util,protocol)、Drivers/BSP/(+8子系统)、
Src/、Inc/、scripts/、tools/(+6子工具)、test/、MDK-ARM/、simulator/(+sim,tests)
- 每份含:定位、文件清单表、关键约束/陷阱、指向 docs 权威文档
- 第三方库与生成代码目录排除(CMSIS/HAL/Middlewares/Lib/SDL2)
- docs/文档规范.md 新增 §1.1b 代码目录 README 约定;根 README 目录结构加入说明
|
2026-09-26 12:25:36 +08:00 |
|