推进 INI 面板 control page entry

This commit is contained in:
2026-06-14 23:02:50 +08:00
parent 27d2316f78
commit 2844fd25c3
6 changed files with 408 additions and 0 deletions

View File

@@ -1143,3 +1143,63 @@ host_wasm_opfs_browser_smokes=ok
小型控制页入口或 example page只读取 `linuxCncIniPanelApi`,展示当前 machine/session/run
状态,不新增控制按钮,不解析 G-code。若要优先 SDK/API surface也可以先把当前
state bundle/control view renderer 的导出面整理进一个明确的 UI module 文档入口。
十三、2026-06-14 继续执行记录INI panel control page entry
本轮按“加快实质性推进”继续把只读 control view 从 renderer 推到可直接打开的页面入口,
新增一个独立的控制页 example并把 browser smoke 扩展为双入口验证。
完成内容:
- 新增 `wasm-port/runtime/ui/ini-panel/control-page.html`
- 新增 `wasm-port/runtime/ui/ini-panel/control-page.js`
- control page 通过隐藏 iframe 载入真实 `runtime/ui/ini-panel/index.html`,只读读取
`window.linuxCncIniPanelApi.getMachineSessionControlView()`
- control page 把当前 status 与 sections 镜像到可见页面;
- 继续沿用现有 `renderMachineSessionControlView(container, view)`,没有新增控制按钮;
- 新增 `wasm-port/tests/browser/ini_panel_control_page_smoke.html`,覆盖 control page 入口、
iframe 内面板 API、渲染轮询和 DOM 输出;
- `wasm-port/tests/browser/verify_ini_panel_browser.sh` 现同时验证:
- `browser_ini_opfs_smoke=ok`
- `browser_ini_control_page_smoke=ok`
- `wasm-port/docs/ui-panel-state-summary.md` 增加 control page 入口说明;
- 未解析 G-code
- 未解释 canonical events
- 未改变 OPFS/session persistence、LinuxCNC interpreter、tool、parameter、planner 或
LinuxCNC-owned runtime semantics。
验证已通过:
```bash
git diff --check
wasm-port/tests/browser/verify_ini_panel_browser.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
wasm-port/tests/host/verify_host_smokes.sh
```
关键输出:
```text
browser_ini_opfs_smoke=ok
browser_ini_control_page_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
```
下一步建议:
继续把这个控制页入口向“可复用上层入口”推进。下一批建议把
`control-page.html/js` 的页面消费逻辑抽成更小的页面 controller helper或者直接加一个
只读导航入口页,把 `index.html` 与 `control-page.html` 作为并列入口统一暴露;仍保持
只读,不新增控制按钮,不解析 G-code。