完善 xyzbc-trt OPFS 与 AXIS 首屏等效
This commit is contained in:
@@ -10852,3 +10852,30 @@ nginx: configuration file /etc/nginx/nginx.conf test is successful
|
||||
17. 执行 `git status --short`,确认提交推送后仅剩未跟踪生成目录 `app/dist/` 和 `tools/__pycache__/`。
|
||||
18. 执行 `git log -1 --oneline` 和 `git ls-remote origin refs/heads/master`,确认本地最新提交和远端 `master` 均为 `8fd9952`。
|
||||
19. 本轮结论:T-034 tool-offset 闭环相关源码、测试、证据和工作文档已提交并推送到云仓库;构建产物和 Python 缓存未提交。
|
||||
|
||||
## 2026-07-02 执行日志:xyzbc-trt Web OPFS 与 AXIS 首屏等效
|
||||
|
||||
本轮接续 `/home/mes123456/cnc_wams/web-rtcp-5axis-xyzbc-trt-sim-plan/working` 开发,用户明确要求“Web 的文件使用 OPFS 系统”。执行过程如下:
|
||||
|
||||
1. 读取并确认当前项目状态:`working/03-推进台账.md`、`working/04-任务矩阵.md`、`app/src/runtime/linuxcnc-machine-file-staging.js`、`app/src/runtime/five-axis-session.js`、`app/src/state/store.js`、`tests/browser/xyzbc_trt_browser_smoke.html` 等文件。
|
||||
2. 发现现有浏览器环境具备 OPFS 时会使用 `navigator.storage.getDirectory()`,但仍允许 memory fallback;Node evidence 与 Node smoke 显式使用 `createMemorySessionStorage()`,不能代表真实浏览器 OPFS。
|
||||
3. 修改 `app/src/runtime/linuxcnc-machine-file-staging.js`,为 machine file staging 增加 `requireOpfs` 选项:当要求 OPFS 而浏览器 OPFS 不可用时直接报错,不再静默回退到 memory。
|
||||
4. 修改 `app/src/runtime/five-axis-session.js`,为 session snapshot 保存/恢复增加 `requireOpfs` 选项。
|
||||
5. 修改 `app/src/runtime/tool-db-simulation.js`,为 tool table 保存增加 `requireOpfs` 选项。
|
||||
6. 修改 `app/src/state/store.js`,增加 `withDefaultWebOpfsRequirement()`:浏览器 UI 默认要求 OPFS;显式传入 storage 或 Node 环境保持原测试能力。
|
||||
7. 修改 `app/src/main.js`,默认启动的 machine file seed 调用 `store.stageMachineFiles({ requireOpfs: true })`。
|
||||
8. 扩展 `tests/browser/xyzbc_trt_browser_smoke.html`:断言 machine file seed 和 store staging 的 `storageMode=opfs`,并从 OPFS 读回 `xyzbc_switchkins.ngc`,确认包含 `M428/M429`;调用 `api.saveSession()` 并从 OPFS 读回 session JSON,确认 `machineProfile=xyzbc-trt`;调用 `api.saveToolDb()` 并从 OPFS 读回 tool table,确认包含 `T2` 和 `Z10`。
|
||||
9. 同步完成 T-026 AXIS 首屏等效:修改 `app/src/ui/gmoccapy-shell.js` 和 `app/src/styles/gmoccapy.css`,增加首屏状态带和 `data-axis-ui-*` 验收标记,覆盖程序、坐标、状态、MDI、switchkins、override、tool、preview、execution、axis-buttons。
|
||||
10. 修改 `tools/collect-web-xyzbc-trt-evidence.mjs`,新增 `axisMainUi` evidence 与 `coverage.axisMainUiEquivalent`。说明:该 Node evidence 仍为内存采集,真实浏览器 OPFS 由 browser smoke 验证。
|
||||
11. 修改 `tools/compare-xyzbc-trt-evidence.mjs`,新增 AXIS 首屏等效检查。
|
||||
12. 运行验证:`npm --prefix app run smoke:node` 通过,输出 `xyzbc_trt_web_app_smoke=ok`。
|
||||
13. 运行验证:`npm --prefix app run build` 通过,输出 `gmoccapy_static_build=ok`。
|
||||
14. 运行验证:`npm --prefix app run smoke:browser` 通过,输出 `xyzbc_trt_browser_smoke=ok`;此验证包含真实浏览器 OPFS 写入和读回。
|
||||
15. 运行验证:`npm --prefix app run evidence:web` 通过,生成 `working/evidence/web-xyzbc-trt-evidence.json`。
|
||||
16. 运行验证:`npm --prefix app run evidence:compare` 生成真实失败报告,输出 `compare_xyzbc_trt_status=fail fail_count=5`;当前为 20/25 通过,剩余 5 项仍来自 native preview/execution path 样本缺失。
|
||||
17. 更新 `working/03-推进台账.md`,记录本轮 OPFS 强制与 AXIS 首屏等效实现。
|
||||
18. 更新 `working/04-任务矩阵.md`:T-006/T-014/T-016 增加真实 OPFS 验收描述;T-017 更新为 20/25;T-026 标记完成。
|
||||
19. 更新 `working/05-验收证据.md`,新增“Web OPFS 与 AXIS 首屏等效验收”章节。
|
||||
20. 保留既有未跟踪输出 `app/dist/` 和 `tools/__pycache__/`,未清理或回退用户/构建产物。
|
||||
|
||||
本轮结论:目标 Web app 的浏览器文件链路已经默认强制使用 OPFS,browser smoke 已证明 machine files、session snapshot、tool table 均写入 OPFS 并可读回。Node evidence 仍使用内存存储,仅作为非浏览器数据采集,不作为真实 Web 文件系统证明。
|
||||
|
||||
Reference in New Issue
Block a user