推进 INI 面板 workflow status helper
This commit is contained in:
68
text11.txt
68
text11.txt
@@ -828,3 +828,71 @@ host_wasm_opfs_browser_smokes=ok
|
||||
`getMachineSessionWorkflowStatus()`,把当前 last action、error、readiness、session/run
|
||||
摘要合并为控制网页界面可直接轮询的状态对象;仍不新增按钮、不解析 G-code、不把 CNC
|
||||
语义搬进 JS。
|
||||
|
||||
八、2026-06-14 继续执行记录:INI panel workflow status helper
|
||||
|
||||
本轮继续推进 `window.linuxCncIniPanelApi` 的只读面,补一个更适合控制网页界面轮询的
|
||||
workflow status helper,把现有 report 派生为更轻量的状态对象。
|
||||
|
||||
完成内容:
|
||||
|
||||
- `wasm-port/runtime/ui/ini-panel/panel-state-summary.js` 新增
|
||||
`createMachineSessionWorkflowStatus(state)`;
|
||||
- helper 只从 `createMachineSessionStateReport(state)` 派生,返回:
|
||||
- `readiness`;
|
||||
- `lastAction`;
|
||||
- `error`;
|
||||
- `session`;
|
||||
- `run`;
|
||||
- `wasm-port/runtime/ui/ini-panel/app.js` 在
|
||||
`window.linuxCncIniPanelApi`、`window.getMachineSessionWorkflowStatus()` 下暴露该 helper;
|
||||
- `wasm-port/tests/ui/node/verify_ini_panel_state_summary.mjs` 覆盖 workflow status 的字段;
|
||||
- `wasm-port/tests/browser/ini_panel_smoke.html` 通过真实 save、restore-load、run 流程验证
|
||||
workflow status,并确认其与 report / export / legacy getter 一致;
|
||||
- `wasm-port/docs/ui-panel-state-summary.md` 补充 workflow status helper 说明;
|
||||
- 未新增按钮;
|
||||
- 未解析 G-code;
|
||||
- 未改变 OPFS/session persistence、LinuxCNC interpreter、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
|
||||
browser_ini_opfs_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
|
||||
ini_panel_state_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
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步建议:
|
||||
|
||||
继续沿 `window.linuxCncIniPanelApi` 收敛控制面。下一批建议把当前散落的 report/export/
|
||||
status getter 再包成一个明确的 `getMachineSessionStateBundle()` 或 `getMachineSessionView()`
|
||||
只读入口,给控制网页界面一个单点轮询对象;仍保持只读,不加按钮,不扩大 CNC 语义边界。
|
||||
|
||||
Reference in New Issue
Block a user