推进 INI 面板 machine session state snapshot helper
This commit is contained in:
72
text11.txt
72
text11.txt
@@ -451,3 +451,75 @@ host_wasm_opfs_browser_smokes=ok
|
||||
更完整的 machine session state snapshot helper,供上层 UI/API 直接消费当前 machine、
|
||||
session、loaded WASM mapping、selected G-code、last run summary、panel badges 和 error
|
||||
state;该 helper 只聚合已有 host/runtime boundary facts,不解析 G-code 或扩展 CNC 语义。
|
||||
|
||||
三、2026-06-14 继续执行记录:INI panel machine session state snapshot helper
|
||||
|
||||
本轮继续按 `text11.txt` 第一原则推进实质性 UI/API 能力,把 save/restore/load/run workflow
|
||||
的结果汇总成一个 machine session state snapshot,供上层 UI/API 直接读取,而不是继续
|
||||
依赖分散的 DOM 字段、日志文本和临时全局值。
|
||||
|
||||
完成内容:
|
||||
|
||||
- 扩展 `wasm-port/runtime/ui/ini-panel/panel-state-summary.js`;
|
||||
- 新增导出 `createMachineSessionStateSnapshot(input)`;
|
||||
- state snapshot 汇总:
|
||||
- panel badges;
|
||||
- machine;
|
||||
- machineFiles;
|
||||
- sessionSnapshot;
|
||||
- sessionLoad;
|
||||
- selectedProgram;
|
||||
- run summary;
|
||||
- fields;
|
||||
- lastAction;
|
||||
- error;
|
||||
- fiveaxisRemap;
|
||||
- `wasm-port/runtime/ui/ini-panel/app.js` 在 save/restore/load/run/failure/boot 路径后更新
|
||||
`window.linuxCncIniPanelMachineSessionState`;
|
||||
- browser INI panel smoke 现在直接校验该 state snapshot 的关键字段;
|
||||
- `wasm-port/tests/ui/node/verify_ini_panel_state_summary.mjs` 覆盖新 state snapshot 形状;
|
||||
- `wasm-port/docs/ui-panel-state-summary.md` 更新 state snapshot API、window 暴露和边界说明;
|
||||
- 未改变 OPFS bridge、snapshot-store、machine-file-store、LinuxCNC interpreter、G-code 文本、
|
||||
canonical-event 语义、tool、parameter、planner 或 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
|
||||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.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
|
||||
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_run_workflow_node_smoke=ok
|
||||
ini_panel_session_summary_node_smoke=ok
|
||||
ini_panel_session_workflow_node_smoke=ok
|
||||
ini_panel_machine_file_summary_node_smoke=ok
|
||||
ui_node_smokes=ok
|
||||
browser_ini_opfs_smoke=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
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步建议:
|
||||
|
||||
继续按“实质性能力优先”推进。下一批优先把 `window.linuxCncIniPanelMachineSessionState`
|
||||
整理成更明确的 API/文档使用方式,或者在 `run-gcode`/restore/load/save 之外再补一层
|
||||
更高阶的 UI consumer helper,用于读取状态并生成上层展示/导出结果;只围绕已有
|
||||
host/runtime boundary facts 组合,不回到 path guard。
|
||||
|
||||
Reference in New Issue
Block a user