推进 INI 面板状态汇总 helper

This commit is contained in:
2026-06-14 20:59:50 +08:00
parent 405cc0b011
commit b85444b858
7 changed files with 232 additions and 0 deletions

View File

@@ -1596,6 +1596,77 @@ host_wasm_opfs_browser_smokes=ok
抽取为纯 helper 并接入 `verify_ui_node_smokes.sh`;保持 helper 只描述 host/runtime 边界,
不扩展 CNC 语义。
二十六、2026-06-14 继续执行记录INI panel state summary helper
本轮继续沿 OPFS/session/UI boundary 推进,把 INI panel 已观察到的 badge、machine、
machine file、session、run 和 five-axis remap 状态聚合为纯 helper方便浏览器测试或后续
UI 消费者读取机器可读状态,而不是解析临时 DOM 文本。
完成内容:
- 新增 `wasm-port/runtime/ui/ini-panel/panel-state-summary.js`
- 导出 `createIniPanelStateSummary(input)`
- helper 只打包已有 host/runtime boundary summary
- INI/interp/OPFS badge 文本;
- machine summary
- machine file summary
- session snapshot summary
- session load summary
- run summary
- five-axis remap 状态;
- 缺省 badge 和可选分组规范化为 `null`
- 新增 `wasm-port/docs/ui-panel-state-summary.md`,记录输入、输出和边界规则;
- 在 `wasm-port/docs/compatibility-validation.md` 的 UI helper docs 索引中加入该文档;
- 新增 `wasm-port/tests/ui/node/verify_ini_panel_state_summary.mjs` 和
`verify_ini_panel_state_summary.sh`
- `wasm-port/tests/ui/node/verify_ui_node_smokes.sh` 纳入 state summary helper
- 未改变 UI runtime、OPFS bridge、interpreter run API、G-code 文本、canonical-event 输出
或 LinuxCNC-owned runtime semantics。
验证已通过:
```bash
git diff --check
wasm-port/tests/ui/node/verify_ini_panel_state_summary.sh
wasm-port/tests/ui/node/verify_ui_node_smokes.sh
wasm-port/tools/verify_vendor_sync.sh
wasm-port/tools/verify_no_standalone_cnc_semantics.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_interp_wasm.sh
SKIP_INTERP_BUILD=1 wasm-port/tests/wasm/node/verify_sim_configs_inventory_wasm.sh
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_interp_browser.sh
wasm-port/tests/host/verify_host_smokes.sh
```
关键输出:
```text
ini_panel_state_summary_node_smoke=ok
ini_panel_run_summary_node_smoke=ok
ini_panel_session_summary_node_smoke=ok
ini_panel_machine_file_summary_node_smoke=ok
ui_node_smokes=ok
vendor sync up to date
standalone CNC semantics guard complete
interp_wasm_node_smoke=ok
sim_configs_wasm_node_inventory_executed=28
sim_configs_wasm_node_inventory_passed=28
sim_configs_wasm_node_inventory_skipped=131
sim_configs_wasm_node_inventory_unexpected_fail=0
browser_interp_smoke=ok
host_wasm_opfs_browser_smokes=ok
```
下一步建议:
回到本文件第一候选批次,继续小批量 browser test glue guard。优先扫描
`wasm-port/tests/browser/interp_smoke.html` 的 explicit session saved readback path groups
看是否能像 ini-named session 一样局部常量化
`loadedIniOverrideSession.parameters.opfsPath`、
`savedExplicitParameters.backupOpfsPath` 和
`loadedIniOverrideSession.toolTable.opfsPath`。只处理 browser/OPFS test glue不改变
参数值、tool-table 值、INI 内容、OPFS/WASM path 字符串、file-service、path-model、SDK
planner、interpreter、INI、tool、parameter 或 LinuxCNC-owned runtime semantics。
二十四、2026-06-14 继续执行记录INI panel machine file summary helper
本轮继续沿 OPFS/session/UI boundary 推进,把 INI panel 的 machine text file save/load