推进 INI 面板会话快照工作流
This commit is contained in:
68
text10.txt
68
text10.txt
@@ -478,3 +478,71 @@ host_wasm_opfs_browser_smokes=ok
|
||||
workflow:保存当前 INI、parameter/tool-table path 和可选 G-code snapshot,再通过
|
||||
`loadMachineSessionSnapshot(...)` 恢复出待加载文件清单。范围仍限定 OPFS/filesystem/UI
|
||||
workflow,不解析或重写任何 LinuxCNC-owned CNC 语义。
|
||||
|
||||
五、2026-06-14 继续执行记录:INI panel session snapshot workflow
|
||||
|
||||
本轮继续按“加快实质性推进铁律”推进可直接使用的 browser/UI workflow,把 machine
|
||||
session snapshot save/load helper 接入 INI panel 的最小会话保存/恢复流程。
|
||||
|
||||
完成内容:
|
||||
|
||||
- 在 `wasm-port/runtime/ui/ini-panel/app.js` 引入
|
||||
`saveMachineSessionSnapshot(...)` 与 `loadMachineSessionSnapshot(...)`;
|
||||
- 新增固定 UI session snapshot id 与 filename:
|
||||
`ui-machine-session/ui-machine-session.json`;
|
||||
- 新增 `Save Session Snapshot` 控件:
|
||||
- 保存当前编辑器 INI 到 OPFS machine files;
|
||||
- 保存默认 parameter/tool-table text;
|
||||
- 保存默认 G-code program;
|
||||
- 生成并保存 machine session snapshot;
|
||||
- 回填 INI、parameter、tool-table、G-code 和 snapshot path 字段;
|
||||
- 新增 `Restore Session Snapshot` 控件:
|
||||
- 通过 `loadMachineSessionSnapshot(...)` 读取并校验 snapshot;
|
||||
- 从 OPFS machine files 恢复 INI 到编辑器;
|
||||
- 回填 snapshot 中的待加载文件清单;
|
||||
- 在 `wasm-port/runtime/ui/ini-panel/index.html` 增加两个按钮和
|
||||
`Session Snapshot` 状态字段;
|
||||
- 在 browser INI panel smoke 中覆盖保存 snapshot、恢复 snapshot、字段回填和 INI
|
||||
文本恢复;
|
||||
- 未改变 LinuxCNC INI parser、interpreter、parameter restore/save、tool-table load/save
|
||||
或 G-code 执行语义;
|
||||
- 未改变 OPFS path model、generic snapshot envelope、file-service、machine-session
|
||||
bridge 或 LinuxCNC-owned runtime semantics。
|
||||
|
||||
验证已通过:
|
||||
|
||||
```bash
|
||||
git diff --check
|
||||
SKIP_INI_BUILD=1 SKIP_INTERP_BUILD=1 wasm-port/tests/browser/verify_ini_panel_browser.sh
|
||||
wasm-port/tests/opfs/node/verify_file_service.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
|
||||
browser_ini_opfs_smoke=ok
|
||||
opfs_file_service_node_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
|
||||
browser_interp_smoke=ok
|
||||
host_wasm_opfs_browser_smokes=ok
|
||||
```
|
||||
|
||||
下一步建议:
|
||||
|
||||
继续推进 browser/UI workflow 的实质能力。优先把 `Restore Session Snapshot` 后的文件清单
|
||||
与现有 `Load Machine Session` 串联成单个可执行入口,例如新增
|
||||
`Restore And Load Session`:先校验 snapshot,再把 OPFS INI/parameter/tool-table 加载到
|
||||
interpreter WASM FS,并保持 G-code path 可运行。范围仍限定 OPFS/session/UI 编排,不
|
||||
解析或改写任何 CNC 语义。
|
||||
|
||||
Reference in New Issue
Block a user