diff --git a/text12.txt b/text12.txt index a8263de..a7671e3 100644 --- a/text12.txt +++ b/text12.txt @@ -371,7 +371,71 @@ host_wasm_opfs_browser_smokes=ok `loadMachineSessionIntoWasmWorkflow()`,避免 restore+load 与单独 load 的 field/log 状态模型 分叉;仍保持由 LinuxCNC/OPFS bridge 执行实际语义,不在 JS 中解释 CNC 行为。 -三、2026-06-15 继续执行记录:INI panel run readiness workflow helper +三、2026-06-15 继续执行记录:INI panel restore-load workflow 复用 load-session helper + +本轮按“第一原则:加快实质性推进”继续推进 OPFS/session persistence 主链路,将 +`restore-load-session` 路径收敛到已存在的 `loadMachineSessionIntoWasmWorkflow()`,让单独 +load 与 restore+load 共享同一套 load summary、field state 和 log lines 模型。 + +完成内容: + +- `restoreMachineSessionSnapshotWorkflow()` 的 restore+load 分支改为调用 + `loadMachineSessionIntoWasmWorkflow({ loadSession })`; +- restore+load 返回的 `loadedSession`、`loadSummary` 和 INI/parameter/tool-table field state + 直接来自 load workflow; +- restore+load 日志纳入 load workflow 的统一首行: + `Loaded machine session into the interpreter WASM filesystem.`; +- 删除 `app.js` 中已不再使用的 `sessionSnapshotSummaryLogLines` import; +- `verify_ini_panel_session_workflow.mjs` 增加 restore+load 复用断言,确认 + `loadSummary` 与单独 load workflow 一致,且 `loadedSession` 保持 loader 返回对象; +- `ui-session-summary-helpers.md` 同步说明 restore-load 复用 load workflow; +- 未新增控制按钮; +- 未解析 G-code; +- 未解释 canonical events; +- 未改变 OPFS/session persistence、LinuxCNC interpreter、tool、parameter、planner 或 + LinuxCNC-owned runtime semantics。 + +验证已通过: + +```bash +git diff --check +wasm-port/tests/ui/node/verify_ini_panel_session_workflow.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_session_workflow_node_smoke=ok +ui_node_smokes=ok +browser_ini_opfs_smoke=ok +browser_ini_control_page_smoke=ok +browser_ini_launch_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 +``` + +下一步建议: + +继续推进 OPFS/session persistence 的实质链路。下一批建议抽出 `run-session` 首帧 readiness +或 run 前置状态 helper,把“已加载 session、已选择/恢复 snapshot、默认 G-code 路径、run +按钮可执行条件”统一成可复用状态模型;仍保持只描述 UI/host boundary facts,不在 JS 中解释 +G-code、canonical events 或 CNC 运行语义。 + +四、2026-06-15 继续执行记录:INI panel run readiness workflow helper 本轮按“第一原则:加快实质性推进”继续推进 run 前置状态模型,将 run 按钮可执行条件、 默认/快照 G-code 选择结果与已加载 session 的 WASM 绑定关系抽成可复用 readiness helper, @@ -451,67 +515,3 @@ host_wasm_opfs_browser_smokes=ok `restore-load-session` 的 field/log 路径再做一次轻量整合,优先把“已加载 session、快照恢复、 run readiness、run 结果”汇总成一个更上层的只读工作流状态对象;仍保持只描述 UI/host boundary facts,不在 JS 中解释 G-code、canonical events 或 CNC 运行语义。 - -三、2026-06-15 继续执行记录:INI panel restore-load workflow 复用 load-session helper - -本轮按“第一原则:加快实质性推进”继续推进 OPFS/session persistence 主链路,将 -`restore-load-session` 路径收敛到已存在的 `loadMachineSessionIntoWasmWorkflow()`,让单独 -load 与 restore+load 共享同一套 load summary、field state 和 log lines 模型。 - -完成内容: - -- `restoreMachineSessionSnapshotWorkflow()` 的 restore+load 分支改为调用 - `loadMachineSessionIntoWasmWorkflow({ loadSession })`; -- restore+load 返回的 `loadedSession`、`loadSummary` 和 INI/parameter/tool-table field state - 直接来自 load workflow; -- restore+load 日志纳入 load workflow 的统一首行: - `Loaded machine session into the interpreter WASM filesystem.`; -- 删除 `app.js` 中已不再使用的 `sessionSnapshotSummaryLogLines` import; -- `verify_ini_panel_session_workflow.mjs` 增加 restore+load 复用断言,确认 - `loadSummary` 与单独 load workflow 一致,且 `loadedSession` 保持 loader 返回对象; -- `ui-session-summary-helpers.md` 同步说明 restore-load 复用 load workflow; -- 未新增控制按钮; -- 未解析 G-code; -- 未解释 canonical events; -- 未改变 OPFS/session persistence、LinuxCNC interpreter、tool、parameter、planner 或 - LinuxCNC-owned runtime semantics。 - -验证已通过: - -```bash -git diff --check -wasm-port/tests/ui/node/verify_ini_panel_session_workflow.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_session_workflow_node_smoke=ok -ui_node_smokes=ok -browser_ini_opfs_smoke=ok -browser_ini_control_page_smoke=ok -browser_ini_launch_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 -``` - -下一步建议: - -继续推进 OPFS/session persistence 的实质链路。下一批建议抽出 `run-session` 首帧 readiness -或 run 前置状态 helper,把“已加载 session、已选择/恢复 snapshot、默认 G-code 路径、run -按钮可执行条件”统一成可复用状态模型;仍保持只描述 UI/host boundary facts,不在 JS 中解释 -G-code、canonical events 或 CNC 运行语义。